Hallo zusammen
Ich habe in einem Formular (Access 97) ein Unterformular. Beim Open-Event dieses Unterformulars setze ich die Recordssource-Eigenschaft.
Nachdem die Forms nun offen sind und gearbeitet wird, möchte ich zur Laufzeit die Recordsource-Eigenschaft dieses Unterformulars erneut ändern.
Kennt jemand einen Trick, wie das zu bewerkstelligen ist?
Gruss
Martin Bucher, Zürich
Wo ist das Problem? Du kannst die Recordsource jederzeit ändern! Danach solltest Du ggf. ein Requery auf das Unterformular machen.
Reinhard
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Lieber Reinhard
Vielen Dank für Deine Antwort.
Also ich habe ein ungebundenes Formular mit einem Unterformular drauf.
Das Unterform initialisieren ich im Open-Event des Subforms mit „me.recordsource =select * …“
Wenn ich das Hauptform nun öffne, sehe ich schön alle Daten.
Über eine ComboBox kann nun eine Veränderung der Datenansicht gewählt werden. Ich habe dann mit „Forms![HauptForm]![SubForm].Recordsource=ne uer SQL-String“, versucht dies zu erreichen. Leider ohne Erfolg.
Es scheint so, als sei „Recordsource“ im Subform gar nicht bekannt.
TIA & Gruss
Martin Bucher, Zürich
Ich habe dann mit
„Forms![HauptForm]![SubForm].Recordsourc e=ne
uer SQL-String“, versucht dies zu
erreichen. Leider ohne Erfolg.
Die Syntax ist:
Forms!HauptForm!UnterformularSteuerelement.F orm.Recordsource = SQL
bzw. besser, vom Hauptformular aus:
Me!UnterformularSteuerelement.Form.Recordsou rce = SQL
oder vom Unterformular aus:
Me.Recordsource = SQL
allerdings werden bestimmte Ereignisse des Unterformulars gar nicht oder in merkwürdiger Reihenfolge ausgeführt.
„UnterformularSteuerelement“ ist der Name des Unterformular-Steuerelements im Hauptformular, der ja nicht notwendigerweise mit dem Namen des Unterformulars identisch ist - aber es sein sollte…
Reinhard
Lieber Reinhard
Vielen Dank für Deine Antwort. Es hat jetzt geklappt mit dem Unterform.
Habe vergessen nach dem SubForm-Name nochmals „Form“ anzugeben:
me!subformname!form!recordsource = csql
So funktionierts. Vielen Dank.
Gruss
Martin Bucher, Zürich
Es sollte heißen:
Me!subformname.form.recordsource = csql
die andere Syntax wird zwar (leider) auch verstanden, ist aber falsch, d.h. kann in gewissen Konstellationen - oder in späteren Versionen - Probleme bereiten.
Als Merkregel:
vor benutzerdefinierten Namen ein „!“
vor Methoden oder Eigenschaften ein „.“
Reinhard
Lieber Reinhard
Als Merkregel:
vor benutzerdefinierten Namen ein „!“
vor Methoden oder Eigenschaften ein „.“
Vielen Dank, schon wieder was gelernt. Werde mir diese Regel gross aufschreiben und an den Monitor hängen 
Gruss
Martin Bucher, Zürich