| 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 |