Hallo liebes Forum,
ich hoffe dass mir einer hierbei eventuell weiterhelfen kann...
Ich habe eine Tabelle in Access erstellt, in welcher unter anderem eine Spalte mit Mengenangaben ist und eine weitere in welcher sich die Ablaufdaten befinden.
Nun möchte ich, dass wenn in der Spalte "Menge" eine 0 steht, dass in der Spalte "Ablaufdatum" der Wert gelöscht wird.
Mein Versuch schaute wie folgt aus, hat jedoch leider nicht funktioniert:
Ich habe in die Gültigkeitsregel vom Ablaufdatum folgendes geschrieben:
=Wenn([Menge]="0";"")
Was habe ich falsch gemacht, bzw wie komme ich ans Ziel?
Danke schonmal für eure Unterstützung
LG Tim
Hallo,
in einer Tabelel geht das nicht.
Daten zeigt man ohnehin nur über Formulare an. Dort ist das dann möglich.
Ok Danke
Hatte gehofft, dass es über die Tabelle leichter geht als in meinem Formular über VBA zu arbeiten.
Meine Lagerverwaltung hat eine Ausgabefunktion, in welcher ich bereits folgendes geschrieben habe:
Public Sub Speichern(ByVal BuchungsNr As Long, ByVal ProduktID As Long, ByVal Material As String, ByVal AusgabeAn As String, ByVal Menge As Long, ByVal AusgabeDurch As String)
Dim db As DAO.Database
Dim rs As DAO.Recordset
Dim sql As String
sql = "SELECT * FROM tblProdukte WHERE ProduktID = " & ProduktID & " AND Menge > 0 ORDER BY ProduktID;"
Set db = CurrentDb()
Set rs = db.OpenRecordset(sql, dbOpenDynaset)
rs.Edit
rs!Menge = rs!Menge - Menge
rs.Update
rs.Close
db.Close
Set rs = Nothing
Set db = Nothing
End Sub
Wie kann ich das nun einfügen, dass wenn die Menge aus tblProdukte auf 0 fällt, dass dann der Wert in dem Feld Ablaufdatum gelöscht wird? Den Wert aus Menge in meiner tblProdukte zieht er bereits ab, jedoch weiß ich nicht mehr weiter und verzweifel langsam.
Wenn du die Menge neu berechnest und zurückschreibst, kannst du doch auch gleich prüfen, ob die neue Menge 0 wird und dann das Ablaufdatum gleich mit updaten.
Zitat von: knobbi38 am September 17, 2024, 14:12:45Wenn du die Menge neu berechnest und zurückschreibst, kannst du doch auch gleich prüfen, ob die neue Menge 0 wird und dann das Ablaufdatum gleich mit updaten.
Könntest du mir das genauer erklären, bzw. mal ein Bespiel schreiben?
Habe bisher viele Codes aus dem Netz und noch nicht ganz so den durchblick durch VBA
Hallo,
versuche es so:
rs.Edit
rs!Menge = rs!Menge - Menge
If rs!Menge = 0 Then rs!Ablaufdatum = Null 'nicht die Zahl Null
rs.Update
PS:
Eigentlich ist ein solches Vorhaben in Access nicht der richtige Weg.
Die Mengen sollten in eine extra Tabelle, Zugang als positive Zahl und Abgaben als negative Zahl. Der Bestand ist dann einfach die Summe gruppiert über den Artikel/das Produkt.
Was bedeutet denn das Ablaufdatum ?
Meega!!!
Ich hab den Wald vor lauter Bäumen einfach nicht mehr gesehen.
Zitat von: MzKlMu am September 17, 2024, 14:48:44PS:
Eigentlich ist ein solches Vorhaben in Access nicht der richtige Weg.
Die Mengen sollten in eine extra Tabelle, Zugang als positive Zahl und Abgaben als negative Zahl. Der Bestand ist dann einfach die Summe gruppiert über den Artikel/das Produkt.
Mach ich mir damit Probleme, wenn ich die Daten alle in einer Tabelle habe?
Zitat von: MzKlMu am September 17, 2024, 14:48:44Was bedeutet denn das Ablaufdatum ?
Wir haben ein Lager mit Lebensmitteln und die laufen halt irgendwann ab. Auf meiner Startseite habe ich ein Listenfeld gemacht, welches mich auch direkt warnt, wenn das Datum in "kritische" Reichweite kommt :D
Hallo,
Zitat.... wenn ich die Daten alle in einer Tabelle habe?
Wer hat was gesagt von einer Tabelle ?
Im Gegenteil, ich sprach von einer extra Tablle also einer Tabelle zusätlich.
Dann muss das Ablaufdatum auch in die extra Tabelle. Dieses Datum wird aber nur bei Zugängen gefüllt.
Es ist dann nicht notwendig dieses Feld zu leeren.
In einem anderen Thema mit ähnlicher Frage findest Du ein kleines Beispiel von mir.
https://www.access-o-mania.de/forum/index.php?topic=27378.msg163854
Ich danke dir vielmals 👌
Hallo,
wie Klaus schon sagte, werden üblicherweise nur die Mengenveränderungen gebucht, nicht der Sollbestand selber, denn der kann aus den Veränderungen ermittelt werden.
Du solltest mal nach dem Begriff "FEFO" suchen und eventuell deine Lagerbestandsführung umstellen. Dazu müßtest du noch zusätzliche "Lagerorte" einführen, die bei den Bestandsveränderungen mitberücksichtigt werden.
Tip:
Suche mal in diesem Dokument (https://www.navision-demo.de/Microsoft-Dynamics-365-Business-Central-Handbuch_3.pdf) nach "Kommissionierungen". Vielleicht sind da ein paar hilfreiche Anregungen dabei.
Gruß
Knobbi38