Ich habe eine Tabelle "Warenbewegung" mit dem Autoinkrement Primary "WBID" und derzeit 3 Datensätzen mit den Keys 3,4 ,5
Später wird die Tabelle viele Datensätze enthalten, daher habe ich mir gedacht den Recordset mit einer SQL Abfrage einzugrenzen.
Jetzt will ich den letzten Key (also den höchsten) zur weiteren Verarbeitung ermitteln. Das habe ich mit folgendem Schnipsel probiert:
Public Sub Test()
Dim db As Database
Dim rsBestand As DAO.Recordset
Dim rsWbeweg As DAO.Recordset
Dim D As Long 'DID
Dim C As Date 'Charge
Dim Dstart As Long
Dim Dend As Long
C = Forms![Bestand1]![txtCharge]
D = Forms![Bestand1]![cmbDesign]
Set db = CurrentDb
Set rsWbeweg = db.OpenRecordset("SELECT * FROM Warenbewegung WHERE DID=" & cSql(D) & "AND Charge=" & cSql(C, vbDate))
Z = rsWbeweg.RecordCount
rsWbeweg.MoveFirst
Dstart = rsWbeweg!WBID
rsWbeweg.MoveLast
Dend = rsWbeweg!WBID
Debug.Print Dstart, Dend, Z
Hier die Ausgabe die ich nicht verstehe :
call Test
4 3 3
Warum ist Dstart nicht 3 und Dend nicht 5?
Gruß
bejay
Hallo,
vielleicht liegt es daran, dass die order-Vorgabe fehlt. In etwa:
... order by WBID
Harald
Hallo,
eigentlich müsste die Kurzfassung auch genügen:
Public Sub Test()
Dim Dstart As Long, Dend As Long, Z As Long
Dstart = DMin("WBID", "Warenbewegung", "DID=" & cSql(D) & "AND Charge=" & cSql(C, vbDate))
Dend = DMax("WBID", "Warenbewegung", "DID=" & cSql(D) & "AND Charge=" & cSql(C, vbDate))
Z = DCount("*", "Warenbewegung", "DID=" & cSql(D) & "AND Charge=" & cSql(C, vbDate))
Debug.Print Dstart, Dend, Z
End Sub
Wobei sich mir der Sinn der Kriterien nicht erschließt. Wenn nur Min und Max der ID sowie die DS-Zahl benötigt wird, genügt doch der Aufrauf der Funktionen ohne Kriterien.
Hallo MzKlMu,
eigentlich genügt mir das Dend, der Rest war nur zum Ausprobieren. Die Kriterien benutze ich, weil es meine Umsetzung vom Geschäftsmodell so vorsieht. Es gibt z.B gleiche Waren unterschiedlicher Produktionschargen (Produktionsdatum), das wird mit den Kriterien eingegrenzt.
Deine Lösung gefällt mir sehr gut, werde es gleich mal probieren.
Gruß
bejay
Hallo MzKlMu,
das geht super, so kann ich mit der neuesten Warenbewegung der entsprechenden Ware weiterarbeiten.
Danke
Bejay