naja, wenn Du darauf beharrst…
Ja aber der Eintrag ist ja zu 100% im Datensatz enthalten,
wird halt nur nicht angezeigt. Das Formular mit dem Ok-Button,
also der Suchdialog existiert ja bereits und ist mit einem
anderen Formular verknüpft. Jedoch wird logischerweise bei der
Auswahl und dem Drücken auf Ok die Auswahl in diesem Formular
angezeigt. Ich möchte praktisch eine Fallunterscheidung
bewirken, bei der Ok-Button prüft aus welchem Formular aus der
Suchdialog geöffnet wurde, und er dementsprechend den Wert in
das Textfeld des einen Formulars oder in das gewünschte
Kombifeld einträgt.
Benutz das Openarg-Argument der Openform-Methode, um den Namen des aufrufenden Formulars an das Suchform zu übergeben (Zusätzlich könnte auch gleich der Steuelementname mit übergeben werden)
Aufruf des Suchforms:
Docmd.Openform „Suchform“,Me.Name & „;cboSourceID“
bzw.:
Docmd.Openform „Suchform“,Me.Name & „;XYZ“
Hinter dem OK-Button im Suchform steht:
Sub OK_Click()
Dim a
If not isnull (Me.Openargs) then
a=Split(Me.Openargs, „;“)
If Ubound (a) =1 then
Forms(a(0)).Controls(a(1))=Me!lstSourceTab.column(0)
End If
End If
’ docmd.close acForm, Me.Name
End Sub
So nach dem Motto:
Wenn Suchdialog geöffnet von Formular Maschine, gibt
ausgewählten Suchdialogwert in Kombibox in Formular Maschine
aus.
Wenn Suchdialog geöffnet von Formular Quelle, gibt
ausgewählten Suchdialogwert in Textfeld xyz in Formular Quelle
aus.
Viele Grüße vom Bodensee
Franz , DF6GL
PS: Feedback erwünscht!