Discussion:
SQL Satement aus VBA öffnen ohne dies als Abfrage zu speichern
(zu alt für eine Antwort)
Patrick Pohlmann
2007-11-14 15:31:49 UTC
Permalink
Hallo Zusammen,

gibt 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.

Danke für Eure Infos.

Grüße

Patrick!
Gunter Avenius
2007-11-14 15:41:25 UTC
Permalink
Hallo Patrick,
Post by Patrick Pohlmann
gibt 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?
Eine Abfrage wirst Du dazu brauchen.

Ob eine Dummy Abfrage die du mittels
currentdb.querydefs("DeineDummyAbfrage").sql="SELECT * ...."
manipulierst.

oder mittels CreateQuerydef...

Gruß
Gunter
--
__________________________________________________________
Access FAQ: http://www.donkarl.com
home: http://www.avenius.com - http://www.AccessRibbon.de
Patrick Pohlmann
2007-11-14 15:52:27 UTC
Permalink
Hallo Gunter,

was genau verstehst Du unter einer DummyAbfrage? Ist das sowas wie eine
temporäre Abfrage die danach von alleine wieder verschwindet? Ich bin
übrigens in einer adp mit SQL 2005 Backend. Es gibt doch sowas wie temporäre
Abfragen, oder?

Grüße

Patrick!
Post by Gunter Avenius
Hallo Patrick,
Post by Patrick Pohlmann
gibt 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?
Eine Abfrage wirst Du dazu brauchen.
Ob eine Dummy Abfrage die du mittels
currentdb.querydefs("DeineDummyAbfrage").sql="SELECT * ...."
manipulierst.
oder mittels CreateQuerydef...
Gruß
Gunter
--
__________________________________________________________
Access FAQ: http://www.donkarl.com
home: http://www.avenius.com - http://www.AccessRibbon.de
Gunter Avenius
2007-11-14 16:01:41 UTC
Permalink
Hallo Patrick,
Post by Patrick Pohlmann
was genau verstehst Du unter einer DummyAbfrage? Ist das sowas wie
eine temporäre Abfrage die danach von alleine wieder verschwindet?
Ich bin übrigens in einer adp mit SQL 2005 Backend. Es gibt doch
sowas wie temporäre Abfragen, oder?
Ich ging von einer mdb aus. In einer ADP funktioniert das so nicht.

Probiere Deine Frage in microsoft.public.de.access.Clientserver zu
stellen.

Gruß
Gunter
--
__________________________________________________________
Access FAQ: http://www.donkarl.com
home: http://www.avenius.com - http://www.AccessRibbon.de
Klaus Oberdalhoff
2007-11-14 15:42:28 UTC
Permalink
Hi,
Post by Patrick Pohlmann
gibt 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?
meinst du vielleicht sowas ?

MsgBox = Currentdb.QueryDefs("qryDeineQuery").SQL

oder

http://www.access-im-unternehmen.de:80/586.0.html
--
mit freundlichen Grüßen aus Nürnberg

Klaus Oberdalhoff ***@gmx.de
Ich unterstütze PASS Deutschland e.V. (http://www.sqlpass.de)
Nächstes Treffen in Nürnberg am 20.11.2007
Josef Poetzl
2007-11-14 18:11:25 UTC
Permalink
Hallo!
Post by Patrick Pohlmann
gibt 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.
Kannst du nicht einfach ein Formular in Datenblattansicht verwenden
und diesem ein Recordset zuweisen?

mfg
Josef
--
EPT: (Access Error Prevention Table) http://access.joposol.com/
FAQ: (Access-FAQ von Karl Donaubauer) http://www.donkarl.com/
Henry Habermacher
2007-11-20 04:31:59 UTC
Permalink
Hallo Patrick
Post by Patrick Pohlmann
gibt 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
Loading...