kampfzwergal
Grünschnabel
Hallo Leute,
ich habe folgendes Problem:
Ich will aus einem VBA-Modul in Access eine Abfrage starten. Dieser Abfrage will ich 2 Parameter übergeben. 1 Parameter steht für den Namen des Attributes der Quelltabelle (P_ATTRIBUTE1) und 1 Parameter steht für den Wert dieses Attributes (P_VALUE1). Schwierigkeiten habe ich bei der Übergabe des Parameters, welcher den Namen des Attributes beinhaltet. Hier mein Code:
Die Abfrage sieht momentan wie folgt aus:
INSERT INTO Zieltabelle
SELECT *
FROM Quelltabelle
WHERE [P_ATTRIBUTE1]=[P_VALUE1];
P_ATTRIBUTE1 und P_VALUE1 stellen Parameter dar, die ich beim Aufruf der Abfrage aus meinem VBA-Makro übergeben will.
Der Aufruf aus VBA sieht momentan wie folgt aus:
Dim dbs As Database
Dim qdf1, qdf2 As QueryDef
....
Set qdf2 = dbs.QueryDefs("Suche_DS_Nach_Regel_2") ' Name der SQL-Abfrage
' Parameter setzen
qdf2.Parameters!P_ATTRIBUTE1 = "POF"
qdf2.Parameters!P_VALUE1 = "91"
qdf2.Execute
Wenn ich das VB-Makro ausführe, gibt es keine Fehlermeldung. Leider bleibt auch meine Zieltabelle leer, obwohl es zutreffende Datensätze in der Quelltabelle gibt.
Das Problem liegt meiner Meinung nach an dem Parameter für das Attribut der Tabelle, nämlich P_ATTRIBUTE1. Gebe ich den Namen des Attributes (POF) direkt in der SQL-Anfrage an
INSERT INTO Zieltabelle
SELECT *
FROM Quelltabelle
WHERE POF=[P_VALUE1];
und rufe die Abfrage dann nur mit
....
Set qdf2 = dbs.QueryDefs("Suche_DS_Nach_Regel_2") ' Name der SQL-Abfrage
' Parameter setzen
qdf2.Parameters!P_VALUE1 = "91"
qdf2.Execute
auf, so funktioniert alles.
Es wäre super, wenn mir jemand sagen könnte, woran es hakt. Im Internet finde ich leider keine entsprechenden Infos dazu.
Vielen vielen Dank schon mal im Voraus!
Grüße!
ich habe folgendes Problem:
Ich will aus einem VBA-Modul in Access eine Abfrage starten. Dieser Abfrage will ich 2 Parameter übergeben. 1 Parameter steht für den Namen des Attributes der Quelltabelle (P_ATTRIBUTE1) und 1 Parameter steht für den Wert dieses Attributes (P_VALUE1). Schwierigkeiten habe ich bei der Übergabe des Parameters, welcher den Namen des Attributes beinhaltet. Hier mein Code:
Die Abfrage sieht momentan wie folgt aus:
INSERT INTO Zieltabelle
SELECT *
FROM Quelltabelle
WHERE [P_ATTRIBUTE1]=[P_VALUE1];
P_ATTRIBUTE1 und P_VALUE1 stellen Parameter dar, die ich beim Aufruf der Abfrage aus meinem VBA-Makro übergeben will.
Der Aufruf aus VBA sieht momentan wie folgt aus:
Dim dbs As Database
Dim qdf1, qdf2 As QueryDef
....
Set qdf2 = dbs.QueryDefs("Suche_DS_Nach_Regel_2") ' Name der SQL-Abfrage
' Parameter setzen
qdf2.Parameters!P_ATTRIBUTE1 = "POF"
qdf2.Parameters!P_VALUE1 = "91"
qdf2.Execute
Wenn ich das VB-Makro ausführe, gibt es keine Fehlermeldung. Leider bleibt auch meine Zieltabelle leer, obwohl es zutreffende Datensätze in der Quelltabelle gibt.
Das Problem liegt meiner Meinung nach an dem Parameter für das Attribut der Tabelle, nämlich P_ATTRIBUTE1. Gebe ich den Namen des Attributes (POF) direkt in der SQL-Anfrage an
INSERT INTO Zieltabelle
SELECT *
FROM Quelltabelle
WHERE POF=[P_VALUE1];
und rufe die Abfrage dann nur mit
....
Set qdf2 = dbs.QueryDefs("Suche_DS_Nach_Regel_2") ' Name der SQL-Abfrage
' Parameter setzen
qdf2.Parameters!P_VALUE1 = "91"
qdf2.Execute
auf, so funktioniert alles.
Es wäre super, wenn mir jemand sagen könnte, woran es hakt. Im Internet finde ich leider keine entsprechenden Infos dazu.
Vielen vielen Dank schon mal im Voraus!
Grüße!