Kundennummer generieren

Datenbanklösungen mit AOO/LO

Moderator: Moderatoren

kuki
*
Beiträge: 12
Registriert: Fr, 20.03.2009 11:25

Kundennummer generieren

Beitrag von kuki »

Hallo, bin neu hier und hab in der Suche leider nix passendes gefunden. Bin Umsteiger, komme von Access und suche nach langem googeln Hilfe.

Es sollen Adressen erfasst werden, Tabelle und Formular ist bereits erstellt und funktioniert auch soweit prima. Jetzt fehlt nur noch ein "Zähler" für die Kundennummer. Der Anfangswert sollte z.B. 1210001 sein.

Mein Ansatz (leider keine Lösung gefunden): die größte Zahl in der Spalte "Kundennummer" ermitteln und um eins erhöhen. Wie lässt sich das realisieren?

Vielen Dank schon mal!
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Re: Kundennummer generieren

Beitrag von komma4 »

kuki hat geschrieben:in der Spalte "Kundennummer" ermitteln und um eins erhöhen. Wie lässt sich das realisieren?
Mit einer AUTO_INCREMENT Spalte, die beim Einfügen eines neuen Datensatzes automatisch um Eins erhöht wird.

Welche Datenbank nutzt Du? Die interne HSQLDB?
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
kuki
*
Beiträge: 12
Registriert: Fr, 20.03.2009 11:25

Re: Kundennummer generieren

Beitrag von kuki »

komma4 hat geschrieben:Mit einer AUTO_INCREMENT Spalte, die beim Einfügen eines neuen Datensatzes automatisch um Eins erhöht wird.
ich nutze die interne HSQLDB der oooVersion 3.0.1 build9379. Die Option "AUTO_INCREMENT" finde ich nicht, auch nicht über die interne Hilfe.

In Access sieht es so aus und funktioniert:

Code: Alles auswählen

KDnr = DMax("[KundenID]", "Kunden")
NeuKDnr = KDnr + 1
[KundenID] = NeuKDnr
vg
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Re: Kundennummer generieren

Beitrag von komma4 »

Die Eigenschaft bei Erstellung der HSQLDB-Tabelle heisst IIRC INDENTITY....


Zum nachträglichen Ändern der Eigenschaft der Spalte kann ein SQL-Kommando genutzt werden.
Ebenso kann ein Ausgangswert eingestellt werden.


Muss ich heute abend mal in meinen Unterlagen nach der Syntax nachschlagen.... melde mich wieder...
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Re: Kundennummer generieren

Beitrag von komma4 »

HSQLDB, Spalte auf Typ INDENTITY ( AutoIncrement ) setzen:

Code: Alles auswählen

alter table "Tabelle1" alter column "id"  identity

Startwert setzen:

Code: Alles auswählen

alter table "tabelle1" alter column "id" restart with  12000

über Extras>SQL...>auszuführendes Kommando anwenden.

HIlft das?
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
kuki
*
Beiträge: 12
Registriert: Fr, 20.03.2009 11:25

Re: Kundennummer generieren

Beitrag von kuki »

Hallo Winfried,

vielen Dank für Deine Hilfe, es funktioniert! :-)

cu
Kuki
Antworten