Automatische Datensatznumerierung per SQL?

Datenbanklösungen mit AOO/LO

Moderator: Moderatoren

melek66
Beiträge: 6
Registriert: Fr, 23.02.2007 09:36
Wohnort: Ruhrgebiet

Automatische Datensatznumerierung per SQL?

Beitrag von melek66 »

Hallo,
ich habe eine Datenbank in Base erstellt.
In dieser Datenbank soll jede Datensatznummer automatisch generiert werden. (0207/001......n)
02 ist für akt. Monat, 07 ist für akt. Jahr und 001 .....n ist fortlaufende Nummer für Monat 02. D.h. für März 07 fangen wir wieder mit 001. Habe ich mit SQL Befehl:
SELECT Month "Datum" , Year "Datum" FROM CURRENT_DATE versucht aber...
Kann jemand mir helfen??

Danke
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Beitrag von komma4 »

Du verwendest die interne HSQLDB-engine?
Wie willst Du Datensätze einfügen? (Formular, Dialog)

Ich denke, dass es nicht mit Anweisungen in Feldeigenschaften / "Defaultwert" der Tabelleneigenschaften geht. Mit "reinen" BASIC-Anweisungen geht's natürlich....
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)
melek66
Beiträge: 6
Registriert: Fr, 23.02.2007 09:36
Wohnort: Ruhrgebiet

Beitrag von melek66 »

Hallo Winfried,
danke für deine schnelle Antwort.

Ich verwende die interne HSQLDB-engine. Die Datensätze möchte ich per Formular einfügen.

Wenn es mit "reinen" BASIC-Anweisungen geht, wäre auch ok.

Nochmal Danke schön.

Melek
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Beitrag von komma4 »

Wie es mit einem Formular geht (welches ja an die Datenquelle "angebunden" ist) - weiss ich noch nicht.

Ich arbeite mit einem Dialog. Dort bestimme ich die variablen Teile (Projekttage, Zuschläge, Auswahl des Kunden aus Listbox etc.), um dann nach "OK" die nächste ReNr zu ermitteln bzw. zusammen zu setzen (mit Basic, ähnlich Deiner Nummerierung). Das Ganze wird dann mit SQL in die Datenbank eingefügt.

Im englischsprachigen Forum, Abteilung BASE gibt's IMHO Beispiele von Drew Jensen, die mit Formularen arbeiten. Vielleicht kannst Du Dir von dort weitere Anregungen holen....

Viel Erfolg!
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)
melek66
Beiträge: 6
Registriert: Fr, 23.02.2007 09:36
Wohnort: Ruhrgebiet

Beitrag von melek66 »

Danke für die Info.
Ich werde weitersuchen.
Ich bin für jede weitere Hilfe und Tips dankbar.

Melek
melek66
Beiträge: 6
Registriert: Fr, 23.02.2007 09:36
Wohnort: Ruhrgebiet

Beitrag von melek66 »

Also ich habe weiter versucht. Meine Code sieht so aus:

Sub IDno
Heute= CDateToIso (Now())
Dim sNo as Integer
oDoc=thisComponent ' Referenz auf Dokument
oForm=oDoc.DrawPage.Forms.GetByName("Form1") ' erstes Formular
oFeld2 = oForm.getByName("NO")
oFeld3 = oForm.getByName ("SELECT "bestNo.Last" FROM "PROJEKTE"")
sNo= "001" 'statt 001 möchte ich hier den Wert aus der Tabelle (Projekte) einlesen aber mit "oFeld3.Value" funktioniert nicht
smon=mid(Heute,5,2)
sjahr=mid(Heute,3,2)
oStr = smon + "-" + sjahr + "/" + sNo
oFeld2.text = oStr


End Sub


Wer kann mir helfen?
MfG
Melek
Antworten