Supportnet / Forum / Datenbanken
fortlaufende nummer
Frage
hi
wie kann ich in access eine fortlaufende nummer generieren?? ich habe eine fixe 7stellige nummer und an die nummer möchte ich eine 5stellige fortlaufende nummer dranhängen!! die dann in form von barcode ausgedruckt werden kann! ich habe eine 2/5 interleaved schriftart! das wäre kein problem! ich müsst nur wissen wie man die fixe nummer und die fortlaufende !!nebeneinander!! in einen bericht bringt!!
plz help! thx
Antwort 1 von pelle
Hallo Handtuch,
wäre dies vielleicht ein Weg:
a) richte ein Feld mit der fixen Nummer ein = Feld1 (evtl. mit Standardvorgabe)
b) richte ein Feld mit dem Typ Autowert = Feld2
c) im Bericht ein Textfeld einrichten
d) im Steuerelementinhalt eintragen
=[Feld1]&[Feld2]
???
Sonst meld dich nochmal!
gruss
pelle
wäre dies vielleicht ein Weg:
a) richte ein Feld mit der fixen Nummer ein = Feld1 (evtl. mit Standardvorgabe)
b) richte ein Feld mit dem Typ Autowert = Feld2
c) im Bericht ein Textfeld einrichten
d) im Steuerelementinhalt eintragen
=[Feld1]&[Feld2]
???
Sonst meld dich nochmal!
gruss
pelle
Antwort 2 von Jens
Da ich nicht mehr die Quelle weiß, kopier ich halt alles per Zitat hier rein:
Gruß
Jens
Zitat:
Ich arbeite mit Microsoft ACCESS 1.1. und möchte, daß in einem Formular innerhalb eines Textfeldes automatisch ein selbstdefinierter Zähler erscheint. Dieser soll sich wie folgt zusammensetzen:
Beispiel: B93-0001
Der Zähler soll folgendermaßen hochzählen:
a) der Bereich 0001 soll bis 9999 zählen.
b) anschließend soll sich der Wert 93 auf 94 erhöhen und 9999 soll auf 0001 zurückgesetzt werden.
Beispiel:
B93-0001......B93-9999 -> B94-0001......B94-9999...
Wie kann ich das erreichen?
Antwort:
Um diese Art von Zähler zu verwenden, erstellen Sie sich eine Funktion, die Sie bei der Eigenschaft "Beim Hingehen" Ihres Textfeldes aufrufen.
Der Funktionsaufruf sieht wie folgt aus:
TEXTFELD 'feld' im Formular 'formular' :
Beim Hingehen: =zähle()
Das Formular 'Formular' basiert auf der Tabelle 'Tabelle' und diese enthält ein Textfeld 'Feld'.
Um die Funktion anzulegen, öffnen Sie ein Modul und geben dort folgenden Code ein:
Function zähle ()
Dim db As Database, formular As Form
Dim x As Integer, z As Integer, j As Integer
Dim neu As String, b As String
Set db = CurrentDB()
Set formular = forms!formular
x = DCount("Feld", "Tabelle") ' DCount prüft, ob schon Daten-
' sätze im Feld vorhanden sind
If x = 0 Then
MsgBox "Bitte den Anfangswert für den Zähler eingeben"
Else
neu = DLast("Feld", "Tabelle") ' schreibt in <neu> den Wert
' des letzten Feldes
b = Left$(neu, 1) ' in b <- steht der Buchstabe
j = Val(Mid$(neu, 2, 2)) ' in j <- steht bsp.93
z = Val(Right$(neu, 4)) ' in Z <- steht der Counter
z = z + 1
If z = 10000 Then ' wenn Counterzahl 10000 ist,
z = 1 ' wieder auf den Wert 1 setzen
j = j + 1 ' das Jahr um 1 erhöhen
End If
If IsNull(forms!formular!feld) Then ' setzt Steuerelement
forms!formular!feld = b & Format(j, "##") & "-" & Format(z, "0000")
End If
End If
End Function
Ich arbeite mit Microsoft ACCESS 1.1. und möchte, daß in einem Formular innerhalb eines Textfeldes automatisch ein selbstdefinierter Zähler erscheint. Dieser soll sich wie folgt zusammensetzen:
Beispiel: B93-0001
Der Zähler soll folgendermaßen hochzählen:
a) der Bereich 0001 soll bis 9999 zählen.
b) anschließend soll sich der Wert 93 auf 94 erhöhen und 9999 soll auf 0001 zurückgesetzt werden.
Beispiel:
B93-0001......B93-9999 -> B94-0001......B94-9999...
Wie kann ich das erreichen?
Antwort:
Um diese Art von Zähler zu verwenden, erstellen Sie sich eine Funktion, die Sie bei der Eigenschaft "Beim Hingehen" Ihres Textfeldes aufrufen.
Der Funktionsaufruf sieht wie folgt aus:
TEXTFELD 'feld' im Formular 'formular' :
Beim Hingehen: =zähle()
Das Formular 'Formular' basiert auf der Tabelle 'Tabelle' und diese enthält ein Textfeld 'Feld'.
Um die Funktion anzulegen, öffnen Sie ein Modul und geben dort folgenden Code ein:
Function zähle ()
Dim db As Database, formular As Form
Dim x As Integer, z As Integer, j As Integer
Dim neu As String, b As String
Set db = CurrentDB()
Set formular = forms!formular
x = DCount("Feld", "Tabelle") ' DCount prüft, ob schon Daten-
' sätze im Feld vorhanden sind
If x = 0 Then
MsgBox "Bitte den Anfangswert für den Zähler eingeben"
Else
neu = DLast("Feld", "Tabelle") ' schreibt in <neu> den Wert
' des letzten Feldes
b = Left$(neu, 1) ' in b <- steht der Buchstabe
j = Val(Mid$(neu, 2, 2)) ' in j <- steht bsp.93
z = Val(Right$(neu, 4)) ' in Z <- steht der Counter
z = z + 1
If z = 10000 Then ' wenn Counterzahl 10000 ist,
z = 1 ' wieder auf den Wert 1 setzen
j = j + 1 ' das Jahr um 1 erhöhen
End If
If IsNull(forms!formular!feld) Then ' setzt Steuerelement
forms!formular!feld = b & Format(j, "##") & "-" & Format(z, "0000")
End If
End If
End Function
Gruß
Jens
Antwort 3 von handtuch
hi
danke für die vorschläge aber das hat mir auch nicht weiterhelfen können!!
vielleicht eine andere lösung??
danke für die vorschläge aber das hat mir auch nicht weiterhelfen können!!
vielleicht eine andere lösung??
Antwort 4 von 14071
Hi Handtuch,
die Lösung von Pelle bewirkt doch genau das was du wolltest. Wenn du nicht sagst, warum es dir nicht hilft, wird dir keiner ne andere Lösung anbieten können.
ciao
Jürgen
die Lösung von Pelle bewirkt doch genau das was du wolltest. Wenn du nicht sagst, warum es dir nicht hilft, wird dir keiner ne andere Lösung anbieten können.
ciao
Jürgen
Antwort 5 von handtuch
hi
ja also! die sache ist die! wenn ich ein textfeld erstelle und die beiden spalten aus der tabelle hineinverknüpfe wie es pelle sagt dann steht im textfeld #name? und ich komme nicht weiter! kann das sein das ich dann im entwurfmodus der tabelle die felder anders definieren muss??
plz help
ja also! die sache ist die! wenn ich ein textfeld erstelle und die beiden spalten aus der tabelle hineinverknüpfe wie es pelle sagt dann steht im textfeld #name? und ich komme nicht weiter! kann das sein das ich dann im entwurfmodus der tabelle die felder anders definieren muss??
plz help
Antwort 6 von 14071
der Fehler kommt bei mir auch gelegentlich vor. Erstelle ein neues Textfeld (nicht aus der Feldliste einfügen!!). Schreib dort rein =Feld1 & Feld2 und dann sollte es funzen. Alternativ kannst du als Datenherkunft eine Abfrage verwenden und dort ein neues Feld erzeugen. Beispiel: Alle benötigten Felder in den Bereich nach unten ziehen. Neues Feld erzeugen Barcode:Feld1 & Feld2. Dann kannst du im Bericht das Feld Barcode direkt aus der Auswahlliste einfügen.
hth
Jürgen
hth
Jürgen
Antwort 7 von handtuch
thx allen für die hilfe aber ich habs mittlerweilen selber geschaft mit einem selbstgeschriebene code! aber danke trotzdem!
gruß dani
gruß dani

