Access-o-Mania

Access-Forum (Deutsch/German) => Tabelle/Abfrage => Thema gestartet von: shadock am September 18, 2011, 23:16:13

Titel: Problem mit Recordsource
Beitrag von: shadock am September 18, 2011, 23:16:13
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
Titel: Re: Problem mit Recordsource
Beitrag von: bahasu am September 19, 2011, 05:42:27
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
Titel: Re: Problem mit Recordsource
Beitrag von: DF6GL am September 19, 2011, 08:35:43
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\#")
Titel: Re: Problem mit Recordsource
Beitrag von: shadock am September 19, 2011, 21:27:12
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

Titel: Re: Problem mit Recordsource
Beitrag von: database am September 19, 2011, 21:48:32
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)