Supportnet / Forum / Datenbanken
Warum ist kein zweiter Autowert möglich?
Frage
Hi to all,
zunächst in Access sowie jetzt auch in Star-Office 8 (HSQL-Datenbank) mußte ich erfolglos mein Vorhaben zwei Autowerte zu verwenden aufgeben. Es erscheinen jeweils Fehlermeldungen und der Vorgang wird abgebrochen.
Trivialbeispiel mit 3 Spalten
1) index -> Autowert -> Primärschlüssel
2) kundennummer -> Autowert -> KEIN Primärschlüssel
3) kundenname -> Textfeld
Ziel ist das automatische Vergeben einer Kundennummer beim Anlegen eines neuen Datensatzes.
Danke!
Antwort 1 von trekking
Es ist meines wissens nach nicht möglich zwei Auto Werte in Acces einzugeben. Es macht ja auch nicht wirklich Sinn. Wenn du einen Index als Autowert hast, dann entspricht das ja genau deiner Kundennummer mit Autowert, da beide bei 1 Anfangen und dann ja immer gleichzeitig hochgezählt würden.
Sinnvoler ist es den Index gleich als Kundennummer zu nehmen oder deine Kundennummer individuell einzugeben.
Gruß trekking
Sinnvoler ist es den Index gleich als Kundennummer zu nehmen oder deine Kundennummer individuell einzugeben.
Gruß trekking
Antwort 2 von sundancer
Hallo entwikler,
trekking hat das schon erkannt, wenn Du die KdNr frei
vergibts, kannst Du diese auch mal ändern. Bei Autowert geht garnichts.
vieleich so, mit einem Button "Neuer Kunde"
Private Sub btnErfassung_Click()
Dim XKd As Long
XKd = 0
On Error Resume Next
XKd = DMax("idKdNr", "tbl_kunden")
idKdNr = XKd + 1
On Error GoTo 0
Me.Vorname.SetFocus
End Sub
Gruß sundancer
trekking hat das schon erkannt, wenn Du die KdNr frei
vergibts, kannst Du diese auch mal ändern. Bei Autowert geht garnichts.
vieleich so, mit einem Button "Neuer Kunde"
Private Sub btnErfassung_Click()
Dim XKd As Long
XKd = 0
On Error Resume Next
XKd = DMax("idKdNr", "tbl_kunden")
idKdNr = XKd + 1
On Error GoTo 0
Me.Vorname.SetFocus
End Sub
Gruß sundancer
Antwort 3 von Knubbel
Hallo Entwickler,
oder gestalte ein Makro
setzenWert
Ausdruck: DomMax("[Kundennr]+1";"[Kundentabelle]")
Als Bedingung gibst du noch [Kundennummer] Ist Null vor, damit beim Blättern durch die Datensätze nicht eine vorhandene Nr. überschrieben wird.
Das Makro bindes du an die Eigenschaft z.B Bei Fokuserhalt, oder BeimAnzeigen oder an eine dir noch günstige erscheinende Eigenschaft.
mfg Knubbel
oder gestalte ein Makro
setzenWert
Ausdruck: DomMax("[Kundennr]+1";"[Kundentabelle]")
Als Bedingung gibst du noch [Kundennummer] Ist Null vor, damit beim Blättern durch die Datensätze nicht eine vorhandene Nr. überschrieben wird.
Das Makro bindes du an die Eigenschaft z.B Bei Fokuserhalt, oder BeimAnzeigen oder an eine dir noch günstige erscheinende Eigenschaft.
mfg Knubbel

