Access-o-Mania

Access-Forum (Deutsch/German) => Formular => Thema gestartet von: maxster am Februar 19, 2019, 08:22:08

Titel: Werte aus dem letzten eingegebenen Datensatz in einem Formular als Standardwert
Beitrag von: maxster am Februar 19, 2019, 08:22:08
Hallo Access Community,

einmal vorweg ich bin blutiger Anfänger in Access und das ist meine erste Datenbank.
Ich habe folgendes Problem ich benutze ein Formular zur Dateneingabe von Lohnscheinen bei uns im Unternehmen, dort werden Daten wie Auftrag, EDVNr., Datum, Personalnummer, Personenanzahl etc. eingegeben.

Nun kommt es auch dazu das auf einem Lohnschein mehrere Personen aufgeführt werden, um mir das Leben bei der eingabe zu erleichtern lasse ich wenn die Personenanzahl >1 nach der Eingabe des Datensatzes ein neues Formular öffnen das als Standardwert in allen Textfeldern =DomLetzterWert("[Auftrag]";"[tb_Daten]") hinterlegt hat.
die Personalnummer ausgenommen dadurch muss ich nur noch für einen neuen Datensatz die Personalnummer eingeben.
Leider Funktioniert das nur bedingt da DomLetzterWert nicht sauber funktioniert und zwischendurch nicht den zuletzt eingegeben Datensatz benutzt. Dann muss ich die Datenbank komprimieren und reparieren damit die Funktion wieder läuft.
in allen Formularen ist die Dateneingabe mit Ja hinterlegt.
Die Tabelle tb_Daten hat auch ein ID Feld mit Autowert.
Kann mir bitte jemand helfen ich bin für alle Alternativen Dankbar.
Titel: Re: Werte aus dem letzten eingegebenen Datensatz in einem Formular als Standardwert
Beitrag von: ebs17 am Februar 19, 2019, 08:39:36
Zitatda DomLetzterWert nicht sauber funktioniert
Etwas "letztes" benötigt so etwas wie eine definierte Reihenfolge in nötigen Moment. Das ist anders als wie in einem Recordset oder einer Exceltabelle in DB-Tabellen und Abfragen nicht so sicher darstell- und verwendbar.

Für temporäre Sitzungen: Standardwert aus vorherigem Datensatz (http://www.donkarl.com?FAQ4.22)

Wenn Du auf letzte Eingaben über ein Schließen von Formular und DB hinaus zugreifen wolltest, müsstest Du
- als Basis für einen Tabellenzugriff ein objektives Merkmal haben, etwa die maximale ID, einen maximalen Zeitstempel o.ä. oder
- Formulareingaben explizit zusätzlich in einer Memorytabelle ablegen und diese Ablagen bei einem neuen Datensatz dann jeweils zurückladen.
Titel: Re: Werte aus dem letzten eingegebenen Datensatz in einem Formular als Standardwert
Beitrag von: maxster am Februar 19, 2019, 09:28:42
Hallo esb17,

erstmal vielen Dank für deine Antwort und deine Erklärung.
4.22 Standardwert aus vorherigem Datensatz habe ich schon einmal probiert   Me!MeinSteuerelement.DefaultValue = Chr$(34) & Me!MeinSteuerelement & Chr$(34)   wäre ja theoretisch richtig nur funktioniert das ja nicht in einem Formular was ich öffne und noch keine Eingaben dort gemacht habe. Oder kann man mit dem Befehl auf das Steuerelement aus dem bereits geöffnetem Formular zugreifen?

Titel: Re: Werte aus dem letzten eingegebenen Datensatz in einem Formular als Standardwert
Beitrag von: DF6GL am Februar 19, 2019, 10:28:36
Hallo,

die Antwort hast Du doch schon erhalten...


Beim erneuten Öffnen des Formulars muss der Wert eben aus der dahinterliegenden Tabelle oder einer entspr. Hilfstabelle entnommen und der Form-Eigenschaft "Standardwert" zugewiesen werden, am besten beim Form-Ereignis "Beim Laden".
Titel: Re: Werte aus dem letzten eingegebenen Datensatz in einem Formular als Standardwert
Beitrag von: maxster am Februar 19, 2019, 11:32:42
Besten Dank habs hinbekommen  ;)