Abfrage ausführen über String in ACCESS + VBA

Hallo,

ich bekomme, wenn ich in einem Formular auf einen Button klicke dynamisch eine Anweisung zusammengebastelt. Diese wird in einem String gespeichert. Wie kann ich daraufhin ein Abfragefenster mit dem String-Inhalt ausführen?

Standard ist:
Code:
stDocName = "MeineAbfrage"
DoCmd.OpenQuery stDocName, acNormal, acEdit
Dort wird aber nur eine bereits gespeicherte Abfrage geöffnet.

Ich möchte gerne:
Code:
stDocName = "meinStringMitAbfrage"
DoCmd.OpenQuery stDocName, acNormal, acEdit
Dann gibt es jedoch eine Fehlermeldung "Dokument meinStringMitAbfrage" wurde nicht gefunden. Wie bekomme ich das hin?

DANKE im Voraus!
 
Hi Stella

Das Problem ist mit docmd.openquery öffnet man ansichten (vorbelegte Sichten auf tabellen) unter Access habe ich es nicht auf die schnelle hinbekommen eine neue Ansicht "View" anzulegen auf dem Sql-Server macht man das mit CreateView würde dann also in deinem Beispiel so aussehen

Code:
Deinstring = "Select * From Tabelle1"
    Call DoCmd.RunSQL("Create view [MeineAbfrage] as " & Deinstring)
    Call DoCmd.OpenQuery("MeineAbfrage")

aber wie gesagt MS hält sich da leider nicht an die normen

aber vielleicht hilft dir das ja schon mal weiter wenn mir noch etwas einfällt kommt das gleich


Grüsse bb
 
Hallo :)...

vielen Dank erstmal

Habe den Code mal in meinen kopiert.
Tja :(...Access sagt dazu:

Laufzeitfehler 3290
Fehler in CREATE TABLE-Anweisung (Debugger zeigt auf die 2. Zeile deines Codes)

:-/

Hast du noch einen Tipp?
 
Zuletzt bearbeitet:
Was musst du denn genau machen

Du könntest auch den SQL String zusammensetzten und ihn der RowSource-Eigenschaft eines Listenfeldes zuweisen:

Code:
 strSQL = "Select * From ...."

 Listenfeld.RowSource = strSQL
 Listenfeld.Requery

Bringt auch ein tolles Ergebnis. Aber was musst du genau machen?
 

Neue Beiträge

Zurück