![]() |
|
|||||||
| Newsgroup microsoft.public.de.access Forum microsoft.public.de.access |
![]() |
|
|
Themen-Optionen | Ansicht |
|
#1
|
|||
|
|||
|
Moin, ich hab' mal wieder eine Binde vor den Augen:
in einem gruppierten Report möchte ich die Anzahl der Vorkommen im Detailbereich - für die Gruppe und - über alle Gruppen berechnen. Das mache ich wie folgt (ich hoffe, die Darstellung ist verständlich) - dim ZählerAlle, ZählerGruppe - - Berichtskopf_Format ZählerAlle = 0 - Gruppenkopf_Format ZählerGruppe = 0 - report gruppiert nach einem wert: - detailbereich on format: ZählerGruppe = ZählerGruppe + 1 ZählerAlle = ZählerAlle + 1 - gruppenfuß on format: me.txtFeldZählerGruppe = ZählerGruppe - berichtsfuß on format: me.txtFeldZählerAlle = ZählerAlle So, die Ergebnisse innerhalb der Gruppen sind korrekt, aber die Summe über alles im Berichtsfuß nicht. Es werden pro Gruppenwechsel drei Ereignisse dazugezählt. horst |
|
|
||||
|
||||
|
|
|
#2
|
|||
|
|||
|
horst wrote:
> in einem gruppierten Report möchte ich die Anzahl der Vorkommen im > Detailbereich > - für die Gruppe und > - über alle Gruppen berechnen. > Das mache ich wie folgt (ich hoffe, die Darstellung ist verständlich) > - > dim ZählerAlle, ZählerGruppe > - > - Berichtskopf_Format > ZählerAlle = 0 > > - Gruppenkopf_Format > ZählerGruppe = 0 > > - report gruppiert nach einem wert: > > - detailbereich > on format: ZählerGruppe = ZählerGruppe + 1 > ZählerAlle = ZählerAlle + 1 > - gruppenfuß > on format: me.txtFeldZählerGruppe = ZählerGruppe > - berichtsfuß > on format: me.txtFeldZählerAlle = ZählerAlle > > So, die Ergebnisse innerhalb der Gruppen sind korrekt, aber die Summe > über alles im Berichtsfuß nicht. Es werden pro Gruppenwechsel drei > Ereignisse dazugezählt. Falls du wirklich nur die Anzahl der Detailbereiche zählen willst, dann geht das viel einfacher und sicherer über die eingebauten Funktionen bzw. Eigenschaften von Access. Das Vorgehen dafür ist im Prinzip wie hier beschrieben: Laufende Nummer/Summe in Berichten www.donkarl.com?FAQ5.16 Du kannst natürlich mehrere, ggf. unsichtbare, Textfelder mit verschiedenen Einstellungen für Laufende Summe nehmen (über Gruppe, über Alles). Dazu Textfelder in anderen Bereichen wie dem Berichtsfuß mit Steuerelementinhalt: =MeinZählendesFeld etc. -- Servus Karl ********* Ich beantworte keine Access-Fragen per Email. ********* Access-FAQ: http://www.donkarl.com + Anmeldung und Info zur Access-Entwickler-Konferenz (AEK12), Oktober 2009, Nürnberg |
|
#3
|
|||
|
|||
|
> Falls du wirklich nur die Anzahl der Detailbereiche zählen willst,
> dann geht das viel einfacher und sicherer über die eingebauten > Funktionen bzw. Eigenschaften von Access. Karl, das geht leider nicht! Ich will nämlich wirklich viel mehr ;-) Ich lasse mehrere Zähler laufen die über etwas komplexere 'If' Klauseln unterschiedliche Wertzustände zählen. Ich muß das also über eine Ereignisprozedur rechnen. Und eigentlich wollte ich mir abgewöhnen über 'iif' Konstrukte in den Textfeldern zu rechnen. horst |
|
#4
|
|||
|
|||
|
horst wrote:
>> Falls du wirklich nur die Anzahl der Detailbereiche zählen willst, >> dann geht das viel einfacher und sicherer über die eingebauten >> Funktionen bzw. Eigenschaften von Access. > > das geht leider nicht! Ich will nämlich wirklich viel mehr ;-) > Ich lasse mehrere Zähler laufen die über etwas komplexere 'If' > Klauseln unterschiedliche Wertzustände zählen. > Ich muß das also über eine Ereignisprozedur rechnen. Und eigentlich > wollte ich mir abgewöhnen über 'iif' Konstrukte in den Textfeldern zu > rechnen. Tja, wenn ich mich recht erinnere, ist das der zweite Thread, den du zum Thema aufmachst, weil du mit der Codelösung Probleme hast. Soll heißen: Wenn die Logik in Ausdrücken an der Access-Oberfläche darstellbar ist, empfehle ich dir dringend die "iif"-Konstrukte bzw. Switch() oder Choose(). Oft lässt sich das schon in einer Abfrage vorbereiten, so dass die Ausdrücke nicht allzu komplex werden. Berechnungen im Berichtscode mache ich nur im Notfall, d.h. wenn die Logik eben nicht mehr in Ausdrücken darstellbar ist. Das ist selten der Fall. Dabei bevorzuge ich dann die Print-Ereignisse, denn die sind besser beherrschbar als die Format-Ereignisse, deren wiederholungsbedingte Probleme oft auch per FormatCount oder Retreat kaum zu bändigen sind. -- Servus Karl ********* Ich beantworte keine Access-Fragen per Email. ********* Access-FAQ: http://www.donkarl.com + Anmeldung und Info zur Access-Entwickler-Konferenz (AEK12), Oktober 2009, Nürnberg |
|
#5
|
|||
|
|||
|
> Tja, wenn ich mich recht erinnere, ist das der zweite Thread,
> den du zum Thema aufmachst, weil du mit der Codelösung > Probleme hast. Ja und nein ;-), da hatte ich die variablen schlicht an der falschen stelle initialisiert, für mich im nachhinein einfach nachvollziehbar. Und, Probleme haben heißt: sie zu lösen lernen. > Berechnungen im Berichtscode mache ich nur im Notfall, Na, wenn du sogar dies als Problemfeld siehst, dann darf ich das auch! noch mal ;-) danke, horst p.s.. Ich habe eine Notlösung: einen report in dem ich nur die Gruppenergebnisse anzeige und einen im Prinzip iedentischen für die Summen. Muß gerade zu einem Ergebnis kommen. |
|
|
|
|