Hallo,
ich habe eine Tabelle mit den Spalten "vname" vom Type Text und
"Datum" vom Type Datum/Uhrzeit Format Datum, kurz.
Habe hier ein Endlosformular dem ich einen bestimmten Datensatz mittels
Recordsource übergeben will.
Nun löse ich folgendes Ereignis aus
Dim SQLString As String
SQLString = "select tabelle2.vname, tabelle2.datum from tabelle2 where tabelle2.datum = 02.09.2011"
Form_Formular2.endlos2.Form.RecordSource = SQLString
Wenn das Ereignis ausgelöst wird bekomme ich folgende Fehlermeldung.
"Laufzeitfehler '3075': Syntaxfehler in Zahl in Abfrageausdruck 'tabelle2.datum = 02.09.201'."
Was mache ich falsch? Hab es schon mit Hochkommata versucht und so weiter.
Lasse mir zum Test den SQL-String als Textdatei ausgeben und dort steht folgendes drin.
select tabelle2.vname, tabelle2.datum from tabelle2 where tabelle2.datum = 02.09.2011
shadock
Moin shadock,
was passiert mit:
SQLString = "select tabelle2.vname, tabelle2.datum from tabelle2 where tabelle2.datum = Format([tabelle2.datum],'yyyy.mm.dd')='2011.09.02';"
Harald
Hallo,
eher so:
SQLString = "select tabelle2.vname, tabelle2.datum from tabelle2 where tabelle2.datum = #09/02/2011#"
wobei man sich mit solchen "magic numbers" (feststehenden Zahlen im Code/SQL) keinen Gefallen tut.
Wenn man sich entschliesst, das Vergleichsdatum aus einer (Datums-)Variablen zu entnehmen, dann etwa so:
Dim datKrit as Date
datKrit =nz(Me!Datumskriterium,Date) ' falls das Kriterium in einem Form-Textfeld steht, bzw. eingegeben wurde.
SQLString = "select tabelle2.vname, tabelle2.[datum] from tabelle2 where tabelle2.[datum] = " & Format(datKrit,"\#yyyy-mm-dd\#")
Hallo,
habe mittlerweilen herausgefunden wie es geht. Man muss das Datum Formatieren
und die Rautezeichen setzen. Wusste ich nicht.
Hier mein code falls es jemanden interesiert.
Dim condatum As String
Dim condatum2 As String
condatum = CDate(Form_erstellen_frm.datum_tf.Text)
condatum2 = "#" & Format$(condatum, "m-d-yy") & "#"
condatum2 setze ich dann in den String ein.
Danke für eure Hilfe.
shadock
Hallo shadock,
sieh mal ... http://www.donkarl.com?FAQ6.8 (http://www.donkarl.com?FAQ6.8)
...gar nicht sooo schwer zu finden... ;) :D ;D
...und ein wenig einfacher als dein Konstrukt 8)