Hallo,
ich sitzte hier nun schon eine Weile dran und komme auf keinen springenden Punkt.
Ich möchte über ein Unterformular (Datenblatt) einzelne Daten in einem Bericht anzeigen lassen. Entweder über die Filterfunktion (am besten über das Datum) oder, wenn ich die jeweilige Zeile anklicke, dass mir dann der Bericht mit dem jeweiligen Datensatz angezeigt wird.
Ich habe einen Screenshot mit dem jeweiligen Formular angehängt.
Meine Prozedur zum Fildern siet folgenedermaßen aus:
Private Sub cmdEinenBericht_Click()
If Me!sfmDuengerechneStart.Form.FilterOn = True Then
DoCmd.OpenReport "rptDuengerechnerStart", acViewPreview, , Me!sfmDuengerechneStart.Form.Filter
Else
DoCmd.OpenReport "rptDuengerechnerStart", acViewPreview, , "parID=" & Me!lstParzelle
End If
End Sub
Wenn ich nun den Filter im UF einsetze und auf meinen Button Klicke, dann kommt eine MsgBox mit:
Parameterwert eingeben...
Was mache ich falsch oder habe ich etwas übersehen?
Danke für eure Hilfe.
Hallo,
Wahrscheinlich gibt es das Feld "parID" nicht und es wird deshalb angefordert.
ZitatWahrscheinlich gibt es das Feld "parID" nicht und es wird deshalb angefordert.
Das Feld gibt es schon.
Ich habe noch vergessen zu erwähnen, dass nicht der Parameterwert parID, sondern je nach dem welche Variable ich filtere, Access mich nach dem jeweiligen Parameterwert fragt.
Versuch mal:
DoCmd.OpenReport "rptDuengerechnerStart", acViewReport, , "parID='" & Me.lstParzelle & "'"
Danke für deine schnelle Antwort und deine Bemühung, aber da bekomme ich eine Fehlermeldung, wenn ich den Code eingebe.
ZitatWenn ich nun den Filter im UF einsetze ...
Wie genau erfolgt das?
Die WHERE-Condition bei OpenReport spricht den (Haupt)Bericht und dessen Datenherkunft an.
Nebenbei: Ich würde vorzugsweise Unter
berichte in einem Bericht einsetzen und Welten und Objekte nicht beliebig durchmischen, schon einmal wegen des eigenen Überblicks.
Setze bei dem Me. statt des Punktes mal wieder ein Rufzeichen.
Ansonsten sag mal bitte welche Fehlermeldung kommt.