Access - Problem mit DLookUp bzw. DCount und Datumsvergleich
Hallo,
ich möchte automatisch IDs generieren, ausgehend von einer StartID (Gegeben in der Tabelle "IDs" , erstes DLookUp)
und in Abhängigkeit vom Datum. D.h. das niedrigste Datum soll die niedrigste ID haben, das höchste Datum die höchste ID.
Die Tablle tblVorgänge muss man sich in etwa so vorstellen:
Barcode | Datum | Label (auf Label kommt die ID)
xyz | 01.01.2007 | 0
abc | 02.02.2008 | 0
Die soll nach dem Update so aussehen:
Barcode | Datum | Label (Startwert = 10001 in der ID-Tabelle)
xyz | 01.01.2007 | 10001
abc | 02.02.2008 | 10002
Dafür mache ich folgendes:
Allerdings ergibt das DCount (und ein DLookup, das bis auf den ersten Parameter (wäre dann "COUNT(Datum)") gleich ist)
immer (Anzahl Datensätze insgesamt). Im oben genannten Beispiel würde dann auf beiden Feldern 10003 stehen (Startwert + Anzahl Datensätze).
Wenn ich im VBA folgendes mache funktioniert das DLookUp komischerweise:
ergibt 0
ergibt 1
Kann mir jemand erklären was ich falsch mache?
Danke im voraus!
ich möchte automatisch IDs generieren, ausgehend von einer StartID (Gegeben in der Tabelle "IDs" , erstes DLookUp)
und in Abhängigkeit vom Datum. D.h. das niedrigste Datum soll die niedrigste ID haben, das höchste Datum die höchste ID.
Die Tablle tblVorgänge muss man sich in etwa so vorstellen:
Barcode | Datum | Label (auf Label kommt die ID)
xyz | 01.01.2007 | 0
abc | 02.02.2008 | 0
Die soll nach dem Update so aussehen:
Barcode | Datum | Label (Startwert = 10001 in der ID-Tabelle)
xyz | 01.01.2007 | 10001
abc | 02.02.2008 | 10002
Dafür mache ich folgendes:
UPDATE tblVorgänge SET tblVorgänge.LABEL =
CLng(DLookUp("ID_START","IDs","ID_Typ='Vorgänge'")) +
CLng(DCount("Datum","tblVorgänge","[Datum] < #" & Format([tblVorgänge].[Datum], "dd-mm-yy hh:nn:ss") & "#"))
;
Allerdings ergibt das DCount (und ein DLookup, das bis auf den ersten Parameter (wäre dann "COUNT(Datum)") gleich ist)
immer (Anzahl Datensätze insgesamt). Im oben genannten Beispiel würde dann auf beiden Feldern 10003 stehen (Startwert + Anzahl Datensätze).
Wenn ich im VBA folgendes mache funktioniert das DLookUp komischerweise:
anzahl = DLookup("COUNT(Datum)", "tblVorgänge", "[Datum] < #" & Format("01.01.2007", "dd-mm-yyyy hh:nn:ss") & "#")
anzahl = DLookup("COUNT(Datum)", "tblVorgänge", "[Datum] < #" & Format("02.02.2008", "dd-mm-yyyy hh:nn:ss") & "#")
Kann mir jemand erklären was ich falsch mache?
Danke im voraus!
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 87682
Url: https://administrator.de/contentid/87682
Ausgedruckt am: 25.11.2024 um 00:11 Uhr
2 Kommentare
Neuester Kommentar