Ich möchte in einem Formular als Standardwert eines Feldes
(Typ Zahl) dem Benutzer den nächsthöheren Wert des vor-
hergehenden Datensatzes anbieten. In der Feldeigenschaft
'Standardwert' habe ich die Funktion
=DomMax("Feldname";"Tabellenname")+1
angegeben.
Öffnet man das Formular (Endlos-Formular) und klickt auf
'neuer Datensatz', so erscheint der richtige Standardwert.
Fährt man dann mit der Eingabe der nachfolgenden Feldern
fort, zeigt Access eine neue Zeile für den nächsten Daten-
satz an, aber mit dem gleichen Standardwert wie vorhin, also
nicht inkrementiert (Der Datensatz, der gerade in Bearbeitung
ist, ist schliesslich noch nicht in der Tabelle gespeichert.)!
Wie kann man erreichen, dass auch bei der Eingabe von mehr
als einem Datensatz immer der richtige Standardwert ange-
boten wird ?
Im voraus besten Dank.
Jürg Schaufelberger
hast Du die Feld- und Tabellennamen in eckige Klammern gesetzt?
bei mir funktioniert der folgende Befehl so wie Du es wünschst:
=Format(DomMax("[Feldname]";"[Tabellenname]")+1)
Gruß
Peter Schlegel
"Jürg Schaufelberger" schrieb:
Danke für den Hinweis, doch die Klammernsetzung ist in meinem
Fall nicht die Lösung. In einem einspaltigen Formular funktioniert
es auch bei mir, aber in einem Formular mit Ansicht 'Endlosformular'
(tabellarisch) habe ich das beschriebene Problem. Nun, vielleicht
weiss sonst noch jemand einen Rat.
Gruss Jürg Schaufelberger
"Peter Schlegel" <ps...@t-online.de> schrieb im Newsbeitrag
news:3D5689A5...@t-online.de...
ohne es probiert zu haben :
in einem Endlosformular weiß der letzte Record nicht, was der vorige
gemacht hat. man müßte daher wohl nach jedem Record ein Update machen,
um den folgenden Record neu zu initialisieren. Das dürfte aber die
Performance gegen Null laufen lassen. Daher wirst Du mit der
DomMax-Funktion wohl nicht viel Glück haben.
Beste Grüße
Frank