Access 2010 VBA Datum aus Datei auslesen, per Variable in SQL einbinden und Tabelle Füllen.
Hallo ich habe auf einem Laufwerk Dateien die über eien schleife nach und nach eingelesen werden.
Nun versuche ich per VBA das Datum der Datei auszulesen und dne inhalt der Datei + ausgelesenes Datumein eine Tabelle per SQL zu schreiben. Dieses funktioniert leider nicht
Der Code sieht wie folgt aus
anstatt das Datum zu übernehmen erscheint ein Popup Fenster.
Erstelldatum
Gebe ich ein festes Datum vor
übernimmt er den Wert 01.05.2013 in die Spalte Datum
Wie bekomme ich es hin, dass ohne Nachfrage die Variable Erstelldatum verwendet wird?
Nun versuche ich per VBA das Datum der Datei auszulesen und dne inhalt der Datei + ausgelesenes Datumein eine Tabelle per SQL zu schreiben. Dieses funktioniert leider nicht
Der Code sieht wie folgt aus
Sub schleife_info_xml()
' Prüfe ob verzeichnis leer
Dim fs As Object, ordner As Object
Dim spath As String
Dim sfile As String
Dim Erstelldatum As Date
Set fs = CreateObject("Scripting.filesystemobject")
Set ordner = fs.GetFolder("Q:\Zentral\DBA\Ressort\DT_XML\")
Do
If ordner.SubFolders.Count * 1 + ordner.Files.Count * 1 = 0 Then
SysCmd acSysCmdSetStatus, "Keine info_xml zum Einlesen vorhanden"
Exit Sub
Else
SysCmd acSysCmdSetStatus, "XML Dateien werden entpackt"
'Datei verschieben
ExecCmd "C:\7ZipA\xml_verschieben.bat"
'Datum auslesen
spath = "Q:\Zentral\DBA\Ressort\DT_XML\" ' Pfad setzen.
sfile = Dir(spath & "K00VZF.DT.XML*") ' Ersten Eintrag abrufen.
Erstelldatum = Format(FileDateTime(spath & sfile), "dd.mm.yyyy")
'Datei entpacken
ExecCmd "C:\temp\entpacken.bat"
' Start XML Dateien aufbereiten
SysCmd acSysCmdSetStatus, "XML Dateien werden aufbereitet"
Call xmlDatein_einlesen
'Aktualisieren DB _Datum
DoCmd.RunSQL "INSERT INTO DB_Betriebe_Anlage ( service, rnteb, ref, Datum) SELECT DBA_global.service, DBA_global.rnteb, DBA_global.ref, " & "[Erstelldatum]" & " FROM DBA_global;"
SysCmd acSysCmdSetStatus, "XML Dateien erfolgreich aufbereitet"
End If
Loop
End Sub
anstatt das Datum zu übernehmen erscheint ein Popup Fenster.
Erstelldatum
Gebe ich ein festes Datum vor
DoCmd.RunSQL "INSERT INTO DB_Betriebe_Anlage ( service, rnteb, ref, Datum) SELECT DBA_global.service, DBA_global.rnteb, DBA_global.ref, " & "'01.05.2013'" &" FROM DBA_global;"
Wie bekomme ich es hin, dass ohne Nachfrage die Variable Erstelldatum verwendet wird?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 207241
Url: https://administrator.de/forum/access-2010-vba-datum-aus-datei-auslesen-per-variable-in-sql-einbinden-und-tabelle-fuellen-207241.html
Ausgedruckt am: 06.04.2025 um 05:04 Uhr
5 Kommentare
Neuester Kommentar
Muss das Datum nicht noch von einer # umschlossen sein, wenn das Feld vom Typ DateTime ist ? Ansonsten ist es beim Feldtyp "Text" mit einfachen Hochkommata(') einzuschließen.
Grüße Uwe
DoCmd.RunSQL "INSERT INTO DB_Betriebe_Anlage ( service, rnteb, ref, Datum) SELECT DBA_global.service, DBA_global.rnteb, DBA_global.ref, #" & Erstelldatum & "# FROM DBA_global;"
Grüße Uwe
Moin thomas1972,
wenn du schreibst:
dann wäre also ein Zusammenbau des SQLStatements wie folgt angesagt:
Grüße
Biber
wenn du schreibst:
DoCmd.RunSQL "INSERT INTO DB_Betriebe_Anlage ( service, rnteb, ref, Datum) SELECT DBA_global.service, DBA_global.rnteb, DBA_global.ref, " & "'01.05.2013'" &" FROM DBA_global;"
-> dieses funktioniert, dann ist ja offensichtlich das Ziel-Feld in der Accesstabelle nur ein ZEICHENfeld, keines vom Datentyp DATUM.dann wäre also ein Zusammenbau des SQLStatements wie folgt angesagt:
DoCmd.RunSQL "INSERT INTO DB_Betriebe_Anlage ( service, rnteb, ref, Datum) " & _
"SELECT DBA_global.service, DBA_global.rnteb, DBA_global.ref, " & _
&"'" & Format(Erstelldatum, "dd.mm.yyyy") &"'" &" FROM DBA_global;"
Grüße
Biber