Fortlaufende Nummer
Hallo,
ich habe ein Fotoalbum als Untertabelle der Tabelle "Kunden" angelegt. Für jeden Kunden existiert zukünftig eine unterschiedliche Anzahl bon Fotos.
1. Ich möchte nun eine fortlaufende Nummer erstellen, die kundenspezifisch ist.
Der Jahreswechsel sollte berücksichtgt werden, aber nicht die fortlaufende Nummer
So sollte es ungefähr aussehen
fortlaufende Nr.
Customer A Picture 1 = 2021- 0001- 0001
Customer A Picture 2 = 2021- 0002- 0002
Customer A Picture 3 = 2022- 0003- 0003
Customer A Picture 4 = 2022- 0004- 0004
……………………………………………….
Customer B Picture 1 = 2021- 0001- 0005
Customer B Picture 2 = 2022- 0002- 0006
……………………………………………….
Customer C Picture 1 = 2021- 0001- 0007
Customer C Picture 2 = 2021- 0002- 0008
Customer C Picture 3 = 2021- 0003- 0009
Vielen Dank im Voraus
Andreas
6 Antworten
-
Möglichkeit: Trigger "Bei neuem Datensatz ..." in der Untertabelle "Fotoalbum" (die fortlaufende Nr heißt hier "BildNr"):
let myK := Kunden;
let myY := format(today(), "YYYY");
let cMax := max((select Fotoalbum where substr(BildNr, 0, 4) = myY and Kunden = myK).number(substr(BildNr, 5, 4)));
let aMax := max((select Fotoalbum where substr(BildNr, 0, 4) = myY).number(substr(BildNr, 10, 4)));
BildNr := myY + "-" + format(cMax + 1, "0000") + "-" + format(aMax + 1, "0000")
-
Hallo,
Habe einem Ähnlichen fall mit Artikelnummern.
z. B. A-00054
Ist es möglich auch Lücken zu finden bedeutet wenn z.b. Artikel A-00030 gelöscht wird, der nächste nicht fortlaufend A-00055 ist, sondern die Lücke von A-00030 besetzt?
in der gleichen Tabelle sind aber auf Artikel mit selber laufender Nummer aber unterschiedliche Präfix z.b. A-00030 und O-00030 oder VB-00030.
Top wäre es z.b., wenn ich z.b. nur A- oder VB- in das Artikelfeld eingeben muss und dann per Button die Nummer automatisch vervollständigen lasse.
Finde leider keinen wirklichen Ansatz wie ich das angehen sollte.
Vielen Dank und Grüße
Robin
-
Hallo Copytexter vielen Dank für Deine Hilfe.
Die Formel funktioniert leider nur bedingt.
Das Jahr wird einwandfrei angezeigt 2021
Die fortlaufende Nummer über alle Datensätze funktioniert auch einwandfrei. 0001,0002........... 0099
Der indiduelle zweite Ziffernblock (der wie bei einer Rechnungsposition sein sollte) bleibt bei immer bei 0001, auch wenn ich neue Datensätze (Bilder) beim selben oder auch einem anderen Kunden hinzufüge.
VG
-
Hm. Hab's gerade probiert. Bei mir funktioniert's. Ich bin von einem Nummernaufbau ohne Leerzeichen ausgegangen, also 2021-0000-0000. 'Kunden' ist der Name des Verknüpfungsfeldes mit der gleichnamigen Tabelle. Und dieses Feld muss natürlich einen Wert haben, weshalb neue Foto- Datensätze nur aus der übergeordneten Tabelle 'Kunden' heraus erstellt werden können, nicht direkt in der Untertabelle.
@Robin: "Gelöschte Nummern neu vergeben" ist immer wieder mal Thema hier im Forum. Zuletzt im Dezember. Vielleicht hilft der entsprechende Thread schon mal weiter:
https://ninox.com/de/forum/technische-hilfe-5ab8fe445fe2b42b7dd39ee8/durchlaufende-nummerierung-auf-grundlage-des-datenfelds-auswahl-interne-produkt-id-5fbb9b08a338a87d6a6bb874?post=5fe9f0555d183e6db543ab4f&page=2 -
Hallo Copytexter, ich habe das rauf und runter probiert. Ich bekomme nur dieses Ergebnis
2021-00001-00001
2021-00001-00001
2021-00001-00001
Die Formel habe ich nur hinsichtlich Anzahl der Nullen verändert
let myK := Kunden.'Kunden-Nr.';
let myY := format(today(), "YYYY");
let cMax := max((select 'Photo Album' where substr(BildNr, 0, 4) = myY and Kunden.'Kunden-Nr.' = myK).number(substr(BildNr, 5, 4)));
let aMax := max((select 'Photo Album' where substr(BildNr, 0, 4) = myY).number(substr(BildNr, 10, 4)));
BildNr := myY + "-" + format(cMax + 1, "00000") + "-" + format(aMax + 1, "00000")Hast Du noch eine Idee für mich
Danke und VG
Andreas
-
Mit der Anzahl der Nullen ändern sich auch Startposition und Länge der Zeichenfolgen, die mit der Funktion substr() ausgelesen werden. Statt "substr(BildNr, 5, 4)" müsste es also "substr(BildNr, 5, 5)" heißen, und aus "substr(BildNr, 10, 4)" würde "substr(BildNr, 11, 5)".
Content aside
- vor 4 JahrenZuletzt aktiv
- 6Antworten
- 731Ansichten