![]() |
Datenbank: Interbase • Version: 7.5 • Zugriff über: Mit der IBx
Hilfe bei Nummernvergabe
Hy @all
Ich bräuchte wieder mal eine Hilfe von euch. Habe ein Programm geschrieben für einen Inventaranlage für uns in der Firma. Also das Programm ist zum Anlegen der Inventarnummer für die ganzen PC-Sachen. Also es ist drinnen mal die Inventarnummer, raum, abteilung, .... Wenn ich jetzt zB: eine Inventarnummer eingebe bekomme ich die von der Buchhaltung also bei der komme ich eh nicht weg. Aber wenn ich jetzt eine eigene Nummer machen möchte die nicht in der Buchhaltung eingetragen werden dann möchte ich das ich die Zahl automatisch bekomme. Ich habe eine CheckBox eingebaut und wenn ich zB: die aktiviere dann soll er mir die nächste GWG0000001 -> GWG0000002 Nummer hineinschreiben. Kann mir da vielleicht wer helfen wie er dann zu der Nummer kommt. mfg StoRmtec |
Re: Hilfe bei Nummernvergabe
Hallo StoRmtec,
es ist eine gute Idee, wenn du einen eigenen informationsfreien Primärschlüssel für deine Inventartabelle vorsiehst, der unabhängig von dem Schlüssel der Anlagenbuchhaltung ist. Der Präfix GWG sollte nicht in der Datenbank gespeichert werden. Du speicherst besser nur die fortlaufende Nummer, die du dir von einem Geneartor verwalten und über einen Trigger zuweisen lässt. Den Präfix kannst du bei der Ausgabe immer davor steuern. Grüße vom marabu |
Re: Hilfe bei Nummernvergabe
Hallo
Danke für die Info aber wie kann ich das dann machen kannst du mir da vielleicht weitderhelfen. Da ich noch nicht so viel mit Datenbanken gemacht habe. mfg stormtec |
Re: Hilfe bei Nummernvergabe
Einen Generator erzeugst du so:
SQL-Code:
Ein passender Trigger wäre:
CREATE GENERATOR "GEN_TBL";
SQL-Code:
Hilft dir das weiter?
CREATE TRIGGER "TBL_BI0" FOR "TBL"
ACTIVE BEFORE INSERT POSITION 0 as begin if (new.id = 0) then new.id = gen_id(GEN_TBL, 1); end marabu |
Re: Hilfe bei Nummernvergabe
und das mache ich bei der checkbox dann rein oder wo mache ich das.
sorry bin noch neu in datenbank programmieren. mfg stormtec |
Re: Hilfe bei Nummernvergabe
hallo Stormtec,
der Trigger feuert bei BI also bei BEFORE INSERT, das bedeutet wenn du einen neuen Datensatz anlegst und diesen einfügen willst wird automatisch eine neue ID angelegt. raik |
Re: Hilfe bei Nummernvergabe
Hallo StoRmtec,
den SQL-Code zum erzeugen von Generator und Trigger verwendest du beim Erstellen deiner Datenbank - ich mache das in IBConsole. Wenn du mit dem Trigger arbeitest, dann brauchst du dich eigentlich nicht mehr um den Schlüssel zu kümmern. Da ich aber manchmal einen Datensatz speichere und den Datensatz trotzdem weiter in Bearbeitung halten möchte, muss ich mir den generierten Schlüssel selbst besorgen und beim INSERT mitgeben. Lies dir doch mal den thread ![]() marabu |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:27 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz