PDA

Vollständige Version anzeigen : Bericht per Druckbutton aus Formular drucken


<Marko>
02.12.2002, 10:48
Hallo !

Ich habe ein Formular sowie einen Bericht entworfen. Ich möchte nun den im Formular ausgewählten Datensatz als Bericht drucken. Also nicht alle Datensätze und nicht alle. Habe einen Button erstellt mit folgendem VBA Code :

Private Sub Befehl148_Click()
On Error GoTo Err_Befehl148_Click

Dim stDocName As String

stDocName = "Funktionsbeschr"
DoCmd.OpenReport stDocName, acCurrent

Exit_Befehl148_Click:
Exit Sub

Err_Befehl148_Click:
MsgBox Err.Description
Resume Exit_Befehl148_Click

End Sub

Mit o.g. Code wird aber der komplette Bericht gedruckt, statt nur der ausgewählte Datensatz :(

Hat jemand von Euch Cheggern ne Idee wie's richtig geht??? ;)

Grüßle

Marko

khs-hh
02.12.2002, 10:59
Unter

<a href="http://www.donkarl.com" target="_blank">Karl Donaubauer</a>

in den FAQs Punkt 5.9

<Marko>
02.12.2002, 13:59
Hi !

Danke für den Tip, aber leider setzt sich meine eindeitige ID aus 4 verschiedenen Schlüsseln zusammen. Ich müsste also 4 Bedingungen in meinen OpenReport Befehl mit einbauen. Bisher hat das nur mit einem geklappt, wie müsste der VBA dann lauten? (bin leider nicht fit in VBA)

DoCmd.OpenReport stDocName, , , "MIS=" & Me!MIS
-->hier würde ich gern drei weitere Bedingungen mit einbauen...

khs-hh
02.12.2002, 14:37
Du musst immer ein " AND " dazwischen bauen.

Beachte die Leerzeichen vor und hinter dem AND

also

"MIS = " & Me!MIS & " AND Feld2 = " & Me!Feld2 ..


der Übersichtlichkeit wegen würde ich ein Stringfeld definieren und vorher zusammensetzen mit den Filterbedingungen und dieses dann beim Open verwenden


Dim strFilter As String


ich setze es mal auf die simple Methode zusammen falls Deine Feldnamen zu lang werden:


strFilter = "MIS = " & Me!MIS & " AND "
strFilter = strFilter & "Feld2 = " & Me!Feld2 & " AND "
strFilter = strFilter & "Feld3 = " & Me!Feld3 & " AND "
strFilter = strFilter & "Feld4 = " & Me!Feld4


Wenn einige Felder vom Typ Text sind, musst Du natürlich noch die Hochkommas vor und hinter dem Feld mit einbauen.


DoCmd.OpenReport stDocName, , , strFilter