Frage

ist es möglich, das Kreiseleignis zu umgehen?Ich habe einen Kodex in meinem Bevorupdate-Ereignis, der ausgeführt wird, wenn ein Versuch, den Datensatz zu speichern, jedoch erfolgt, jedoch auf derselben Form habe ich ein Unterformular, in dem der Benutzer einen Datensatz in diesem Unterformular auswählen muss.Da dies der Fokus des aktuellen Datensatzes ändert, löst sie meinen Bevorupdate-Code aus, den ich nicht möchte.

Gibt es eine Möglichkeit, das Bevorupdate-Ereignis der Form zu umgehen, wenn der Benutzer in einem Subformular einer Formular auf einen Datensatz klickt?

War es hilfreich?

Lösung

"Gibt es eine Möglichkeit, das Ereignis der Form des Formulars zu umgehen, wenn der Benutzer in einem Subformular eines Formulars auf einen Datensatz klickt?"

Wenn Sie den Fokus auf ein Unterformular mit einem nicht gespeicherten Datensatz im Hauptformular wechseln, wird der Zugriff automatisch versucht, den "Dirty" -Anbild-Datensatz zu speichern.

Das Verhalten ist in den Zugriff aufgebaut und Sie können es nicht verhindern.

Ich denke, Sie sollten einen anderen Ansatz verwenden. Derzeit (basierend auf der Kommentare-Diskussion) haben Sie eine Befehls-Taste, um den Hauptformular-Datensatz zu speichern. Wenn jedoch bestimmte Steuerelemente NULL enthalten, brechen Sie das Speichern vom -Vor-Event des Formulars ab.

Aus meiner Sicht sollte der Benutzer nicht einmal auf die Befehlstaste klicken können, wenn irgendein dieser Steuerelemente NULL enthalten. (Warum lassen Sie sie auf eine Schaltfläche klicken und dann mit der Aktion informieren, dass die Aktion ungültig ist?) So schlage ich vor, Sie können nur die Befehlstaste aktivieren, wenn alle diese Steuerelemente nicht Nullwerte enthalten.

Betrachten Sie eine Befehlsschaltfläche mit dem Namen cmdsave und 3 Textfelder: txtone , txttwo und txtthree . Erstellen Sie eine Prozedur, SetButtonVailability und rufen Sie diese Prozedur in der AfterUndate Ereignisse aller 3 Textfelder an.

generasacodicetagpre.

auch im Formular atcurrent Ereignis würden Sie generakodicetagcode tun, da es noch keine Änderungen für den aktuellen Datensatz gibt, um zu speichern.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top