2016-06-05 13 views
0

Ich habe mehrere Instanzen, wo ich ein Formular in einem Dialog öffnen und automatisch ein Feld ausfüllen möchte. Zum Beispiel:Zugriff Öffnen Formular als Dialog Stop Code ausgeführt

AddClients und AddClientContacts Ich habe ein Dialogfeld für beiden AddClient und AddClientContact

Wenn im AddClient Dialog ich einen Knopf haben will der AddClientContact Dialog und Auto zu öffnen, das ID-Feld füllen.

Mein Code funktioniert zu öffnen, und mein Code funktioniert, um die Daten zu kopieren, aber der Code nach dem Öffnen funktioniert nicht, bis die Dialoge geschlossen sind. (und in VBA-Editor können Sie sehen, dass es noch läuft)

Ich habe versucht über Macro OpenForm dann RunCode und VBA DoCmd.OpenForm aber jedes Mal das gleiche Problem.

Ist das normales Dialogverhalten? Gibt es eine Möglichkeit, Code nach einem geöffneten Dialogbefehl auszuführen?

Suchen Sie einfach nach einem einfachen Weg zu öffnen, dann füllen Sie ein Feld. Dies ist die VBA ich im Moment haben:

Private Sub btn_AddClientContacts_Click() 
DoCmd.RunCommand acCmdSaveRecord 
DoCmd.OpenForm "frm_ADDClientContact", acNormal, , , acFormAdd, acDialog 
Forms!frm_ADDClientContact!FK_CC_Client_ID = Forms!frm_ADDClients!Client_ID 
End Sub 

Danke, KAL

Antwort

1

das normal Dialogverhalten ist?

In der Tat.

Verschieben Sie Ihren fortlaufenden Code zum OnOpen-Ereignis des Dialogformulars oder rufen Sie von dort aus auf.

+0

Das ist, was ich vermutete. Gibt es nichts, was Sie danach ausführen können? Ich vermied das, wie ich es einfach halten möchte. Außerdem verwende ich diese Formulare an anderen Stellen, an denen sie nicht von diesem Formular geöffnet werden. Ich denke entweder; Mit OnOpen, um etwas wie IF AddClients geöffnet zu haben, dann Code ausführen. Oder vor dem Öffnen eine Variable übergeben, die bei Open verwendet werden soll. Irgendwelche Vorschläge zu Best Practice oder einfachste Methode? – KAL46

+0

Wenn Sie den Dialog schließen, wird der Code sofort von dort fortgesetzt, wo Sie ihn zum Öffnen aufgerufen haben. – Gustav