vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Erstellen von dynamischen Kontextmen?s - wann immer Sie sie brauchen!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB & Datenbanken
Datenbank ändern ausführen durch Formularstart 
Autor: vman
Datum: 15.02.05 15:17

Hi zusammen,

bei einem Projekt mit einer Access-Datenbank, welche mittels VBA bearbeitet wird, muß ich eine Datenbankoperation durchführen, wenn das Programm bzw. das Formular geöffnet wird und zwar ohne das Benutzer es merkt bzw. etwas tun muß.
Ich muß den Inhalt eines Feldes für alle Datensätze abändern; wie ich das per Klick-ereignis/CmdButton realisieren kann, weiß ich.
Gibt es nicht ein Ereignis Initialize oder so ähnlich; ich meine, daß es so etwas gibt, aber wenn ich es versuche, klappt es nicht.

Hier der Code:

Private Sub Formular_Click()
Dim dbsNorthwind As Database
Dim rstTabelle As Recordset
Dim rstHistorie As Recordset
 
Set dbsNorthwind = DBEngine.OpenDatabase(CurrentDb.Name) 'Macht Pfadeingabe 
' unnötig bzw. Änderung derselben bei Kopieren auf ein anderes Laufwerk
Set rstTabelle = dbsNorthwind.OpenRecordset("Datenquellen", dbOpenDynaset)
 
Dim a As String
Dim f As String
Dim h As String
 
Dim Pfad As String
 
Dim s_data_source_index As String
Dim s_data_source_type As String
Dim t_import_date As Date
Dim t_import_time As Date
Dim s_filename As String
Dim s_data_path As String
Dim b_import_process As Boolean
 
Dim s_DataFileName As String
Dim s_DataFolderSelect As String
Dim s_DataFolderName As String
 
 
rstTabelle.MoveFirst
Do Until rstTabelle.EOF = True
 
 
 
s_data_source_index = rstTabelle("s_data_source_index")
    s_data_path = rstTabelle("s_data_path")
 
    s_DataFolderSelect = s_data_path & "\*.*"
    s_DataFileName = Dir(s_DataFolderSelect)
 
With rstTabelle
.Edit
!s_filename = s_DataFileName
.Update
.MoveNext
End With
Loop
End Sub
So wird die Änderung ausgeführt, wenn ich das Formular anklicke; wenn ich es versuche - Private Sub Formular_Initialize() -, tut sich gar nichts.
Habt ihr vielleicht einen Tip für mich?

Wenn ich schon dabei bin, poste ich noch weitere Punkte:

wenn ich eine Datei im *.dat-Format einlesen möchte, gibt es ja keine DoCmd.Transfer...-Anweisung wie bei Excel-Sheets usw., um sie zu importieren und es handelt sich dabei im Prinzip um eine Text-Datei, die ich mit Notepad öffnen kann, wenn die Liste Öffnen Mit... erscheint, aber ansonsten nicht.
Meine Frage ist nun, ob ich diese Datei in ein Datenbankformat überführen kann, wenn ich ein Leerzeichen zwischen den Werten als Trennzeichen betrachte und überflüssige Leerzeichen entferne und die Daten quasi blockweise in ein Array übernehme und jeweils einen Array einer Spalte zuweise? Ist ein bißchen verzwickt und ich weiß nicht, ob das so ohne weiteres funktionieren wird; wahrscheinlich ist es besser, die Datei in Excel zu übertragen und zu formatieren und dann in Access zu übernehmen :confused.

Dann habe ich noch etwas Probleme mit einer ProgressBar; ich möchte eine Tabelle abfragen mit einer unbestimmten Zahl an Datensätzen; wie ich die Anzahl der Datensätze mittels RecordCount übermittle, ist kein Problem, aber wie kann ich mir das zunutze machen, um den Fortschrittsbalken anzeigen zu lassen oder brauche ich das dazu gar nicht?

Ist viel auf einmal, aber ich bin für jeden Tip sehr dankbar.

Besten Dank im voraus und viele Grüße,

vman aka Alex.
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Datenbank ändern ausführen durch Formularstart1.009vman15.02.05 15:17
Re: Datenbank ändern ausführen durch Formularstart518vman15.02.05 20:55

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel