PDA

Vollständige Version anzeigen : vba im Bericht funkt nicht


Holger 22
04.10.2001, 08:24
Hallo zusammen !

In meinem Bericht(Artikelumsatzauflistung) werden im Detailbereich 2 Sammelstrings erstellt, die alle vorkommenden Größen und Mengeneinheiten
beinhalten soll. Dazu benutz ich folgenden Code:
Private Sub Detailbereich_Format(Cancel As Integer, FormatCount As Integer)


If Not InStr([mge_string], Trim(Me![me_id_text_1])) _
And Trim(Me![me_id_text_1]) <> "" Then
[mge_string] = [mge_string] & Trim(Me![me_id_text_1]) & "@"
End If

If Not InStr([groessen_string], Trim(Me![groesse_id])) _
And Trim(Me![groesse_id]) <> "" Then
[groessen_string] = [groessen_string] & Trim(Me![groesse_id]) & "@"
End If

End Sub


Im Gruppenfuß soll die Summen der einzelnen Größen und Mengeneinheiten angezeigt werden.
Dazu werden die Strings wieder auseinandergenommen und sollen untereinander in einem Textfeld
angezeigt werden.
Gruppenfuß und Textfeld sind vergrößerbar und verkleinerbar, da die Anzahl an Größen und ME's
je nach Artikel verschieden ist.
Das mach ich mit dem Code:
Private Sub Gruppenfuß0_Format(Cancel As Integer, FormatCount As Integer)
Dim groesse As String, mge As String

'MsgBox groessen_string & mge_string

i = 0
j = 1
For i = 1 To Len([mge_string])
If Mid([mge_string], i, 1) = "@" Then
mge = Mid([mge_string], j, i - 1)
j = i + 1

If right(mge, 1) = "@" Then
mge = left(mge, Len(mge) - 1)
End If

Me![text_mge] = Me![text_mge] & vbCrLf & "Summe in " & mge
Me![dp_mge] = Me![dp_mge] & vbCrLf & ":"
End If
Next i

i = 0
j = 1
For i = 1 To Len([groessen_string])
If Mid([groessen_string], i, 1) = "@" Then
groesse = Mid([groessen_string], j, i - 1)
j = i + 1

If right(groesse, 1) = "@" Then
groesse = left(groesse, Len(groesse) - 1)
End If

Me![text_groessen] = Me![text_groessen] & vbCrLf & "Summe Größe " & groesse
Me![dp_groessen] = Me![dp_groessen] & vbCrLf & ":"
End If
Next i


[groessen_string] = ""
[mge_string] = ""
i = 0
j = 0

End Sub

Aber der ich bekomme jetzt eine Seite, auf der nur ein Satz steht, dann tausendmal untereinander
"Menge in M" der Doppelpunkt setzt mal aus, dann steht er wieder so untereinander wie er soll, aber viel
zu oft.
Auch mußte ich die Right-Funktion einbauen, weil manchmal(!) nach dem Delimiter hinter der Größe stand.
Und die Message liefert eine Mengeneinheit(fett geschrieben),Freizeile,Mengeneinheit(Normal),Freizeile,
Groesse.
Irgendwie läuft alles durcheinander.
Der Detailbereich wird doch für jeden Satz einmal durchlaufen und beim Gruppenwechsel der Gruppenfuss einmal, oder hab
ich da was falsch verstanden ?!

Jochum Rainer
04.10.2001, 09:25
Hallo!
Wenn die Summen im Gruppenfuß anzeigt werden, bekommst du bei jedem Gruppenwechsel momentan alle Summen angezeigt. So wie sich das liest, hast du nach Größe/Mengenenheit gruppiert.
Setz die Summenanzeige mal in den Berichtsfuß. So wie ich das verstanden habe, sollen ja am Ende des Berichts die Summenwerte angezeigt werden.

Gruesse
Rainer Jochum

Holger 22
04.10.2001, 09:53
Der Bericht ist nach Artikel(nummer) gruppiert.
im Gruppenfuß sollen die Summen der einzlnen Größen angezeigt werden (mit DSum).
Weil zu jedem Artikel eine unterschiedliche Anzahl Größen gehört, will ich die Summen untereinander in einem ungebundenen Textfeld ([text_groessen])anzeigen, das sich der Anzahl der Summen anpasst(vergrößerbar/verkleinerbar).
Aber irgendwie läuft da mit meienm Code alles durcheinander (s.o.) ...?!