2017-05-01 2 views
1

Ich habe eine Frage. Ich bin ziemlich neu in SQL. etwas mehr Erfahrung in VBA (Excel). Also habe ich ein Benutzerformular mit Textfeldern (mit Daten) erstellt und muss diese in meine Datenbank übertragen. Also benutze ich eine Anweisung in Anweisung. Es funktioniert für alle anderen Werte, außer wenn ich das Datums-Textfeld in meine Zeichenfolge einfügen möchte. Ich bekomme einen Syntaxfehler. Hoffe jemand kann helfen.SQL-Datum Problem in Zeichenfolge

strQuery = "INSERT INTO[Database$] (date,allocation,hours,reason,team)" & _ 
vbCrLf & "VALUES (" & "#" & Chr$(39) & Firstdate & Chr$(39) & "#" & "," & 
Chr$(39) & Name_Abs & Chr$(39) & "," & Chr$(39) & Hours_t & Chr$(39) & "," & 
Chr$(39) & Reason & Chr$(39) & "," & Chr$(39) & Team & Chr$(39) & ");" 

Wenn mir jemand helfen kann, dass .. groß sein würde

+0

Willkommen bei stackoverflow. Bitte überprüfen Sie diese Links: https://stackoverflow.com/help/mcve und https://stackoverflow.com/help/how-to-ask. Fragen Sie nicht nach verschiedenen Fragen im selben Beitrag. Es ist schwierig, der Struktur des Stackoverflows zu folgen. Bearbeiten Sie Ihre Frage, indem Sie einen von ihnen fragen, und fragen Sie den anderen in einem anderen Beitrag. –

+0

@GileadKenzo überprüft die Links, danke. Und ich werde auch nicht wieder zwei Fragen stellen. Entschuldigung für die verwechselte Struktur! –

+0

mein Pleassure :). Ich empfehle Ihnen, diese Frage zu bearbeiten, um nur eine Sache zu stellen. Und auf eine andere Frage, dein zweites Problem ... :) Prost Kumpel. –

Antwort

1

Wie in den Kommentaren gefragt, Sie zu viele (nicht verwandten) Fragen. Ich werde nur deine "Haupt" -Frage beantworten.

  • Schliessen Sie Ihren Termin mit # aber ohne den zusätzlichen chr(39).

  • Korrigieren Sie Ihre Syntaxfehler; Es fehlen _, um Anweisungen zu verketten.

Angewandt, und alles andere unter der Annahme ist in Ordnung, Sie fragen sollten:

strQuery = "INSERT INTO [Database$] (date,allocation,hours,reason,team)" & _ 
vbCrLf & "VALUES (" & "#" & firstDate & "#," & _ 
Chr$(39) & Name_Abs & Chr$(39) & "," & Chr$(39) & Hours_t & Chr$(39) & "," & _ 
Chr$(39) & Reason & Chr$(39) & "," & Chr$(39) & Team & Chr$(39) & ");" 

EDIT

Wie es schien, in dem einige Feldnamen Leerzeichen in ihnen (dh „Start Datum "statt" Datum "), schließen Sie sie mit" [] "ein. Es empfiehlt sich, dies systematisch auf alle Felder anzuwenden.

strQuery = "INSERT INTO [Database$] ([start date], [allocation], [hours],[reason], [team])" & _ 
vbCrLf & "VALUES (" & "#" & firstDate & "#," & _ 
Chr$(39) & Name_Abs & Chr$(39) & "," & Chr$(39) & Hours_t & Chr$(39) & "," & _ 
Chr$(39) & Reason & Chr$(39) & "," & Chr$(39) & Team & Chr$(39) & ");" 
+0

Hallo @ A.S.H danke für Ihre Antwort. Aber es wird immer noch nicht funktionieren. Erhalten Sie immer noch den Syntaxfehler. –

+1

@RickyBid Haben Sie wirklich ein Feld in der Tabelle namens "Datum" ?? Wenn dies der Fall ist, benennen Sie es um. Und wie heißt dein Tisch? –

+0

@ A.S.H yess DID haben einen Namen namens date. umbenannt. Ich habe keinen Tisch. Es ist nur ein Excel-Blatt namens "Datenbank" –

Verwandte Themen