Anzeige
Archiv - Navigation
1456to1460
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Datetime Format für SQL Datenbank

Datetime Format für SQL Datenbank
06.11.2015 07:45:29
Malte
Hallo,
ich verzweifle momentan ein datetime Field in einer SQL-Datenbank mittels VBA zu füllen.
Datetime gibt laut der offiziellen Seite das Format „yyyy-mm-dd hh:nn:ss“ an (https://msdn.microsoft.com/de-de/library/ms187819%28v=sql.120%29.aspx)
Ich habe mir also einen String zusammengebaut, der exakt dieses Format aufweist:
Sub bsp
str_time1 = WorksheetFunction.Text(ws.Cells(i, 9), "hh:MM:ss")
str_time2 = WorksheetFunction.Text(ws.Cells(i + 1, 9), "hh:MM:ss")
str_date = WorksheetFunction.Text(ws.Cells(i, 10), "yyyy-mm-dd")
ges_datetime1 = str_date & " " & str_time1
ges_datetime2 = str_date & " " & str_time2
End Sub

Wenn ich nun meinen SQL Insert-String aufrufe:
sub test
sSQL = "INSERT INTO Zeiterfassung (ZeitAnfang,ZeitEnde) VALUES(" & ges_datetime1 & " , " & ges_datetime2 &")
end sub
Sieht der zusammengebaute String so aus:
INSERT INTO Zeiterfassung (ZeitAnfang,ZeitEnde) VALUES (2015-11-03 08:00:00,2015-11-03 08:30:00)
Dabei erhalte ich immer den Fehler:
"Falsche Syntax in der Nähe von '08'.
Wie kann das sein? Muss ich das Format für die Übertragung anders wählen?
Über Hilfe wäre ich dankbar!
Gruß
Malte!

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Datetime Format für SQL Datenbank
06.11.2015 08:25:42
EtoPHG
Hallo Malte,
...immer wieder die Zeit ;-) ...ob Excel oder SQL oder ...
Datumsformate sind oft von den Language-Settings der DB abhängig und ich kenne die Flexibilität des SQL-Parser von SQL-Server zuwenig. Hier mal 2 Vorschläge, wie der SQL String IMHO aussehen könnte/müsste:
INSERT INTO Zeiterfassung (ZeitAnfang,ZeitEnde) VALUES ('2015-11-03 08:00:00','2015-11-03 08:30:00')
Wichtig die Quotes! und wenn das nicht funktioniert, vielleicht
INSERT INTO Zeiterfassung (ZeitAnfang,ZeitEnde) VALUES
(CAST(N'2015-11-03 08:00:00' As DateTime),
CAST(N'2015-11-03 08:30:00' As DateTime))
Am besten den String mit einem Tool wie SQL-Developer zuerst ausprobieren!
Gruess Hansueli

Anzeige
AW: Datetime Format für SQL Datenbank
06.11.2015 08:34:47
Malte
Sie sind so wunderbar!
Vielen Dank! Die Quotes haben schon gereicht. Das große google konnte mir dabei bisher nicht helfen.
Vielen vielen Dank!
Gruß
Malte!

AW: Datetime Format für SQL Datenbank
06.11.2015 09:09:55
Tino
Hallo,
versuch mal ohne Formatierung.
Sonst Zeige mal ein Beispiel (Zip-File mit Datenbank und Excel-File)
Dim DateTimeVon As Date, DateTimeBis As Date
DateTimeVon = DateValue(WS.Cells(i, 10).Value) + TimeValue(WS.Cells(i, 9).Value)
DateTimeBis = DateValue(WS.Cells(i, 10).Value) + TimeValue(WS.Cells(i + 1, 9).Value)
sSQL$ = "INSERT INTO Zeiterfassung ([ZeitAnfang],[ZeitEnde]) VALUES " & _
"('" & DateTimeVon & "', '" & DateTimeBis & "')"
'...
Gruß Tino
Anzeige

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige