Kombi-Feld aus Formular an Bericht weitergeben

Hallo,
ich kriege es einfach nicht hin - mein Problem ist:
Ich habe in Access 2000 eine DB erstellt

  • mit einer Abfrage „abf_Auswertung“,
  • einem Formular „frm_Auswertung“ und
  • einem Bericht „ber_Auswertung“.

Das Formular und der Bericht enthalten die gleichen Felder aus der Abfrage. Der User öffnet das Formular und kann dort Datensätze nach mehreren Kriterien (z.B. Periode, Name, u.s.w.) filtern. Anschließend soll er auf einen Button drücken, der dann automatisch den Filter aus dem Formular übernimmt, den Bericht öffnet, und den Filter übergibt. Das klappt auch. Ich möchte aber zusätzlich, dass der angewendete Filter im Bericht angezeigt wird. Im Formular heißen diese Felder KombiPeriode, KombiName, etc, im Bericht heißen die Felder dann berPeriode, BerName, etc.

Den Filter schreibe ich in die Varible „meinfilter“. Mein Code sieht so aus:

Sub Print()
Dim meinfilter
.
.
'Filter in meinfilter schreiben
.
.
’ in bericht übergeben:

stDocName = „ber_Auswertung“
DoCmd.OpenReport stDocName, acPreview, _
meinfilter, Me.Filter, , _
[ber_Auswertung].[berPeriode] = Me.KombiPeriode & _
[ber_Auswertung].[berName] = Me.KombiName

End Sub

Ich kriege es einfach nicht hin - hat jemand nen Tip???

Vielen Dank schon einmal!

Schöne Grüße,
Natalie

Hallo,
ich kriege es einfach nicht hin - mein Problem ist:
Ich habe in Access 2000 eine DB erstellt

  • mit einer Abfrage „abf_Auswertung“,
  • einem Formular „frm_Auswertung“ und
  • einem Bericht „ber_Auswertung“.

Das Formular und der Bericht enthalten die gleichen Felder aus
der Abfrage. Der User öffnet das Formular und kann dort
Datensätze nach mehreren Kriterien (z.B. Periode, Name,
u.s.w.) filtern. Anschließend soll er auf einen Button
drücken, der dann automatisch den Filter aus dem Formular
übernimmt, den Bericht öffnet, und den Filter übergibt. Das
klappt auch. Ich möchte aber zusätzlich, dass der angewendete
Filter im Bericht angezeigt wird. Im Formular heißen diese
Felder KombiPeriode, KombiName, etc, im Bericht heißen die
Felder dann berPeriode, BerName, etc.

Den Filter schreibe ich in die Varible „meinfilter“. Mein Code
sieht so aus:

Sub Print()
Dim meinfilter
.
.
'Filter in meinfilter schreiben
.
.
’ in bericht übergeben:

stDocName = „ber_Auswertung“
DoCmd.OpenReport stDocName, acPreview, _
meinfilter, Me.Filter, , _
[ber_Auswertung].[berPeriode] = Me.KombiPeriode & _
[ber_Auswertung].[berName] = Me.KombiName

End Sub

Hallo,

wenn Du die Kriterien-Werte im Openargs-Paramter übergeben willst, dann müssen die auch im Bericht ausgewertet werden, z. B.:

Erst mal die beiden Werte durch ein Trennzeichen trennen:

DoCmd.OpenReport stDocName, acPreview, , Me.Filter, , _
Me!KombiPeriode & „;“ & Me!KombiName

dann im Bericht im Format-Ereignis des Bereiches, in dem die Textfelder plaziert sind, z. B. im Berichtskopf:

Private Sub Berichtskopf_Format(Cancel As Integer, FormatCount As Integer)
If not Isnull(Me.Openargs) Then
Me!berPeriode=Split(Me.Openargs,";")(0)
Me!berName=Split(Me.Openargs,";")(1)
End If
End Sub

Viele Grüße vom Bodensee
Franz , DF6GL

PS: Feedback erwünscht!