Hallo zusammen,
ich möchte gerne in einer Tabelle einen Zählmodus einbauen, der den letzten Wert im neuen Datensatz um 1 erhöht. kann mir bitte jemand sagen wie das geht?
Danke
Hallo,
warum nimmst Du nicht einfach ein Autowertfeld?
Ansonsten kannst Du mit DMax() den letzten Wert ermitteln und 1 dazuzählen.
Z.B. im Ereignis "Beim Anzeigen":
Private Sub Form_Current()
If Me.NewRecord = True Then
Me!ZahlenFeld = Nz(DMax("ZahlenFeld", "Tabellenname) + 1
End If
End Sub
der Autowert hilft mir nicht´s da ich jedes Jahr bei 1 anfangen muss.
Danke für deine Antwort MzKlMu
mir ist nur nicht klar wie und wo ich den Befehl eingeben muss.
ich nin in der Tabelle in dem betreffenden Feld oder?? über Makro
Vorab schon danke für deine Hilfe
Gruß
Hallo,
das ist VBA Code der im entsprechenden Ereignis als Ereignisprozudur angelegt werden muss.
In einem Formular, in der Tabelle direkt kann man das nicht.
Da muss aber noch ein Kriterium für das Jahr eingebaut werden.
Hallo,
Zuerst sollte die Frage geklärt werden ob die Nummerierung nachträglich bei vorhandenen Datensatzen eingefügt werden soll, oder bei der Eingabe der Daten in ein Formular.
Bei letzterem kannst du per VBA die nächsthöhere Nummer holen indem du z.B. per DMax-Funktion die letzte Nummer aus der Tabelle bei dem aktuellen Jahr holst, und um 1 erhöhst, so wie Klaus das beschrieben hat.
Andreas
habe ich in "Beim Hingehen" als Ereigniss eingetragen
Me!Stock hinterlegt er immer ROT
wo ist denn der Fehler Bitte
nochmals danke für deine Hilfe
Private Sub Stock_Test_Enter()
Private Sub Form_Current()
If Me.NewRecord = True Then
Me!Stock_Test= Nz(DMax("Stock_Test", "Fahrzeugbuch") + 1
End If
End Sub
Jetzt gehts VIELEN DANK euch beiden
Gruß
Hallo,
ich sehe aber noch ein Fehler.
Du sagtest doch du willst immer jedes Jahr bei 1 beginnen?
Dann musst du deinen Code verändern.
Der Algorithmus ist wie folgt:
'Letzter ID holen mit aktuellem Jahr als Criterium
'Falls kein ID vorhanden dann bei 1 beginnen, da dies der erste Eintrag im neuen Jahr ist
'Ansonsten wenn ID vorhanden: ID incremieren
Gruß Andreas
Hallo Andreas Danke für deinen Tip
da ich heute das erste mal mit diesen Codes arbeite, könntest du mir bitte den code einfügen bzw erstellen
Danke
???
Hallo,
hier der Code:
Private Sub Form_Current()
Dim nextID As long
If Me.NewRecord = True Then
Me!Zählfeld = nz(DMax("Stock_Test", "Fahrzeugbuch", "Jahr=" & year(now())), 0) + 1
End If
End Sub
Voraussetzung ist in der Tabelle hast du ein Feld namens jahr.
Wenn du nur das Datum in der Tabelle hast lautet der code so:
Me!Zählfeld = nz(DMax("Stock_Test", "Fahrzeugbuch", "Jahr(Datum)=" & year(now())), 0) + 1