Auto-Nummerierung

Hallo,

da es in keinem der Handbücher irgendwie geschrieben steht, hier die Formatierung für eine Auto-Nummerierung mit Jahreszahl und führenden Nullen:
«Fstr$(Year(Now()),"####") + „-“ + Cstr$(counter ,"%04g")»

Jetzt habe ich noch das Problem, dass der Zähler immer um eins hochgesetzt wird, wenn ich auf „Neuen Datensatz anlegen“ klicke. Falls ich aber nicht speichere, sondern die Anlage des neuen Datensatze abbreche, dann ist der Zähler im CRM trotzdem um eins höher.
Folge: Bei der nächsten Neuanlage wurde dann eine Nummer übersprungen.

Beispiel:
Projekt 2013-001 vorhanden
Projekt 2013-002 Neuanlage abgebrochen, daher nicht verwendet
Projekt 2013-003 wäre jetzt die neue Nummer, hätte aber gerne dass die 2013-002 verwendet wird, weil noch nicht verwendet.
Bisher muss ich den Zähler immer manuell zurückstellen, das nervt und man denkt auch nicht immer dran.

Freue mich über Lösungsvorschläge.

Beste Grüße aus Kelkheim
Joachim B. Auster

Hallo,

ich denke, das sinnvollste wäre, statt der integrierten Auto-Nummerierung einen Datenbank-Trigger zu verwenden, der immer die höchste vorkommende Nummer ermittelt und entsprechend eine neue Nummer vergibt.

Viele Grüße

Walter Rank

Danke Herr Rank für den Tipp.
Und wie mache ich sowas, also so einen Trigger einbauen?
In der Development Suite auf dem SQL Server oder im CRM Projekt?

Beste Grüße aus Kelkheim
Joachim B. Auster

Hallo Herr Auster,

unter der Annahme, dass es sich um einen Microsoft SQL-Server handelt:

Im SQL-Server Management Studio in der richtigen Datenbank den Zweig ‚Tabellen‘ öffnen. Das kleine Plus vor der gewünschten Tabelle anklicken und dann den Eintrag ‚Trigger‘ mit der rechten Maustaste anklicken. Im sich jetzt öffnenden Menü ‚Neuer Trigger …‘ auswählen.

In Ihrem Fall sollte dann ein ‚AFTER INSERT‘ Trigger programmiert werden. :wink:

Viele Grüße

Walter Rank