openArgs

Hallo Freunde,

ich brauch mal Hilfe.
Ich habe eine Schaltfläche in meinem Formular mit der ich einen Bericht öffne.
Beim öffnen versuche ich ein openArgs Argument mitzugeben, so, dass gleich der richtige Bericht geöffnet wird. Das klappt aber noch nicht.

Das ist der Befehl zum öffnen:

Private Sub Berichtsvorschau_Click()
On Error GoTo Err_Berichtsvorschau_Click

Dim stDocName As String

stDocName = „Prozessbeurteilung IKS“
stLinkCriteria = Text1
DoCmd.OpenReport stDocName, acPreview, , , , stLinkCriteria

Exit_Berichtsvorschau_Click:
Exit Sub

Err_Berichtsvorschau_Click:
MsgBox Err.Description
Resume Exit_Berichtsvorschau_Click

End Sub

Kann jemand bitte helfen ?

Christian

Moin, Christian,

die Variable Text1 ist nicht deklariert, wird sie denn versorgt?

Gruß Ralf

moin Ralf,

die Variable Text1 ist nicht deklariert, wird sie denn
versorgt?

laut Dierektfenster und Debug.Print Text1 - Anweisung wird sie versorgt.
Es erscheint der Name…

Gruß Christian

Moin,

der OpenReport verwirrt mich etwas, meiner kennt nur 4 Argumente :frowning: Ist da der Aufbau des OpenForm dazwischengeraten?

Gruß Ralf

moin Ralf,

nö, ich denke nicht. So kenne ich das. Schließlich will ich auch einen Report damit öffnen…
Aber vielleicht noch ein ein Anhaltspunkt: Ich erhalte nach dem Öffnen des Berichtes ein Medefenster mit der Info „Objekt erforderlich!“

hilft uns das weiter ?

Christian

Hallo,

stDocName = „Prozessbeurteilung IKS“
stLinkCriteria = Text1
DoCmd.OpenReport stDocName, acPreview, , , , stLinkCriteria

Was hast du da ueberhaupt vor?

  1. Das ist die falsche stelle, an der Stelle des Aufrufs kommt der Parameter fuer den WinfowMode hin. (z.B. acWindowNormal oder acDialog)

Wenn du stLinkCriteria hernehmen moechtest um die die Daten im Report entsprechend zu filtern, dann ist dies an der Stelle schlichtweg falsch.

Der OpenArgs Parameter dient nur dazu irgenwelche Daten an den Report zu uebergeben auf die dort mittels .OpenArgs zugegriffen werden kann. Das reine uebergeben an der Stelle bewirkt nichts.

Die Variante :
stLinkCriteria = "einDatenfeldImReport = " & Text1
DoCmd.OpenReport stDocName, acPreview, , ,stLinkCriteria

setzt einen entsprechenden Filter.

Tschau
Peter

Der OpenArgs Parameter dient nur dazu irgenwelche Daten an den
Report zu uebergeben auf die dort mittels .OpenArgs
zugegriffen werden kann. Das reine uebergeben an der Stelle
bewirkt nichts.

Die Variante :
stLinkCriteria = "einDatenfeldImReport = " & Text1
DoCmd.OpenReport stDocName, acPreview, , ,stLinkCriteria

setzt einen entsprechenden Filter.

Hallo Peter,
habe verstanden, dass OpenArgs nur ein Argument an den Bericht übergibt. Aber wenn ich das so einsetze wie Du schreibst, erhalte ich auch nicht den gewünschten Bericht, sondern nur die Fehlermeldung Typen unverträglich.

Vermutlich hast Du Recht, und ich muss wirklich erst den entsprechenden Filter setzen um nicht erst über die umständliche Datensatznavigation zum gewünschten Bericht zu springen.
Aber mit dem, was Du geschrieben hast, ist das auch nicht gängig.

Christian

Hallo Freunde,

ich brauch mal Hilfe.
Ich habe eine Schaltfläche in meinem Formular mit der ich
einen Bericht öffne.
Beim öffnen versuche ich ein openArgs Argument mitzugeben, so,
dass gleich der richtige Bericht geöffnet wird. Das klappt
aber noch nicht.

Das ist der Befehl zum öffnen:

Private Sub Berichtsvorschau_Click()
On Error GoTo Err_Berichtsvorschau_Click

Dim stDocName As String

Hallo Christian,
versuche es mit diesen beiden…
Dim stDocName As String
Dim stLinkCriteria As String

Gruß - Wolfgang

stDocName = „Prozessbeurteilung IKS“
stLinkCriteria = Text1
DoCmd.OpenReport stDocName, acPreview, , , , stLinkCriteria

Exit_Berichtsvorschau_Click:
Exit Sub

Err_Berichtsvorschau_Click:
MsgBox Err.Description
Resume Exit_Berichtsvorschau_Click

End Sub

Kann jemand bitte helfen ?

Christian

Hallo Christian,
oder vielleicht so?

Code:
stLinkCriteria = „[Text] Is NichtNull“

Gruß - Wolfgang