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
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
Wenn Sie den Dialog schließen, wird der Code sofort von dort fortgesetzt, wo Sie ihn zum Öffnen aufgerufen haben. – Gustav