Access-o-Mania

Access-Forum (Deutsch/German) => Bericht => Thema gestartet von: Venta3 am Juli 19, 2017, 08:28:25

Titel: Bericht mit leeren Unterbericht - Anzahl Error
Beitrag von: Venta3 am Juli 19, 2017, 08:28:25
Guten Tag an alle - ich bin sehr weit mit meinem Databank gekommen, es fehlen jetzt die Feinheiten...  Ich schätze mein Problem ist nicht unbekannt, jedoch finde ich die Lösung nicht...
Ich arbeite mit ACESS 2013
Ich habe ein Report mit vier Subreports. Ich habe die Daten (Anzahl(*)) von den Subreports in den Mainreport übertragen. Kein Problem, so lange mein Subreport nicht leer ist. Ich möchte, dass wenn mein Subreport leer ist, dass ein Wert von Null übernommen wird...

Iff([srptWorkshop].[Bericht]![WSAnzahl].HasData, [srptWorkshop].[Bericht]![Anzahl],"0")

Ist mein Syntax korrekt und wo trage ich diese Bedingung ein?

In mein MainReport habe ich die Anzahl mit einem ungebundenen Steuerelement eingetragen und dann in SteuerelementInhalt
=[srptWorkshop].[Bericht]![WSAnzahl]

Ich werde wahnsinnig mit dem blöden Ausdrucksgenerator...

Entweder ist die Lösung ganz einfach, oder ich muss programmieren...

Vielen Dank im Voraus!
Titel: Re: Bericht mit leeren Unterbericht - Anzahl Error
Beitrag von: el_gomero am Juli 19, 2017, 08:56:55
Moin,

denke mal das Präfix srpt steht für Subreport, dann wäre das ungebundene Textfeld im Hauptbericht so zu bestücken:


=nz([srptWorkshop].[Bericht]![WSAnzahl];0)


Wie und wo du die Anzahl im Unterbericht ermittelst, musst du nochmal erläutern.

Titel: Re: Bericht mit leeren Unterbericht - Anzahl Error
Beitrag von: Venta3 am Juli 19, 2017, 09:28:41
Danke für die Lösung, sie funktioniert leider nicht. Mein Problem, ist dass wenn mein Unterbericht keine Daten hat existiert er nicht. Deswegen wird ein Fehler übermittelt und nicht "0". Ich muss irgendwie mein MainReport mitteilen, dass wenn mein Subreport nicht existiert (kein Daten hat) muss er mit "0" rechnen...

Die Anzahl habe ich im Fuss vom Subreport -->  Anzahl(*)
Titel: Re: Bericht mit leeren Unterbericht - Anzahl Error
Beitrag von: el_gomero am Juli 19, 2017, 09:52:33
man könnte sicher das Event NoData des Subberichts dazu hernehmen einen Wert zu übergeben. Eleganter und sinnvoller dürfte aber sein, bereits die Quelle auszuwerten. Die Daten für den Sub kommen doch sicher aus einer Abfrage?
Titel: Re: Bericht mit leeren Unterbericht - Anzahl Error
Beitrag von: Venta3 am Juli 19, 2017, 11:02:58
Jürgen du bist ein Schatz... O.K. - ich verstehe Access und Programmieren, leider ist aber bei Access den Syntax nicht sinnvoll. Oft mit "Trial and error" kann ich es schaffen Problemen zu lösen, aber hier hast du es richtig erkannt, mein Problem liegt am Anfang...

Ich habe ein Formular erstellt - frmWorkshop. Dann habe ich einen Unterformular erstellt sfrmWorkshopTeilnehmer. So weit so gut. Hinterlegt ist eine Abfrage. Jeder Teilnehmer darf 4 Workshops auswählen. Der Hauptformular zeigt z.B. Workshop1 und mein Unterformular zeigt die Teilnehmer die sich für diesen Workshop angemeldet haben egal ob es seinen erster oder vierter Wahl war. Ich habe es sogar hinbekommen, die gesamt Anzahl der Teilnehmer pro Workshop zu berechnen, obwohl jeder Workshop in vier verschiedenen Felder existieren kann. Dieser Zahl ist auch oben in meinem Hauptformular zu sehen.

Genau diesen Formular samt Unterformular möchte ich als Bericht haben mit diesem Teilnehmerzahl... Da ich es nicht hinbekommen habe, habe es umständlicher gemacht, da ich dachte es würde auch so gehen... Mein Bericht funktioniert samt Unterbericht aber meinen ZAHL aus dem Formular... die kann ich nicht einbeziehen. Deswegen habe ich in den Unterbericht ein Zähler eingefügt, ohne zu überlegen, dass ohne Daten, existiert den Unterbericht nicht...

Hoffnungslos, oder??
Titel: Re: Bericht mit leeren Unterbericht - Anzahl Error
Beitrag von: el_gomero am Juli 19, 2017, 11:19:20
Zitat
Der Hauptformular zeigt z.B. Workshop1 und mein Unterformular zeigt die Teilnehmer die sich für diesen Workshop angemeldet haben egal ob es seinen erster oder vierter Wahl war. Ich habe es sogar hinbekommen, die gesamt Anzahl der Teilnehmer pro Workshop zu berechnen, obwohl jeder Workshop in vier verschiedenen Felder existieren kann. Dieser Zahl ist auch oben in meinem Hauptformular zu sehen.

Da könnte ein Verbesserungspotential im Datenmodell liegen.

Aus dem bisher geschilderten brauchst du

Tbl_Person
ID
Nachname
Vorname

Tbl_Workshop
ID
Thema
Beschreibung

Tbl_WorkshopPerson
ID_Workshop_F
ID_Person_F

letztere stellt ein klassische m:n Relation dar und enthält die Fremdschlüssel der anderen Tabellen. Damit hast du den Workshop immer im gleichen Feld. Wenn Workshops mehr als 1x abgehalten werden, muss weiter aufgedröselt werden mit einer WorkshopDatum Tabelle.

Mit dem geschilderten Aufbau verflüchtigen sich wahrscheinlich die Probleme, die zu dem Beitrag geführt haben. ;)
Titel: Re: Bericht mit leeren Unterbericht - Anzahl Error
Beitrag von: Venta3 am Juli 19, 2017, 11:27:05
Wenn ich dich richtig verstanden habe... Anstatt dass ein Teilnehmer 4 Workshopfelder benötigt, kommt der Teilnehmer 4 mal in der Liste vor je mit einem Workshop?
Titel: Re: Bericht mit leeren Unterbericht - Anzahl Error
Beitrag von: el_gomero am Juli 19, 2017, 11:29:51
genau, streng genommen die ID des Teilnehmers. Wenn du willst, kannst du den PK der Tbl_WorkshopPerson über beide Felder legen, dann kann jeder Teilnehmer jeden Workshop nur 1 belegen.
Titel: Re: Bericht mit leeren Unterbericht - Anzahl Error
Beitrag von: Venta3 am Juli 19, 2017, 11:46:10
PERFEKT! Danke, danke, danke...
Titel: Re: Bericht mit leeren Unterbericht - Anzahl Error
Beitrag von: MzKlMu am Juli 19, 2017, 11:59:50
Hallo,
und wenn dann das Datenmodell stimmt, braucht es auch keinen Unterbericht mehr, weil man einen gruppierten Bericht erstellen kann.
Gruppenkopf für den Teilnehmer und im Detailbereich dessen Workshops.
Dann wird es noch einfacher.