Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Vorgangsnummer

Begonnen von Brusellise, Juni 24, 2019, 13:00:53

⏪ vorheriges - nächstes ⏩

Brusellise

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ß


MzKlMu

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) ?
Gruß Klaus

DF6GL

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.

Brusellise

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

Brusellise

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ß