Auf Thema antworten

Moin,

zu Frage 1: Ich würde die Formulare nicht nur verstecken, sondern schließen und bei Bedarf wieder öffnen.

Grund: Wenn Du ein Formuar nur in den Hintergrund stellst, behält es seinen Recordset. Ändern sich nun in anderen Formularen Daten, die auch das Recordset des vorigen Formulars beeinflussen, kann es, wenn man nicht akribisch aufpasst, zu verwirrenden Datenzuständen kommen. Öffnest Du ein Formular neu, wird das Recordset, also die zugrundeliegenden Daten, neu aufgebaut und alle Berechnungen in ungebundenen Feldern neu durchgeführt.

Man kann jeweils im Folgeformular "beim Laden" das vorige Formular schließen mit:

[CODE]DoCmd.Close acForm, "Formularname"[/CODE]

Natürlich ist darauf zuachten, dass, wenn man Direktverweise zum alten Formular hat, diese vor dem Schließen in Variablen zwischenspeichert um sie dann weiter benutzen zu können.


zu Frage 2:

Du kannst das Formular im Ereignis "Beim Öffnen" (Ereignisprozedur) veranlassen direkt zum "neuen Datensatz" zu springen. Dann dürften alle Felder leer sein. Es sei denn, Du hast für einzelne Felder in den Feldeigenschaften  der Tabelle oder im Formular Standardwerte hinterlegt.

[CODE]  DoCmd.GoToRecord , ,acNewRec[/CODE]


Zurück
Oben