Discussion:
Frage zu Bericht und 'Duplikate ausblenden'
(zu alt für eine Antwort)
Gerald Aichholzer
2003-08-12 16:20:55 UTC
Permalink
Hallo NG,

ich habe einen Bericht, der hat in etwa folgenden Aufbau:

<RechNr> <RechDatum> <KundeName> <PosNr> <Positionsdaten>

Ich würde gerne bei den ersten drei Feldern Duplikate ver-
meiden (durch Setzen von 'Duplikate ausblenden' auf Ja).

Leider kommt es vor, dass unterschiedliche Rechnungen das
gleich Datum oder den gleichen Kunden haben - das sieht
dann sehr unschön aus.


Habt ihr einen Vorschlag, wie ich das lösen kann?


Ich habe folgendes probiert (funktioniert leider nicht,
verlangsamt jedoch den Berichtsaufbau extrem):

Setzen von 'Duplikate ausblenden' für RechNr auf Ja und
folgender Code:

Sub Detailbereich_Format(....)
Me.RechDatum.Visible = Me.RechNr.Visible
Me.KundeName.Visible = Me.RechNr.Visible
End Sub


In einem zweiten Versuch hab ich folgendes programmiert,
was halbwegs funktioniert, jedoch Problem macht, falls
eine Rechnung über eine Seitengrenze geht (RechNr ist
dann sichtbar, die anderen beiden Felder jedoch nicht):

Sub Detailbereich_Format(....)
Static vRechNr As Variant
If vRechNr <> Me.RechNr.Value Then
vRechNr = Me.RechNr.Value
Me.RechDatum.Visible = True
Me.KundeName.Visible = True
Else
Me.RechDatum.Visible = False
Me.KundeName.Visible = False
End If
End Sub


danke,
Gerald
Sascha Wostmann
2003-08-12 21:24:03 UTC
Permalink
Post by Gerald Aichholzer
<RechNr> <RechDatum> <KundeName> <PosNr> <Positionsdaten>
Ich würde gerne bei den ersten drei Feldern Duplikate ver-
meiden (durch Setzen von 'Duplikate ausblenden' auf Ja).
Leider kommt es vor, dass unterschiedliche Rechnungen das
gleich Datum oder den gleichen Kunden haben - das sieht
dann sehr unschön aus.
Habt ihr einen Vorschlag, wie ich das lösen kann?
sogar zwei:

1) Benutze eine Gruppierung nach RechNr und schreibe die RechNr, das
RechDatum und den KundeName in den Gruppenkopf.

2) setze die Felder RechNr, RechDatum und KundeName bereits in der
Datenquelle zu einem einzigen Feld zusammen und formatiere dieses
Gesamtfeld mit "Duplikate ausblenden".


Viele Grüße,
Sascha Wostmann
--
wichtige Informationsquellen zu Access: +----------------------
http://www.donkarl.com/ (FAQ) | Bitte keine Kopien
http://www.freeaccess.de/ (KnowHow) | oder Access-Anfragen
http://www.google.de/ (Suchmaschine) | per E-Mail.
Sascha Wostmann
2003-08-13 21:45:13 UTC
Permalink
Post by Sascha Wostmann
2) setze die Felder RechNr, RechDatum und KundeName bereits in der
Datenquelle zu einem einzigen Feld zusammen und formatiere dieses
Gesamtfeld mit "Duplikate ausblenden".
Diese Idee ist mir auch gekommen, aber die habe ich als "nicht schön"
verworfen, da ich nicht weiss, wie ich ohne Schriftart mit fixer Breite
das Spaltenlayout einhalten soll.
Das Problem hatte ich auch schon erahnt, wollte es aber nicht gleich
nennen... ;)
Post by Sascha Wostmann
1) Benutze eine Gruppierung nach RechNr und schreibe die RechNr, das
RechDatum und den KundeName in den Gruppenkopf.
Daran habe ich noch nicht gedacht - es stellt sich nur noch die Frage,
ob es irgendwie geht, dass ich den ersten Satz der Positionsdaten neben
den Kopfdaten plazieren kann. Wahrscheinlich nicht, daher siehe 2)
Vielleicht lässt sich mit ein paar Tricks was machen:

- die Datenfelder stehen alle im Detailbereich, wie in Deinem
Entwurf, der Bericht ist gruppiert, wie in meinem Entwurf;
- der Gruppenkopf hat keine Felder und ist auf minimale
Höhe zusammengeschoben (aber NICHT Höhe=0);
- per VBA wird ein Flag gesetzt, wenn der Gruppenkopf
gedruckt wird (deshalb Höhe <> 0);
- im Detailbereich wird je nach Flag die Sichtbarkeit der
RechNr etc. ein und ausgeschaltet. Dann das Flag abschalten.

In etwa so:
---------------Code---------------
Dim Flag As Boolean

Sub Gruppenkopf_Print
Flag = True
End Sub

Sub Detailbereich_Print
Me.RechNr.Visible = Flag
Me.RechDatum.Visible = Flag
Me.KundeName.Visible = Flag
Flag = False
End Sub
----------------------------------



Viele Grüße,
Sascha Wostmann
--
wichtige Informationsquellen zu Access: +----------------------
http://www.donkarl.com/ (FAQ) | Bitte keine Kopien
http://www.freeaccess.de/ (KnowHow) | oder Access-Anfragen
http://www.google.de/ (Suchmaschine) | per E-Mail.
Gerald Aichholzer
2003-08-14 07:18:23 UTC
Permalink
Post by Sascha Wostmann
Post by Sascha Wostmann
2) setze die Felder RechNr, RechDatum und KundeName bereits in der
Datenquelle zu einem einzigen Feld zusammen und formatiere dieses
Gesamtfeld mit "Duplikate ausblenden".
Diese Idee ist mir auch gekommen, aber die habe ich als "nicht schön"
verworfen, da ich nicht weiss, wie ich ohne Schriftart mit fixer Breite
das Spaltenlayout einhalten soll.
Das Problem hatte ich auch schon erahnt, wollte es aber nicht gleich
nennen... ;)
*hehe*
Post by Sascha Wostmann
Post by Sascha Wostmann
1) Benutze eine Gruppierung nach RechNr und schreibe die RechNr, das
RechDatum und den KundeName in den Gruppenkopf.
Daran habe ich noch nicht gedacht - es stellt sich nur noch die Frage,
ob es irgendwie geht, dass ich den ersten Satz der Positionsdaten neben
den Kopfdaten plazieren kann. Wahrscheinlich nicht, daher siehe 2)
[snip: detaillierte Beschreibung]

Hallo Sascha,

danke für deine Info - es war aber einfacher, dem Kunden einzureden,
dass die erste Zeile der Positionsdaten darunter stehen darf ;-)

lg,
Gerald

Loading...