Access-o-Mania

Access-Forum => Formular => Thema gestartet von: Christian5467 am Januar 02, 2022, 10:53:20

Titel: Standardwert für Formularfeld berechnen
Beitrag von: Christian5467 am Januar 02, 2022, 10:53:20
Hallo zusammen,
ich möchte eine Kundendatei erstellen. Ich habe dazu eine Tabelle, welches ein Auto ID Feld hat, dieses beginnt Accesstypisch bei 1 und wirf hochgezählt.
Ich möchte meine Kundennummern jedoch mit K400000 + den Wert der AutoID vergeben, also z.B. K4000001, K4000002, .... Dieser Wert soll bei Aktivierung des Formularfeldes autromatisch als Standard angezeigt werden, aber überschreibbar sein.
Wie stelle ich das am Besten an?

Vielen Dank und Gruß
Christian
Titel: Re: Standardwert für Formularfeld berechnen
Beitrag von: Beaker s.a. am Januar 02, 2022, 12:08:45
Hallo Christian,
Für fortlaufende Nummern ist die AutoWert-Id nicht geeignet. Da entstehen
schon mal Lücken. Nimm ein zweites Zahlenfeld, dass du mit
"K " & DMax("frtlNr", "DeineTabelle") +1hochzählen kannst.
Weitere Hinweise zu fortlaufenden Nummern findest du hier und in anderen
Foren zu Hauf.

gruss ekkehard
Titel: Re: Standardwert für Formularfeld berechnen
Beitrag von: MzKlMu am Januar 02, 2022, 12:12:49
Hallo,
über den Standardwert geht das nicht. Der Autowert ist ja beim Öffnen des Formulars noch nicht bekannt, daher kann der Standardwert nicht vorbelegt werden.

Du kannst aber die Kundennummer setzen, wenn z.B. im Feld für den Kundennamen etwas eingetragen wird. Aber nur, wenn ein neuer Datensatz erstellt wird.
Im Ereignis "Nach Aktualisierung des Namensfeldes:
If Me.NewRecord = True Then
   Me.Kundennummer = "K400000" & Me.Autowertfeld
End If
Titel: Re: Standardwert für Formularfeld berechnen
Beitrag von: Christian5467 am Januar 02, 2022, 12:50:54
Super, vielen Dank.
Das habe ich gesucht.

Gruß
Christian
Titel: Re: Standardwert für Formularfeld berechnen
Beitrag von: Beaker s.a. am Januar 02, 2022, 14:06:34
Das so die Kundennr. bei jeder Zehnerpotenz immer länger wird hast du bedacht?
Ansonsten
If Me.NewRecord = True Then
   Me.Kundennummer = "K" & (400000 + Me.Autowertfeld)
End If
Titel: Re: Standardwert für Formularfeld berechnen
Beitrag von: Christian5467 am Januar 02, 2022, 14:49:03
Nein, hatte ich so noch nicht. Aber vielen Dank. Jetzt ist es perfekt!
Danke und Gruß
Christian
Titel: Re: Standardwert für Formularfeld berechnen
Beitrag von: ebs17 am Januar 02, 2022, 15:52:55
Anmerkungen:

"Auto ID Feld" und "überschreibbar sein" widerspricht sich und ist nicht immer problemfrei.

Es macht erheblich Sinn, eine Zahl eine Zahl sein zu lassen und nur für die Anzeige ein Format zu verwenden. Ein Hochzählen einer Zahl ist deutlich einfacher.
? Format(27, "K4000000")
K4000027
Titel: Re: Standardwert für Formularfeld berechnen
Beitrag von: Beaker s.a. am Januar 02, 2022, 16:34:58
Hallo Eberhard,
Zitat"Auto ID Feld" und "überschreibbar sein" widerspricht sich und ist nicht immer problemfrei.
Wie man's nimmt. Wenn ihm die lückenlose flfd. Nummer wichtiger ist
als die Konsistenz zwischen AutoWert und Kundennr. ...

gruss ekkehard