Variation zu Problem Laufzeitfehler 3061 bzw. FAQ 6.4
Michael Huck
Gesendet: 30.06.11 00:37
Betreff: Variation zu Problem Laufzeitfehler 3061 bzw. FAQ 6.4


Hallo!
Ich greife über VBA auf eine Abfrage (VerTeiDis) zurück, die selbst wieder auf einer Parameterabfrage basiert. Der Parameter in der unteren Abfrage ist ein Steuerelement aus einem Formular.
Wie übergebe ich diesen unteren Parameter?
Anmerkung: Wenn ich in der unteren Abfrage die Funktion Auswerten([Formulare]![Start]![Ver_ID_Std]) bzw. Eval([Formulare]![Start]![Ver_ID_Std]) verwende führt das nicht zu Ziel, die Fehlermeldung bleibt. Sollte das aber nicht eigentlich funktionieren?
Code der zum Fehler führt:
Dim db As DAO.Database
Dim rst As DAO.Recordset

Dim str As String

Set db = CurrentDb

Set rst = db.OpenRecordset("SELECT Dis_Name, WKl_Kugelgewicht FROM VerTeiDis WHERE (((VerTeiDis.VerTei_Ver_ID)=" & Me.VerTei_Ver_ID & ") AND ((VerTeiDis.VerTei_Tei_ID)=" & Me.VerTei_Tei_ID & "))", dbOpenDynaset)
Do While Not rst.EOF
If rst!Dis_Name = "Kugelstoß" Then
str = str & rst!Dis_Name & "_(" & rst!WKl_Kugelgewicht & "), "
Else
str = str & rst!Dis_Name & ", "
End If
rst.MoveNext
Loop
rst.Close
Set rst = Nothing
Set db = Nothing

die Abfrage VerTeiDis basiert auf der Abfrage VAlter, die einen Parameter [Formulare]![Start]![Ver_ID_Std]
enthält:
SELECT VerTei.VerTei_Ver_ID, VerTei.VerTei_Tei_ID, VerTei.VerTei_Klasse, Tei.Tei_Geschlecht, IIf([VAlterVor]>19,19,0)+IIf([VAlterVor]<8,8,0)+IIf([VAlterVor]>=8 And [VAlterVor]<=19,[VAlterVor],0) AS [Alter], Year([Ver_Datum])-Year([Tei_Gebdatum]) AS VAlterVor
FROM Tei RIGHT JOIN (Ver RIGHT JOIN VerTei ON Ver.Ver_ID = VerTei.[VerTei_Ver_ID]) ON Tei.Tei_ID = VerTei.[VerTei_Tei_ID]
WHERE (((VerTei.VerTei_Ver_ID)=[Formulare]![Start]![Ver_ID_Std]))
ORDER BY VerTei.VerTei_Ver_ID, VerTei.VerTei_Tei_ID;

Wie löst man das Problem?
Michael Huck
Top of the page Bottom of the page