Setzen von Parameters bei Parameterabfrage

07/10/2008 - 14:31 von Gerhard Mayer | Report spam
Hallo,

ich versuche in Access 2007 eine Parameterabfrage mittels QueryDef in VBA
auszuführen und erhalte dabei beim Setzen der Parameter die Meldung 3265:
"Element in dieser Auflistung nicht gefunden"

Set dbsHaushalt = CurrentDb
Set qdf = dbsHaushalt.QueryDefs("Verbrauch_427_" & strJahr)

strFormName = "Kontoauszug_" & strJahr & "_Dialog"
strPar = Eval("[Forms]![" & strFormName & "].Jahr")
qdf.Parameters!strPar = CInt(strJahr)

Wenn ich im Debugger mir das anschaue, dann gibt es dort in qdf.Parameters
ein Element mit dem Namen [Forms]![Kontoauszug_2007_Dialog].Jahr

Wieso also làßt sich dieser Parameter nicht setzen?

Gruß
Gerhard Mayer
 

Lesen sie die antworten

#1 Thomas Winkler
07/10/2008 - 14:48 | Warnen spam
Hi,

Set dbsHaushalt = CurrentDb
Set qdf = dbsHaushalt.QueryDefs("Verbrauch_427_" & strJahr)

strFormName = "Kontoauszug_" & strJahr & "_Dialog"
strPar = Eval("[Forms]![" & strFormName & "].Jahr")



^^
Das evaluiert zum passenden Eingabe im Control "Jahr" des Forms
strFormName. Sagen wir "2008"

qdf.Parameters!strPar = CInt(strJahr)



Die Anweisung lautet dann etwa:
qdf.Parameters!2008 = CInt(strJahr)

was logischerweise scheitert, da es keinen Parameter mit Namen "2008" gibt.

Wenn ich im Debugger mir das anschaue, dann gibt es dort in qdf.Parameters
ein Element mit dem Namen [Forms]![Kontoauszug_2007_Dialog].Jahr



Ich würde vorschlagen:

qdf.Parameters!Jahr = CInt(strJahr)

HTH

Thomas

"Access? Damit arbeite ich nicht. Das ist doch nur ein abgespecktes Excel."

Ähnliche fragen