SQL Abfrage in VBA speichern

Hallo,
Ich habe in Access in VBA eine SQL Abrage die vereinfacht so aussieht:

Dim Abfrage as String
if x=true then
Abfrage = "Select * from … where nr=1
DoCmd.runSQL Abfrage
else
Abrage = "Select * from … where nr=2
DoCmd.runSQL Abfrage
end if

Das Ergebnis dieser Abfrage sieht so aus:
Name1
Name2
Name3

Nun weiß ich nicht wie ich diese Abfrage so abspeichern kann, dass ich sie später in einem anderen Formular für ein Kombinationsfeld verwenden kann.

Ich hoffe Ihr könnt mir weiterhelfen.
Vielen Dank für Eure Antworten,
Yuna

Hallo Yuna,

ich mach das so

Dim stSQL As String
Dim qdfNew As QueryDef
Dim stAbfrage As String
Dim db As Database

stAbfrage = „Abfragename“
stSQL = "SELECT … "

Set db = CurrentDb

Set qdfNew = db.CreateQueryDef(stAbfrage, stSQL)

Viele Grüße,

ujk

Vielen Dank für Deine Antwort.
Ich muss das Ganze allerdings mit ADO machen.

Hi,

falls du die entstandene Abfrage nicht als QueryDef-Obkekt speichern willst ( funkt mit DAO genauso wie mit ADO), speichere das Ganze doh einfach in einer Tabelle als Textfeld.

Tschau
Peter

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo Peter,
Ich möchte die Abfrage schon gerne als QueryDef abspeichern, so wie Ujk vorschlägt, weiß aber nicht wie das mit ADO geht.

Hi,

falls du die entstandene Abfrage nicht als QueryDef-Obkekt
speichern willst ( funkt mit DAO genauso wie mit ADO),
speichere das Ganze doh einfach in einer Tabelle als Textfeld.

Tschau
Peter

Hallo,
Ich habe in Access in VBA eine SQL Abrage die vereinfacht so
aussieht:

Dim Abfrage as String
if x=true then
Abfrage = "Select * from … where nr=1
DoCmd.runSQL Abfrage
else
Abrage = "Select * from … where nr=2
DoCmd.runSQL Abfrage
end if

Das Ergebnis dieser Abfrage sieht so aus:
Name1
Name2
Name3

Nun weiß ich nicht wie ich diese Abfrage so abspeichern kann,
dass ich sie später in einem anderen Formular für ein
Kombinationsfeld verwenden kann.

Ich hoffe Ihr könnt mir weiterhelfen.
Vielen Dank für Eure Antworten,
Yuna

Hallo,

wenn der Verweis zur DAO Library gestzt ist (Modul öffnen - Extras - Verweise) könnte

Dim qdfNew As DAO.QueryDef
Dim db As DAO.Database

funktionieren.

ujk

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo ujk,
Vielen Dank für Deine Hilfe. Die Abfrage funktioniert jetzt.

Mfg,
yuna