Supportnet Computer
Planet of Tech

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

Antwort 2 von Jens

Da ich nicht mehr die Quelle weiß, kopier ich halt alles per Zitat hier rein:
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



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??

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

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

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

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