Hallo, ich habe ein kleines Problem mit dem ich nicht weiter komme.
Die Idee ist folgende:
Ich habe eine Rechnung (Bericht) wo ich z.B. 1x Artikel X verkauft habe. Nun soll aber beim Knopf „Rechnung drucken“ die Menge vom Bestand abgezogen werden.
Meine Version hatte funktioniert bis man mehr als 2 Artikel verkauft.:
Dim db As DAO.Database
Dim rs As DAO.Recordset
Set db = CurrentDb
Set rs = db.OpenRecordset("Sortiment", dbOpenDynaset)
datenA = Text84 '= Artikelnummer
If IsNull(datenA) Then
Exit Sub
Else
Y = DLookup("Bestand", "Sortiment", "[Artikel Nr] ='" & datenA & "'")
Y = Y - Me.Text60 '= Menge
BestandA = Y
rs.Edit
rs.Fields("Bestand").Value = Me.BestandA
rs.Update
rs.MoveNext
End If
Nun weis ich nicht mehr weiter. Ich vermute das die Suchfunktion falsch ist.
Ich hoffe jemand kann mir weiterhelfen.
Nebenbei: Was ist der Unterschied zwischen BestandA und Me.BestandA? Steht als erste Zeile im Modul ein „Option Explicit“? Und das Wichtigste: Welcher Datensatz steht da zum Update bereit?
Gruß
Ralf
ps: Du tust Dir mit „Text84“ keinen Gefallen, „Artikelnr“ wäre besser..
Hey,
Das Me.BestandA hatte ich wohl vergessen das sollte ohne Me. sein.
Und es steht immer der Datensatz zum Update bereit der editiert wird (also der bei dem dann Minus gerecht werde soll). Wenn ich wieder Zuhause bin kann ich vielleicht ein paar Screenshots schicken.
LG
Set rs = db.OpenRecordset("Sortiment", dbOpenDynaset)
Das klappt, wenn „Sortiment“ eine Query ist, die auf die aktuelle Artikelnummer filtert. Falls nicht,
steht damit genau der erste Datensatz bereit, wobei „erste“ eher ein Zufallsprodukt ist. Irgendwer müsste jetzt noch positionieren.
Bitte keine Screenshots, und in Zuckumpft besser gleich zu MSO, da sitzen die Spezialisten.