Datensatznummer automatisch generieren
Verfasst: Mo, 26.03.2007 14:27
Hallo,
ich habe eine Datenbank in Base erstellt.
In dieser Datenbank soll jede Datensatznummer automatisch generiert werden. (z.B. 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 , April, Mai .....Dez. fangen wir wieder mit 001.
Mit Hilfe des Forums und des Buches (Datenbanken mit OpenOffice.org 2 Base habe ich folgende Code geschrieben:
Sub IDno
Dim oDoc as Object
Dim oForm As Object
Dim oFeld2 As Object
Gun= CDateToIso (Now ())
DIM sNo as Integer
DIM oStr as String
oDoc=thisComponent ' Referenz auf Dokument
oForm=oDoc.DrawPage.Forms.GetByName("Form1") ' erstes Formular
oFeld1=oForm.getByName("sipariş").CurrentValue
oFeld2 = oForm.getByName("NO")
sAy=mid(Gun,5,2)
sSene=mid(Gun,3,2)
sNo = oFeld1
oStr = sAy + sSene + "/" + "00" + sNo
oFeld2.String = oStr
End Sub
Mein Makro funktioniert bis auf 0207/009, danach statt 0207/010 wird 0207/0010. Ab März 07 wird nicht neu mit 001 sondern mit 0207/last+1
hochgezählt.
Kann jemand mir helfen
Danke
Melek
ich habe eine Datenbank in Base erstellt.
In dieser Datenbank soll jede Datensatznummer automatisch generiert werden. (z.B. 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 , April, Mai .....Dez. fangen wir wieder mit 001.
Mit Hilfe des Forums und des Buches (Datenbanken mit OpenOffice.org 2 Base habe ich folgende Code geschrieben:
Sub IDno
Dim oDoc as Object
Dim oForm As Object
Dim oFeld2 As Object
Gun= CDateToIso (Now ())
DIM sNo as Integer
DIM oStr as String
oDoc=thisComponent ' Referenz auf Dokument
oForm=oDoc.DrawPage.Forms.GetByName("Form1") ' erstes Formular
oFeld1=oForm.getByName("sipariş").CurrentValue
oFeld2 = oForm.getByName("NO")
sAy=mid(Gun,5,2)
sSene=mid(Gun,3,2)
sNo = oFeld1
oStr = sAy + sSene + "/" + "00" + sNo
oFeld2.String = oStr
End Sub
Mein Makro funktioniert bis auf 0207/009, danach statt 0207/010 wird 0207/0010. Ab März 07 wird nicht neu mit 001 sondern mit 0207/last+1
hochgezählt.
Kann jemand mir helfen
Danke
Melek