Ungebundenes Unterformular: SQL als RecordSource

04/11/2008 - 09:08 von Joachim | Report spam
Hallo, liebe Mitleser,

nachdem ich es dank Eurer Hilfe gestern geschafft habe, in einem
ungebundenen(!) Unterformular das Ergebnis einer gespeicherten Abfrage
anzuzeigen, wollte ich heute statt der Abfrage eine selbst gestrickte
SQL-Anweisung einsetzen. Meine Recherche in vorangegangenen Beitràgen brachte
zwar einige Hilfen, aber noch keine Lösung.

Fogendes habe ich bisher (gemacht):

Vorhanden ein Hauptformular (Name: HF1). Darauf eine Cmd-Schaltflàche (Name:
CmdOK) und ein ungebundenes Unterformular (Name: UFO1).
Dieses UFO habe ich einfach aus der Werkzeugleiste auf das Hauptformular
gezogen, es enthàlt also keine Felder bzw. Controls, ist blank. Im
Formularfenster ist es demnach nicht eingetragen, sichtbar ist dort nur HF1
als Formular. Bei Click auf die Commandschaltflàche soll eine SQL-Anweisung
angezeigt werden.

Ich möchte also eigentlich nur, dass ein SQL-String der Datenherkunft des
UFO1 zugewiesen wird, damit die DS angezeigt werden.
strSQL = "SELECT * FROM Tabelle1"
mit Aufruf
Me!UFO1.Form.RecordSource = strSQL
funktioniert aber nicht.

Dies führt zu Laufzeitfehler 2455: "Sie haben einen Ausdruck eingegeben, der
einen unzulàssigen Verweis auf die Eigenschaft RecordSource enthàlt."

Me!UFO1.SourceObject = "Abfrage.MeineAbfrage" funktioniert dagegen problemlos.

Irgendwie scheint es so zu sein, dass beim Anzeigen des Hauptformulars das
Unterformular zwar vorhanden, aber nicht geladen ist?

Was kann ich tun, um in einem UFO flexibel SQL-Ausdrücke anzuzeigen?

Danke für Eure Hilfe
und freundliche Grüße
Joachim
 

Lesen sie die antworten

#1 Thomas Möller
04/11/2008 - 09:33 | Warnen spam
Hallo Joachim,

Joachim schrieb:
nachdem ich es dank Eurer Hilfe gestern geschafft habe, in einem
ungebundenen(!) Unterformular das Ergebnis einer gespeicherten Abfrage
anzuzeigen, wollte ich heute statt der Abfrage eine selbst gestrickte
SQL-Anweisung einsetzen. Meine Recherche in vorangegangenen Beitràgen brachte
zwar einige Hilfen, aber noch keine Lösung.

Fogendes habe ich bisher (gemacht):

Vorhanden ein Hauptformular (Name: HF1). Darauf eine Cmd-Schaltflàche (Name:
CmdOK) und ein ungebundenes Unterformular (Name: UFO1).
Dieses UFO habe ich einfach aus der Werkzeugleiste auf das Hauptformular
gezogen, es enthàlt also keine Felder bzw. Controls, ist blank. Im
Formularfenster ist es demnach nicht eingetragen, sichtbar ist dort nur HF1
als Formular. Bei Click auf die Commandschaltflàche soll eine SQL-Anweisung
angezeigt werden.

Ich möchte also eigentlich nur, dass ein SQL-String der Datenherkunft des
UFO1 zugewiesen wird, damit die DS angezeigt werden.
strSQL = "SELECT * FROM Tabelle1"
mit Aufruf
Me!UFO1.Form.RecordSource = strSQL
funktioniert aber nicht.

Dies führt zu Laufzeitfehler 2455: "Sie haben einen Ausdruck eingegeben, der
einen unzulàssigen Verweis auf die Eigenschaft RecordSource enthàlt."

Me!UFO1.SourceObject = "Abfrage.MeineAbfrage" funktioniert dagegen problemlos.

Irgendwie scheint es so zu sein, dass beim Anzeigen des Hauptformulars das
Unterformular zwar vorhanden, aber nicht geladen ist?

Was kann ich tun, um in einem UFO flexibel SQL-Ausdrücke anzuzeigen?



Du verwendest eine gespeicherte Abfrage. Diese verwendest Du, so wie
oben beschrieben, als SourceObject für Dein Unterformular.
Jetzt ànderst Du einfach den SQL-String der Abfrage und machst ein
Requery auf das Unterformular-Steuerelement:


strSQL = "SELECT Feld FROM Tabelle WHERE Irgendwas=5"

CurrentDb.QueryDefs("qry_DeineAbfrage").SQL = strSQL

Me!UFO1.Form.Requery



HTH
Thomas

Homepage: www.Team-Moeller.de

Ähnliche fragen