Hallo liebe Leute,
ich hätte da ein kleines Problem beim drucken von Berichten mit ActiveReports.
Was will ich erreichen:
Ich habe eine feste Datenmenge in einem FlexGrid, welche ich Zeile für Zeile im Detailbereich des Berichtes ausgeben will, was auch funktioniert.
Übergabe im Bericht:
Private Sub ActiveReport_FetchData(eof As Boolean)
Static iRow As Integer
Dim FARBE As Long
If iRow < Form1.FlexGrid1.Rows Then
If PosInFirma = 1 Then
FARBE = vbRed
Else
FARBE = vbBlack
End If
With Form1.FlexGrid1
Me.f_01.ForeColor = FARBE
Me.f_01.Text = .TextMatrix(iRow, 0)
Me.f_02.Text = .TextMatrix(iRow, 1)
Me.f_03.Text = .TextMatrix(iRow, 2)
End With
iRow = iRow + 1
eof = False
End If
End Sub![Lächeln](https://entwickler-forum.de/core/images/smilies/smile.png)
Diesen Bericht rufe ich in einer Schleife auf, da ich ihn für einen bestimmten Personenkreis je 1x ausdrucken will.
For x = 0 To 4
ActiveReport1.txtDatum.Text = Format(Now, "dd.mm.yyyy hh:nn:ss")
ActiveReport1.txtName.Text = Me.mitListe.TextMatrix(druckAnzahl, 1)
ActiveReport1.Show 1
'ActiveReport1.PrintReport False
Next x
Benutze ich mt "ActiveReport1.Show 1" die Druckvorschau, klappt alles wie geplant, er übergibt Datum und Namen je Ausdruck und die verschiedenen Farben für den Ausruck in Feld "Me.f_01" funktionieren auch
Problem:
Benutze ich aber die oben auskommentierte Zeile "ActiveReport1.PrintReport False", dann druckt er mir zwar auch die entsprechende Anzahl der Berichte, jedoch hat er dann in jedem Ausdruck die Werte des 1.Ausdruckes. d.h. den gleichen namen, die gleiche Uhrzeit und immer die selbe Farbe im Feld me.f_01.
Ich müsste irgendwo zwischen den Ausdrucken initializieren oder reseten, aber ich wüsste nicht wo.
Wäre schön, wenn mir hier jemand helfen könnte!!
Für eure Mühen ein herzliches Danke im voraus!!
ich hätte da ein kleines Problem beim drucken von Berichten mit ActiveReports.
Was will ich erreichen:
Ich habe eine feste Datenmenge in einem FlexGrid, welche ich Zeile für Zeile im Detailbereich des Berichtes ausgeben will, was auch funktioniert.
Übergabe im Bericht:
Private Sub ActiveReport_FetchData(eof As Boolean)
Static iRow As Integer
Dim FARBE As Long
If iRow < Form1.FlexGrid1.Rows Then
If PosInFirma = 1 Then
FARBE = vbRed
Else
FARBE = vbBlack
End If
With Form1.FlexGrid1
Me.f_01.ForeColor = FARBE
Me.f_01.Text = .TextMatrix(iRow, 0)
Me.f_02.Text = .TextMatrix(iRow, 1)
Me.f_03.Text = .TextMatrix(iRow, 2)
End With
iRow = iRow + 1
eof = False
End If
End Sub
![Lächeln](https://entwickler-forum.de/core/images/smilies/smile.png)
Diesen Bericht rufe ich in einer Schleife auf, da ich ihn für einen bestimmten Personenkreis je 1x ausdrucken will.
For x = 0 To 4
ActiveReport1.txtDatum.Text = Format(Now, "dd.mm.yyyy hh:nn:ss")
ActiveReport1.txtName.Text = Me.mitListe.TextMatrix(druckAnzahl, 1)
ActiveReport1.Show 1
'ActiveReport1.PrintReport False
Next x
Benutze ich mt "ActiveReport1.Show 1" die Druckvorschau, klappt alles wie geplant, er übergibt Datum und Namen je Ausdruck und die verschiedenen Farben für den Ausruck in Feld "Me.f_01" funktionieren auch
Problem:
Benutze ich aber die oben auskommentierte Zeile "ActiveReport1.PrintReport False", dann druckt er mir zwar auch die entsprechende Anzahl der Berichte, jedoch hat er dann in jedem Ausdruck die Werte des 1.Ausdruckes. d.h. den gleichen namen, die gleiche Uhrzeit und immer die selbe Farbe im Feld me.f_01.
Ich müsste irgendwo zwischen den Ausdrucken initializieren oder reseten, aber ich wüsste nicht wo.
Wäre schön, wenn mir hier jemand helfen könnte!!
Für eure Mühen ein herzliches Danke im voraus!!