Access-o-Mania

Access-Forum (Deutsch/German) => Access Programmierung => Thema gestartet von: herb54 am Januar 29, 2021, 09:10:23

Titel: Auslesen des letzten Datensatzes
Beitrag von: herb54 am Januar 29, 2021, 09:10:23
Hallo, ich möchte ein Feld (Rechnungsnummer) des letzten Datensatzes einer Tabelle auslesen und bekomme einen Datentypenkonfliktfehler 3464.

Hier ist mein VBA Code:
Dim RnrI As Integer, RnrS As String, LetzteNummer As String
Dim MAXid As Long

MAXid = DMax("ID", "tblBeispiel")
MsgBox MAXid

LetzteNummer = DLookup("Rechnungsnummer", "tblBeispiel", "ID ='" & MAXid & "'")


Das Feld Rechnungsnummer ist ein String.
MAXid wird richtig ausgelesen. Aber im letzten Teil kommt die Fehlermeldung (3464).
Irgendwie komme ich jetzt nicht drauf warum diese Angabe (LetzteNummer = ....) falsch sein sollte???
Grüße
Herbert
Titel: Re: Auslesen des letzten Datensatzes
Beitrag von: MzKlMu am Januar 29, 2021, 09:24:27
Hallo,
aber die ID ist doch eine Zahl, Du hast ja auch als Long deklariert.
Also Hochkomma weg.
Titel: Re: Auslesen des letzten Datensatzes
Beitrag von: herb54 am Januar 29, 2021, 15:04:00
Hallo Klaus,

super vielen Dank! Das geht jetzt auch (ID =3219). Leider bekomme ich nicht die Rechnungsnummer des letzten Datensatzes wenn ich mir über die MsgBox "LetzteNummer" anzeigen lasse sondern irgendeine bei ID = 839.

Dim RnrI As Integer, RnrS As String, LetzteNummer As String
Dim MAXid As Long

MAXid = DMax("ID", "tblBeispiel")
MsgBox MAXid

LetzteNummer = DLookup("Rechnungsnummer", "tblBeispiel", ID = MAXid)
MsgBox ID
MsgBox LetzteNummer
Titel: Re: Auslesen des letzten Datensatzes
Beitrag von: ebs17 am Januar 29, 2021, 16:09:23
Kaskaden von Domänenaggregatfunktionen sind nicht so überzeugend.
LetzteNummer = DLookup("Rechnungsnummer", "tblBeispiel", _
    "ID = (SELECT MAX(ID) FROM tblBeispiel)")
Titel: Re: Auslesen des letzten Datensatzes
Beitrag von: herb54 am Januar 29, 2021, 16:42:25
Vielen Dank,


LetzteNummer = DLookup("Rechnungsnummer", "tblBeispiel", _
    "ID = (SELECT MAX(ID) FROM tblBeispiel)")

aber leider immer noch erscheint als "LetzteNummer" wieder die mit der ID = 839 der Tabelle.
Ich wollte eigentlich nicht mit einem Recordset arbeiten, aber langsam glaube ich muss ich das doch. Ich verstehe auch nicht weshalb da eine Rechnungsnummer mit ID = 839 erscheint und nicht 3219???
Grüße
Herbert
Titel: Re: Auslesen des letzten Datensatzes
Beitrag von: herb54 am Januar 29, 2021, 16:47:03
Hallo Eberhard,

sorry es geht doch!!! Ich hatte die alte Anweisung noch am Ende unbemerkt stehen lassen und dies nicht bemerkt. Funktioniert einwandfrei!!! Vielen Dank an alle!!!
Grüße
Herbert