Supportnet Computer
Planet of Tech

Supportnet / Forum / Datenbanken

Access 2007 AutoNumber





Frage

Ich möchte für ein Feld "Kundennummer", dass automatisch die nächste Nummer eingefügt wird, also mit AutoNumber. Die Kunden-Nr. enthält jedoch die Postleitzahl als Anfang, also: [PLZ][AutoNumber] Die AutoNumber soll dreistellig sein. Dies ergäbe z.B "8412012". Habe irgendwie nicht herausgefunden, wie man das bewerkstelligen könnte.

Antwort 1 von Marie

Die Autonummer heisst deshalb Autonummer weil sie auto-matisch erstellt wird, von 1 bis ... soviel Datensätze wie Du anlegst. Du kannst die Autonummer dreistellig machen, wenn Du 99 Datensätze anlegst und wieder löschst, dann geht es bei 100 weiter. :-))

Dann machst Du eine Abfrage über die Tabelle mit dem Feld Kundennummer: [PLZ] & [Autonummer]

Darfst aber die Datenbank niemals komprimieren sonst werden die ersten 99 Satznummern wieder frei.

gruß marie

Antwort 2 von lorf55

Hallo miteinander,
es gibt auch noch die Möglichkeit was drumrum zu bauen.
Als 1. würde ich in die Tabelle (bei mir KdNr) ein Autowert-Feld einbauen (wenn es nicht schon drin ist), nennen wir es ID. Damit gibt es bei jeder Eingabe den nächsten Wert.
Als 2. würde ich in das Formular ein Feld "Kundennummer" setzen, das als Steuerelementinhalt
=[PLZ] & Format([ID];"000")
erhält. Damit wird nach Eingabe einer PLZ eine passende Kundennummer angezeigt.
Als 3. gibt man denn für das Textfeld unter Ereignisse "Beim Verlassen"
Private Sub Text8_Exit(Cancel As Integer)
    CurrentDb.Execute _
      "INSERT INTO KdNr ( Kundennummer ) " + _
      "SELECT  [PLZ] & Format([ID],'000') " + _
      "FROM KdNr;", dbFailOnError
End Sub
ein. Dadurch kommt mein falscher "Autowert" denn auch noch in die Tabelle.

Gruß
lorf