Access-o-Mania

Access-Forum (Deutsch/German) => Access Programmierung => Thema gestartet von: Paddy24 am Februar 01, 2021, 20:45:17

Titel: Auf Unterformular verweisen
Beitrag von: Paddy24 am Februar 01, 2021, 20:45:17
Hallo zusammen,

ich habe folgenden VBA Code für ein Formular, was in einem HF als UFO eingesetzt wird:

Me.Recordset.FindFirst "adr_id = " & Me!lstSuchergebnis
Me!lstSuchergebnis = Null
Me!txtSuche = Null
Me!txtSuche.SetFocus
Me!lstSuchergebnis.Visible = False

Das Problem hierbei ist nun, das es zwar super in dem eigentlichen Formular funktioniert aber nicht als Unterformular im HF. Ich gehe mal davon aus das "Me" dann auf das HF verweist, was dann natürlich nicht die Felder wie das UFO hat.

Wie würde man hierbei elegant vorgehen?

Das HF heißt "frmPerson"
und das UFO "frmAdresse"


Vielen Dank im Voraus.
Titel: Re: Auf Unterformular verweisen
Beitrag von: Paddy24 am Februar 01, 2021, 21:00:10
OK so würde ich direkt das Unterformular ansprechen:

Forms!frmPerson!frmAdresse.Form.Recordset.FindFirst "adr_id = " & Me!lstSuchergebnis
    Forms!frmPerson!frmAdresse!lstSuchergebnis = Null
    Forms!frmPerson!frmAdresse!txtSuche = Null
    Forms!frmPerson!frmAdresse!txtSuche.SetFocus
    Forms!frmPerson!frmAdresse!lstSuchergebnis.Visible = False

Allerdings werden mir trotzdem keine Daten angezeigt.

In der frmAdresse das als Datensatzherkunft die Tabelle tblAdressen nutzt werden mir in den jeweiligen Felder die Daten angezeigt, die ich durch Doppelklick im Listenelement auswähle. Dort klappt alles einwandfrei.

in dem Hauptformular frmPerson, werden mir zwar die Adressen im Listenelement angezeigt, aber wenn ich einen Doppelklick drauf mache, werden nicht die dazugehörigen Felder ausgefüllt. Das Doppelklick-Event sieht man im Code oben.

Ich vermute das noch was mit dem Recordset gemacht werden muss, aber unsicher was genau, da ich ja schon auf das richtige UFO verweise :S
Titel: Re: Auf Unterformular verweisen
Beitrag von: DF6GL am Februar 02, 2021, 08:16:36
Hallo,

ich frage mich immer noch, warum Du solche verquerten Konstruktionen machen willst.

 Bau die Suchfünktion in das Formular ein, dessen Daten gefiltert werden sollen. Das macht (Dir) dann am wenigsten Probleme.


Man sitzt doch auch nicht unterm Dach, wenn etwas im Keller gesucht werden muss, außer es gibt triftige(!) Gründe dafür.



Nochmal die Frage: Warum ein (ungebundenes?) HFo mit eingebauten (gebundenenem Endlos-) UFo, das das Ergebnis anzeigen soll?


Du wirfst einfach die beiden Objekte durcheinander.


Wahrscheinlich so, und ohne weitere Prüfungen und Fehlerbehandlung:

Me!frmAdresse.Form.Recordset.FindFirst "adr_id = " & Me!lstSuchergebnis
    Me!lstSuchergebnis = Null
    Me!txtSuche = Null
    Me!txtSuche.SetFocus
    Me!lstSuchergebnis.Visible = False
Titel: Re: Auf Unterformular verweisen
Beitrag von: Paddy24 am Februar 02, 2021, 19:27:13
Hallo,

die Suche habe ich bereits in das HAF eingearbeitet. Eine aktuelle Version der DB ist hier hinterlegt: https://www.access-o-mania.de/forum/index.php?topic=25380.msg150592#msg150592

Die Suchfelder sind ja in den Unterformularen. Ich habe pro Formular wo ein Datensatz gesucht werden muss eine Suchfunktion. Leider funktioniert diese Suchfunktion nicht im Unterformular.