Hi,
ich habe eine Tabelle mit einem AutoWert ID und einer Spalte Vorgangsnummer.
Leider kann ich wegen einer Zuordnung unseren Kundensystem den AutoWert nicht nutzen und muss die Vorgangsnummer manuell ergeben.
Dies mache ich in einem Formular / Textfeld mit VBA (nach Aktualisierung):
Me.VorgangsID = "B1-" & Format(Date, "dd") & Format(Date, "mm") & Format(Date, "yy") & "A"
Aufbau:
B1 (Immer Location Kunde)
Datum (heutige Datum /TagMonatJahr)
Shipment = A = erstes Shipment, B = zweites Shipment C = drittes Shipment
Mein Problem ist die Spalte Shipment: Wie kann ich es lösen, dass wenn wir das erste Shipment des Tages haben als Wert hinten "A" angehängt wird und dann als zweites Shipment "B", drittes Shipment "C" usw.
Jemand eine Idee?
Danke und gruß
Hallo,
das geht auch kürzer:
Me.VorgangsID = "B1-" & Format(Date, "ddmmyy") & "A"
Gibt es für die Shipments eine eigene Tabelle (wie es sein sollte) ?
Hallo,
solche sprechenden und nicht atomisierten Daten sind denkbar ungünstig zu behandeln, vor allem, wenn zu einem Teilstring noch weitere Berechnungen durchgeführt werden sollen.
Besser: 3 separate Felder, um die 3 Teilstrings abzulegen.
Das "Datum" kann gleich mit
Format(Date, "ddmmyy")
erzeugt werden.
Als Lösung könnte dann mit der Dmax()-Funktion auf das Shipment-Feld und Angabe der entsprechenden Kriterien ("B1"-Feld und das "Datum") der höchste Buchstabe ermittelt und dessen Asci-Wert um 1 erhöht werden, um auf den Folgebuchstaben zu kommen.
Im aktuellen Fall muss zunächst der Teilstring mit dem Shipment extrahiert und darauf die Dmax()-Funktion angewendet werden.
Zitat von: MzKlMu am Juni 24, 2019, 13:54:41
Hallo,
das geht auch kürzer:
Me.VorgangsID = "B1-" & Format(Date, "ddmmyy") & "A"
Gibt es für die Shipments eine eigene Tabelle (wie es sein sollte) ?
Nein, dass läuft alles in die Vorgangstabelle tblshipments
Zitat von: DF6GL am Juni 24, 2019, 13:55:31
Hallo,
solche sprechenden und nicht atomisierten Daten sind denkbar ungünstig zu behandeln, vor allem, wenn zu einem Teilstring noch weitere Berechnungen durchgeführt werden sollen.
Besser: 3 separate Felder, um die 3 Teilstrings abzulegen.
Das "Datum" kann gleich mit
Format(Date, "ddmmyy")
erzeugt werden.
Als Lösung könnte dann mit der Dmax()-Funktion auf das Shipment-Feld und Angabe der entsprechenden Kriterien ("B1"-Feld und das "Datum") der höchste Buchstabe ermittelt und dessen Asci-Wert um 1 erhöht werden, um auf den Folgebuchstaben zu kommen.
Im aktuellen Fall muss zunächst der Teilstring mit dem Shipment extrahiert und darauf die Dmax()-Funktion angewendet werden.
Gute Idee und du bringst mich grade auf einen Lösungsansatz.
Probiere ihn grade aus und teile ihn hier dann (zwecks Informationsaustausch) mit, ob es funktioniert.
Kann sein, dass ich mich erst morgen melde.
Wenn jemand noch eine Idee hat, unabhängig gerne raus damit.
Gruß