Hallo Patrick
Post by Patrick Pohlmanngibt es eine möglichkeit eine Abfrage auf Basis eines SQL Statement aus
VBA zu öffnen ohne vorher tatsächlich eine Abfrage erstellen zu müssen?
Möchte mir einfach das Ergebnis eines Select anzeigen lassen.
Um ein Recordset (gilt gleichsam für Tabellen und Abfragen) darstellen zu
können, bedarf es einer Repräsentation in einem "Formular". Für Tabellen und
Abfragen erzeugt Access dieses Formular in der Datenblattansicht
automatisch. Eine Tabelle oder Abfrage besteht in Access also aus zwei
teilen. Zum einen dem Datenspeicher (Tabelle) oder des SQL Statements
(Abfrage), welche die Datensätze zurückliefert (z.B. als DAO Recordset) und
zum anderen aus einem durch Access automatisch erstellten Formulares. Wenn
Du also keine Abfrage anlegst, dann kannst Du zwar darüber ein Recordset
öffnen (QueryDef("...").OpenRecordset), aber Dir fehlt der
Repräsentationsteil - das Formular - in dem Access dieses Recordset
darstellen könnte. Du wirst also nicht drum herum kommen, eine Abfrage zu
erstellen und dieser Abfrage über die SQL Eigenschaft das SQL Statement
zuzuweisen und dannach die Abfrage als Abfrage zu öffnen.
Natürlich gibt es Alternativen, aber diese sehen dann wohl nicht so aus, wie
Du das haben möchtest, nämlich in einem automatisch erstellten
Abfrage-Formular.
Alternativen wären z.B.:
- Verwendung eines anderen Werkzeuges zur Anzeige der Datensätze, wie z.B.
MSQuery oder Excel
- Schreiben eines eigenen Werzeugs zur Anzeige der Datensätze
Fazit: Wenn Du Access benutzen willst, um Datensätze /anzuzeigen/, dann
musst Du dafür ein Access Objekt haben, in welchem die Datensätze angezeigt
werden können. Ein Recordset alleine genügt nicht, das existiert nur im
Speicher, hat aber keine Repräsentation.
HTH
henry
--
Microsoft MVP Office Access
Keine E-Mails auf Postings in NGs. Danke.
Access FAQ www.donkarl.com