Hallo Doris,
um es mal etwas auf die Beine zu stellen:
Private Sub Befehl45_Click()
On Error GoTo Err_Befehl45_Click
Dim stDocName As String
Dim suche As String
stDocName = "Projektdokumente Vorlage"
If Not IsNull(Baugruppenr) And Baugruppenr <> "" Then
suche = "Baugruppenr = '" & Baugruppenr & "'"
DoCmd.OpenReport stDocName , acViewPreview, , suche
End If
Exit_Befehl45_Click:
Exit Sub
Err_Befehl45_Click:
MsgBox Err.Description
Resume Exit_Befehl45_Click
End Sub
Damit kriegst du allerdings bestenfalls für 1 Baugruppennummer den Report, weil dein "suche"-String so gebaut ist, denn im Ergebnis steht da z.B. drin: Baugruppenr = ' 123456'.
Du brauchst aber einen Bereich, z.B.
Baugruppenr >= ' 123456' und Baugruppenr < ' 123666' .
Das müsste denn etwa so aussehen:
suche = "Baugruppenr>='" & Baugruppenr1 & "' AND Baugruppenr<'" & Baugruppenr2 & "'"
Zur suche-Bedingung steht in der Hilfe:
Eine gültige SQL-WHERE-Klausel (ohne das Wort WHERE) oder ein Ausdruck, mit dem Microsoft Access Datensätze aus der dem Bericht zugrunde liegenden Tabelle oder Abfrage auswählt. Wenn Sie einen Filter mit dem Argument Filtername auswählen, wendet Microsoft Access die WHERE-Klausel auf das Filterergebnis an.
Einen Filter hast du nicht angegeben.
Gruß
lorf