PDA

Vollständige Version anzeigen : Datum in einem Feld suchen/vergleichen


Haagen
14.02.2003, 22:33
Hallo,
ich habe ein Problem.

In meiner Tabelle unterscheiden sich die Datensätze durch das Datum ( im Feld Datum).
Zur eingabe von Daten wird zuerst über ein Fomular ein Datum eingegeben. Allerdings noch nicht in die Tabelle sondern in das Eingabefeld XDatum(DatumFormat). Dieses Datum möchte ich jetzt mit VBA-Code mit den Daten im Feld Datum vergleichen, um zu entscheiden ob ein neuer Datensatz eingegeben werden soll, oder ev. ein vorhandener bearbeitet werden soll.
Jetzt mein Problem. Ich kriege den Datumsvergleich nicht zum Laufen.
Ich setze ein aus dem Inet geladenes Beispiel ein. Es funktioniert auch mit meinen anderen Felden( Textformate) aber ich kriege es nicht mit meinem Datumfeld zu laufen.

Private Sub start_Click()
Dim db As Database
Dim rs As Recordset
Dim Krit As Date
Set db = CurrentDb()
Set rs = db.OpenRecordset("Tabelle1", dbOpenSnapshot)
Krit = "Datum ='" & XDatum & "'"
rs.FindFirst Krit

If rs.NoMatch Then
......

Wäre nett, wenn mir jemand helfen könnte

viele Grüße
Haagen

Manuela Kulpa
15.02.2003, 10:10
Hi Haagen,

Access verlangt das amerikanische Datumsformat (mm/dd/yy) oder das ISO-Format (yyyy-mm-dd) beim Zugriff auf Recordsets.

Versuchs entweder so:
Krit = "Datum =" & CLng(XDatum)

oder so:
Krit = "Datum =" & Format(XDatum, "\#yyyy\-mm\-dd\#")

slg

Haagen
15.02.2003, 17:15
Hallo Manuela,

danke für deine Hilfe aber ich krieg es immer noch nicht zum Laufen.
Bei beiden Vorschlägen kommt der Laufzeitfehler 13 - Typen unverträglich- .

Mein Datenfeld "Datum" ist aber im Deutschen Format (Datum/Uhrzeit;Datum,kurz).
Muß das geändert werden ?
Wenn ja wo. Ich finde keine Einstellung ins Amerikanische Format.

schon mal Danke im voraus
Haagen

Manuela Kulpa
15.02.2003, 18:44
Hi Haagen,

ups, das habe ich übersehen. Du deklarierst Krit als Datumsvariable, so kann das natürlich nicht funktionieren.

Deklariere Krit als String (Dim Krit As String) und versuch's noch mal mit der Zeile Krit = "Datum =" & Format(XDatum, "\#yyyy\-mm\-dd\#"), dann klappt es auch mit FindFirst ohne LZF.

Gruß

Haagen
15.02.2003, 21:33
Hallo Manuela,

ja jetzt Funktioniert es.:happy:
Vielen Dank für deine schnelle Hilfe.

Ich wünsche noch ein schönes Wochende.

mfg
Haagen