MS Access und zusätzlichen Autowert
Hallo,
vieleicht ja Jemand eine tolle Idee dazu.
Ich erstelle gerade eine kleine Access-Datenbank in der Dokumente verwaltet werden sollen.
Es ist kein fester Auftrag sondern eine dynamisches Testen was vom Ablauf funktioniert weil der Bedarf nicht klar ist.
Also eine Tabelle mit verschiedenen Werten.
Nun soll jeder Datensatz eine laufende Nummer bekommen.
Den normalen Autowert kann ich aber nicht verwenden.
- es darf keine Lücken geben (diese gibt es z.B. wenn die Erstellung eines Datensatzes abgebrochen wird)
- es wird Sprünge zum Jahreswechsel geben (könnte man mit VBA hinfummeln, nicht schön)
Ich probiere gerade mit den Events des Forms.
Es ist eine Tabellenansicht wo man auch Datensätze unten einfach anfügen kann.
Bei Form_BeforeInsert erscheint meine gewünschte ID erst beim speichern des Datensatzes.
Eigentlich prima.
Aber1: Man muss mit dem Cursor zwei nach unten drücken um zum neuen Datensatz zu kommen. Das iritiert
Aber2: Wenn man einmal nach unten drückt und dann ESC ist diese Nummer wieder leer. Er hat dann den Datensatz gespeichert aber die Änderung der Nummer verworfen
Bei Form_BeforeInsert erscheint die gewünschte ID schon beim erstellen.
Aber da ist sie noch nicht gespeichert.
Wenn man an 2 PCs gleichzeitig einen Datensatz erstellt, wird die selbe Nummer verwendet.
Einer bekommt beim Speichern dann eine Fehlermeldung.
Ich könnte das hinzufügen zur Tabellenansicht einfach verbieten und einen Button "Neu" machen.
Aber wenn man 50-60 Datensätze hinzufügen möchte, ist das schon nerviger als rein Cursor nach Unten.
Jemand eine bessere ID?
Ich würde gerne in der Tabelle für den Standardwert schon eine Funktion verwenden.
Aber das kann Access nicht. Man kann über VBA den Standardwert fest eintragen, aber ist ja nicht dasselbe.
Stefan
vieleicht ja Jemand eine tolle Idee dazu.
Ich erstelle gerade eine kleine Access-Datenbank in der Dokumente verwaltet werden sollen.
Es ist kein fester Auftrag sondern eine dynamisches Testen was vom Ablauf funktioniert weil der Bedarf nicht klar ist.
Also eine Tabelle mit verschiedenen Werten.
Nun soll jeder Datensatz eine laufende Nummer bekommen.
Den normalen Autowert kann ich aber nicht verwenden.
- es darf keine Lücken geben (diese gibt es z.B. wenn die Erstellung eines Datensatzes abgebrochen wird)
- es wird Sprünge zum Jahreswechsel geben (könnte man mit VBA hinfummeln, nicht schön)
Ich probiere gerade mit den Events des Forms.
Es ist eine Tabellenansicht wo man auch Datensätze unten einfach anfügen kann.
Bei Form_BeforeInsert erscheint meine gewünschte ID erst beim speichern des Datensatzes.
Eigentlich prima.
Aber1: Man muss mit dem Cursor zwei nach unten drücken um zum neuen Datensatz zu kommen. Das iritiert
Aber2: Wenn man einmal nach unten drückt und dann ESC ist diese Nummer wieder leer. Er hat dann den Datensatz gespeichert aber die Änderung der Nummer verworfen
Bei Form_BeforeInsert erscheint die gewünschte ID schon beim erstellen.
Aber da ist sie noch nicht gespeichert.
Wenn man an 2 PCs gleichzeitig einen Datensatz erstellt, wird die selbe Nummer verwendet.
Einer bekommt beim Speichern dann eine Fehlermeldung.
Private Sub Form_BeforeInsert(Cancel As Integer)
Me.InternalID = DMax("[InternalID]", "Tab_Document") + 1
End Sub
Ich könnte das hinzufügen zur Tabellenansicht einfach verbieten und einen Button "Neu" machen.
Aber wenn man 50-60 Datensätze hinzufügen möchte, ist das schon nerviger als rein Cursor nach Unten.
Jemand eine bessere ID?
Ich würde gerne in der Tabelle für den Standardwert schon eine Funktion verwenden.
Aber das kann Access nicht. Man kann über VBA den Standardwert fest eintragen, aber ist ja nicht dasselbe.
Stefan
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 3283593869
Url: https://administrator.de/forum/ms-access-und-zusaetzlichen-autowert-3283593869.html
Ausgedruckt am: 11.04.2025 um 16:04 Uhr
1 Kommentar