Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Bericht aus mehreren Abfragen

Begonnen von Wuggerer, Juni 03, 2019, 21:56:20

⏪ vorheriges - nächstes ⏩

Wuggerer

Guten Abend beisammen,
habe bereits einige Zeit damit verbracht eine Lösung für mein Vorhaben zu finden. Leider mit nur mäßigen Erfolg. Konkret geht es um folgendes.
Meine Haushaltsdatenbank beinhaltet mehrere Tabellen und dazugehörige Abfragen für das Erstellen von einzelnen Berichten. Soweit so gut. Jetzt würde ich mir gerne einen Bericht generieren lassen, in dem alle Summen bzw Beträge der verschiedenen Berichte zusammenzählt werden. Sprich... der Bericht über die mtl. Fixkosten + der Bericht von den monatlichen Einkäufen+ einen Bericht über momentane Ratenzahlungen. Diese 3 Berichte sollten zu einem vereint werden und die Gesamtsumme von allen 3 Berichten zusammenaddiert werden. Wie müsste die Abfrage oder der Bericht ausschauen?
Danke schon mal für die Antworten...

DF6GL

Hallo,

ohne die Tabellen und weitere Einzelheiten  (Beziehungen) zu kennen, könnte dies zum Erfolg führen:


Erstelle eine Abfrage, die über alle beteiligten Tabellen verknüpft für die Datenherkunft eines Berichtes.

Im Bericht wird nach den Unterscheidungsmerkmalen gruppiert und jeweils der zugehörende Gruppenkopf und -fuß eingeblendet, ebenso der Berichtskopf und -fuß.

Die gruppenbezogenen Berechnungen sind in den jeweiligen Gruppenfuß zu platzieren,  die Berechnungen für die  Gesamtergebnisse kommen in den Berichtsfuß.
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

Wuggerer

Hallo again : :)
ich kann mich erinnern, es so schon mal probiert zu haben. Auch heute habe ich angefangen, die Abfrage mit den entsprechenden Tabellen zu füllen.(s.Bild 2). Das Ergebnis aus der Abfrage ist allerdings... sagen wir mal interessant.(s.Bild 1). Jetzt habe ich von der Einkaufsliste auf einmal jeden Posten was ich jemals eingetragen habe sage und schreibe 741 mal. Was bei 256 Datensätze ne stolze Summe von 170430 Datensätze ergibt. :o :o  :D :D. Wo liegt der Fehler??? Ausserdem wiederholen sich die Fixkosten so lange, bis die 170430 Datensätze durch sind. Ich geh mal von nem ganz banalen Fehler aus??

MzKlMu

hallo,
wenn Tabellen keine Verknüpfung haben, multiplizieren sich die Datensätze. Das ist normales Verhalten.
Wenn es nicht möglich ist, Vernüpfungen einzurichten, so sind in einen Bericht als Hauptbericht 3 Unterberichte einzufügen. Im Hauptbericht können dann Felder der UB's summiert werden.
Gruß Klaus

Wuggerer

Was genau ist unter Verknüpfungen zu verstehen? Beziehungen? Falls keine Beziehungen gemeint sind, wie genau lege ich die an?
LG Stefan

MzKlMu

#5
Hallo,
Beziehungen werden im Beziehungsbild angelegt, Verknüpfungen in Abfragen.
In ihrerer Wirkung ist beides im Wesentlichen gelich.
So wie ich das sehe, können hier keine sinnvollen Beziehungen/Verknüpfungen angelegt werden. Da bleibt nur das mit den Unterberichten.

Vermutlich wurden hier bereits grundlegende Fehler beim Entwurf der Datenbank gemacht.
Alle Kosten sollten in einer Tabelle erfasst werden.
5 kg Äpfel zum Kg Preis von 2,49€
oder
50 ltr. Benzin zum Literpreis von 1,48 lassen sich problemlos in einer Tabelle erfassen. Und das Geschäft ist die Tankstelle.
Beides ist der gleiche Vorgang, Du kaufst etwas ein. Demzufolge gehört das auch in eine Tabelle.
Du solltest das noch mal gründlich überdenken.
Gruß Klaus

DF6GL

Hallo,

und bevor Beziehungen angelegt werden (können) , sollten die Regeln der Normalisierung umgesetzt sein..

Siehe u. st. Links 1, 1a un d 1b
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

Wuggerer

Hallo und danke für die vielen Antworten. Dass die Datenbankstruktur sagen wir mal supoptimal gewählt ist, kann ich nicht verneinen. Zum einen wird das sicherlich damit zu tun haben, das dies mein erstes größeres Projekt bzw meine erste größere Datenbank ist die ich in Eigenregie erstelle. Auch das Konzept stand leider nicht von vorn herein klar. Weswegen auch nachträglich was eingefügt oder verändert wurde. Alle Tabellen nochmal von Grund auf neu zu strukturieren traue ich mir vom jetzigen Standpunkt glaub ich nicht zu. Ich würde gerne die Lösung mit den Unterberichten versuchen umzusetzen. Hab damit auch schon begonnen, den Bericht zu erstellen, und 2 weitere Unterberichte bzw Unterabfragen einzufügen. Die Unterberichte in sich zu addieren stellt kein Problem da. Wie aber stelle ich es an, dass alle drei Ergebnisse der Unterberichte auf dem Hauptbericht zusammengezählt werden? Die Textfelder in denen die Ergebnisse stehen, in den Berichtsfuß zu kopieren klappt schon mal nicht. sobald ich den Bericht im Berichtsmodus aufrufe fragt er mich nach einem Parameter von dem Feld "Betrag" welches ich kopiert habe..

MzKlMu

Hallo,
Du musst die Felder der UB direkt mit ihrere Referenz ansprechen.
Nach dem Schema:
Reports!HauptberichtName!UnterberichtName.Report!Feldname
Der Name des UB steht in den Eigenschaften wenn man den Rahmen des UBs markiert.
Die Referenz kann auch verkürzt werden.
Siehe hierzu:
FAQ 4.2 Bezug auf Unterformular/bericht
http://www.donkarl.com?FAQ4.2
Gruß Klaus

Wuggerer

also so ganz mag das noch nicht funktionieren. Das ist mir ja schon langsam ein bisschen unangenehm.
Ich hab jetzt folgendes gemacht. Habe einen Bericht generiert über eine Abfrage in der der Einkauf von /und bis zu einem bestimmten Datum angezeigt wird. Soweit so unspektakulär. Als nächstes bin ich her und habe einen Unterbericht mit bereits vorhanden Tabellen bzw Abfragen im Berichtsfuß erstellt. Als nächstes habe ich sowohl im Hauptbericht als auch im Unterbericht beide Summen zusammenrechnen lassen. Daran im Anschluss habe ich im Berichtsfuss ein Textfeld erstellt und unter "Steuerelementinhalt" folgendes eingegeben.
Reports!rpt_Gesamtkosten!qryTanken_Aktualisieren_UB.Report!AccessTotalsBetrag.

Der Hauptbericht in dem Fall heist "rpt_Gesamtkosten; der Unterbericht "qryTanken_Aktualisieren_UB" und das Textfeld in dem der Betrag drin stehen soll heist "AccessTotalsBetrag. Hab ich wo trotz aller Sorgfalt weiterhin einen Fehler?
Es ist echt frustrierend. Die Stunden wandern dahin, und das Problem findet einfach keinen Abschluss :-[
Danke nochmal für eure Antworten und eure Geduld
Gruß Stefan

MzKlMu

Hallo,
der Hauptbericht sit falsch.
Du brauchst zunächst 3 unabhängige Berichte die die entsprechenden Kosten mit Summen zeigen. Dies 3 Berichte kommen als je ein Unterbericht in den Haptbericht. Der Hauptbericht stellt keine Daten dar, das ist nur ein Reiner Container für die UBs und ist demzufolge ungebunden.

In den Bericht kommen jetzt nur erklärende Texte und ein Feld für die Summe der Einzelsummen der UBs.
Gruß Klaus

Wuggerer

#11
Hallo Zusammen,
ich mal wieder :) Habe die Felder jetzt wie geplant im Hauptbericht stehen. So in etwa wie ich es mir vorgestellt habe. Der Weg war allerdings ein wenig anders. Mein Textfeld(er) haben nun folgenden Steuerelementinhalt "=[Unterbericht_Einkauf].[Bericht]![SummevonBetrag € Gesamtsumme Summe]. Der Betrag von den Unterbericht steht nun in benannten Textfeld.
Siehe Bild. Ich hatte im Anschluss noch ein weiteres Textfeld erstellt und alle Summen mit diesem Steuerelementeninhalt "=[Unterbericht_Einkauf].[Bericht]![AccessTotalsSummevonBetrag €]+[Unterbericht_Tanken_Aktualisieren].[Bericht]![AccessTotalsBetrag1]+[Unterbericht_Gesamtfixkosten].[Bericht]![AccessTotalsBetrag]+[Unterbericht_Gesamtraten].[Bericht]![AccessTotalsmonatliche Rate (€)] versehen. Genau so wollte ich es haben. Ich bedanke ich bei allen, die mich bei der Findung meiner Lösung geduldig unterstützt hatten.
Schöne Grüße aus Berlin