Den richtigen Bericht finden

Hallo Leute,

ich muss den richtigen Bericht in die Voransicht bekommen.

Mein Bericht trägt den Namen Eingangsbestätigung.
Ich möchte aus meinem Formular mit einer Schaltfläche „Empfangsbestätigung“ genau den Bericht aufrufen, wo der String Depotnummer im Formular mit der Depotnummer auf dem Bericht übereinstimmt.

Mit dem folgenden Sub funktioniert das noch nicht so ganz.

Die Meldung des Debuggers ist:" Laufzeitfehler 2497 -Für diese Aktion bzw. Methode muss das Argument ‚Berichtsname‘ angegeben werden "

(der Debugger markiert die DoCmd.OpenReport… -Zeile)

Private Sub Empfangsbestätigung_Click()

stLinkCriteria = „[Depotnummer]“ & strIDNr

stDocName = „Eingangsbestätigung“

DoCmd.OpenReport Eingangsbestätigung, acViewPreview

End Sub

Findet das Makro den Bericht nicht, oder woran kann es noch liegen ?

Gruß Christian

Hallo Christian!

Also wenn du „DoCmd.OpenForm“ verwendest mußt du dich auch an die Syntax halten:

OpenForm(FormName, View, FilterName, WhereCondition, DataMode, WindowMode, OpenArgs)

Also in deinem Fall reicht ja:

DoCmd.openForm stDocName, , , stLinkCriteria

Wenn du direkt das Formular aufrufen willst mußt du das in Hochkomma setzen:

DoCmd.OpenForm „Name“, , , stLinkCriteria

Aber ich denke, dass du einen Filter setzen willst, so wie das klingt, also mußt du den Wert von „WhereCondition“ verändern.

Grüße

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo Christian,

Private Sub Empfangsbestätigung_Click()
stLinkCriteria = „[Depotnummer]“ & strIDNr
stDocName = „Eingangsbestätigung“
DoCmd.OpenReport Eingangsbestätigung, acViewPreview

das geht so auch nicht :smile:

wenn du die Daten ohne Variable eingeben willst:
DoCmd.OpenReport „Eingangsbestätigung“, acViewPreview,"[Depotnummer] = " & strIDNr

oder mit den vorhanden Variablen:
stLinkCriteria = „[Depotnummer] =“ & strIDNr
DoCmd.OpenReport stDocName, acViewPreview,stLinkCriteria

Findet das Makro den Bericht nicht, oder woran kann es noch
liegen ?

Du solltest dich entscheiden, ob du mit, oder ohne Variablen arbeiten willst.

Tipp: schau dir noch mal den Syntax von DoCmd.OpenReport genau an.

Grüße aus Schönberg (Lübeck)
Wolfgang
(Netwolf)

Schau mal hier:

Example
The following example opens the Employees form in Form view and displays only records with King in the LastName field. The displayed records can be edited, and new records can be added.

DoCmd.OpenForm „Employees“, , ,"LastName = ‚King‘"

aus:

http://msdn.microsoft.com/en-us/library/aa220276(off…