Hilfe für Rechnung... für Mitglieder...

Datenbanklösungen mit AOO/LO

Moderator: Moderatoren

herhag
**
Beiträge: 27
Registriert: Di, 19.04.2016 19:14
Wohnort: Nbg.
Kontaktdaten:

Hilfe für Rechnung... für Mitglieder...

Beitrag von herhag » Mi, 13.07.2016 17:40

Hallo in´s Forum.

Anhand der Relationen, siehe Bild, habe ich nun einige Fragen zur Erstellung einer Jahresabrechnung.

Nun bin ich an einem Punkt angelangt, wo ich, wieder einmal, Hilfe benötige.

In die Tabellen (tbl_Versicherungen, tbl_Arbeitsstunden, tbl_Beitrag, tbl_WZaehlerStand) werden die jeweiligen Daten eingetragen.

Alle Zahlungen werden nur „Jährlich“ erhoben.

Nun meine Fragen.

Wie bekomme ich, alle diese Daten aus den Tabellen in eine Tabelle die ich zur Rechnungserstellung hernehmen könnte?

Ok, mittels Abfragen mit Unterabfragen.
Aber, genau hier ist mein Problem.
Für die verschachtelten Abfragen fehlt mir die Erfahrung.

Was ich bisher an Abfragen habe...

1. Eine Abfrage die mir den GesamtBeitrag für ein Jahr errechnet.
2. Eine, die mir die Arbeitsstunden ausrechnet inkl. der noch zu leistenden Stunden bzw. den dafür zu zahlenden Betrag.
3. Eine für die gesamten Versicherungsbeträge des Jahres
4. Eine für den Wasserverbrauch des Jahres inkl. des zu zahlenden Betrages, je Mitglied bzw. GartenParzelle.

Diese Abfragen funktionieren und zeigen mir die Daten für das jeweilige Mitglied und des Jahres.
relationen.jpg
relationen.jpg (137.74 KiB) 4021 mal betrachtet
Um es kurz zu machen, ich benötige eine Lösung um die Daten zu einer GesamtJahresRechnung zusammenzufassen.

Würde mich über jegliche Art der Hilfe freuen.
Danke für die Hilfe. :D 8)
==============================
Libre Office 5.1.1.3
PortableVersion
Windows 10
64 Bit

RobertG
*******
Beiträge: 1735
Registriert: Fr, 13.04.2012 19:28
Kontaktdaten:

Re: Hilfe für Rechnung... für Mitglieder...

Beitrag von RobertG » Do, 14.07.2016 08:51

Hallo herhag,

am wenigsten Probleme bekommst Du, wenn Du
  1. alle Beträge bezogen auf die Personen einzeln berechnest,
  2. aus den so erstellen Abfragen Ansichten machst und
  3. anschließend eine zusammenfassende Abfrage erstellst.
Die zusammenfassende Abfrage muss so aufgebaut werden, dass alle Personen erfasst werden:

Code: Alles auswählen

SELECT "Person".*, "AnsichtGesamtBeitrag"."GesamtBeitrag" FROM "Person" LEFT JOIN "AnsichtGesamtBeitrag" ON "Person"."ID" = "AnsichtGesamtBeitrag"."id_person_f"
... hier jetzt nur für den Gesamtbeitrag dargestellt, aber für alle Teilbeiträge entsprechend weiter immer wieder über den LEFT JOIN, damit auch alle Personen erfasst werden - besonders die, die noch gar nichts gezahlt haben.

Gruß

Robert
Zuletzt geändert von RobertG am Do, 14.07.2016 16:04, insgesamt 1-mal geändert.

herhag
**
Beiträge: 27
Registriert: Di, 19.04.2016 19:14
Wohnort: Nbg.
Kontaktdaten:

Re: Hilfe für Rechnung... für Mitglieder...

Beitrag von herhag » Do, 14.07.2016 09:24

Danke für den Denkanstoß.
:D
Danke für die Hilfe. :D 8)
==============================
Libre Office 5.1.1.3
PortableVersion
Windows 10
64 Bit

herhag
**
Beiträge: 27
Registriert: Di, 19.04.2016 19:14
Wohnort: Nbg.
Kontaktdaten:

Re: Hilfe für Rechnung... für Mitglieder...

Beitrag von herhag » Do, 14.07.2016 14:48

Hallo Robert,

nun, dass mit an den Ansichten (VIEWS) und der Abfrage hat geklappt.

Bei einer Abfrage (mit LEFT JOIN) mit den 4 Ansichten, bekomme ich nun je Mitglied (Person) die Gesamtbeträge (Beiträge, Versicherungen, Wasserverbrauch und Arbeitsstunden) angezeigt.

Wie kann/muss ich es nun bewerkstelligen, dass mir die Einzelbeträge (Stadtverbandsbeitrag, Vereinsbeitrag, Diebstahlversicherung, Gebäude-Brand-Versicherung, Unfallversicherung etc.) angezeigt werden einschließlich des Gesamtbetrages?

Beispiel:
Stadtverbandsbeitrag + Vereinsbeitrag = Gesamtbeitrag
VS 1 + VS 2 + VS 3 = GesamtVersicherungsBeitrag
Wasserverbrauch * Kosten = KostenWasser + Grundgebühr = Gesamtkosten

Ist dies mittels SQL möglich, oder nur über Makro lösbar?

Oder, kann ich auf einem Formular die Berechnungen durchführen lassen?
In der Art: Feld1 = Feld2 + Feld3
Also in meinem Falle die jeweiligen Datenfelder.

Danke für die Hilfe.
Danke für die Hilfe. :D 8)
==============================
Libre Office 5.1.1.3
PortableVersion
Windows 10
64 Bit

RobertG
*******
Beiträge: 1735
Registriert: Fr, 13.04.2012 19:28
Kontaktdaten:

Re: Hilfe für Rechnung... für Mitglieder...

Beitrag von RobertG » Do, 14.07.2016 16:13

Hallo herhag,

ich dachte, dass Du genau diese Einzelbeiträge auch in Abfragen bereits berechnet hast. Du musst doch irgendwo die "Gesamtbeträge" aus den "Einzelbeträgen" errechnet haben. Aus der entsprechenden Quelle kannst Du doch genauso die Einzelbeträge aufführen - wieder mit dem LEFT JOIN angehängt über "id_person_f". Sollten da Summierungen notwendig sein, so kannst Du auch da erneut zu Ansichten greifen, auf die Du die Abfrage beziehst.

Du könntest auch gegebenenfalls zum Mittel der korrelierenden Unterabfrage greifen. Siehe dazu auch das Kapitel "Abfragen" des Handbuchs.

Mit Makros ist in dem Zusammenhang nichts zu erledigen. Die Daten stehen in den Tabellen der Datenbank. Auf die Daten greifst Du mit Abfragen zu.

Gruß

Robert

herhag
**
Beiträge: 27
Registriert: Di, 19.04.2016 19:14
Wohnort: Nbg.
Kontaktdaten:

Re: Hilfe für Rechnung... für Mitglieder...

Beitrag von herhag » Do, 14.07.2016 17:09

Hallo Robert.

Da habe ich mich wohl missverständlich ausgedrückt.

Ja, die Einzelergebnisse als auch die Gesamtergebnisse aus den berechneten Einzelergebnissen habe ich.

Was ich ausdrücken wollte war, wie bekomme ich dies auf einem Rechnungsformular dargestellt.
Aber, da muss ich ja wohl nur die Ansichten einbauen mit der entsprechenden Anordnung.

`Mal sehen was ich da fabriziere.

Auf jeden Fall, erst einmal danke für die Hilfe.
Danke für die Hilfe. :D 8)
==============================
Libre Office 5.1.1.3
PortableVersion
Windows 10
64 Bit

RobertG
*******
Beiträge: 1735
Registriert: Fr, 13.04.2012 19:28
Kontaktdaten:

Re: Hilfe für Rechnung... für Mitglieder...

Beitrag von RobertG » Do, 14.07.2016 20:07

Hallo herhag,

Du brauchst kein Rechnungsformular, sondern einen Bericht. Falls Du mit AOO arbeitest, müsstest Du zuerst den ReportBuilder dafür installieren. Bei LO ist der dabei.

Gruß

Robert

herhag
**
Beiträge: 27
Registriert: Di, 19.04.2016 19:14
Wohnort: Nbg.
Kontaktdaten:

Re: Hilfe für Rechnung... für Mitglieder...

Beitrag von herhag » Fr, 15.07.2016 09:59

Danke... :D
Danke für die Hilfe. :D 8)
==============================
Libre Office 5.1.1.3
PortableVersion
Windows 10
64 Bit

herhag
**
Beiträge: 27
Registriert: Di, 19.04.2016 19:14
Wohnort: Nbg.
Kontaktdaten:

Re: Hilfe für Rechnung... für Mitglieder...

Beitrag von herhag » Mo, 18.07.2016 19:47

Hallo Robert,

habe wieder ein Abfrageproblem.

Also, der Bericht, zur Rechnungserstellung, ist soweit fertig, aber nur mit den Versicherungsbeiträgen.
Siehe Bild.
vs1.jpg
vs1.jpg (25.53 KiB) 3792 mal betrachtet
Diese Daten werden mit einer Abfrage erstellt.
Aber, hier ist mein Problem.
Wie kann ich diese Abfrage ausbauen, dass mir folgende Beiträge mit aufgelistet werden.

Vereinsbeitrag, Stadtverbandsbeitrag und das jeweilige Jahr.
Anzahl der Arbeitsstunden, Jahr

Die Einzelabfragen bekomme ich hin, nicht aber die Abfrage über die drei beteiligten Tabellen (Person, Arbeitsstunden und Beiträge)

Aus dem BeziehungsBild sind die Zusammenhänge ersichtlich.

Und, ich weiß ehrlicherweise auch nicht, ob ich die Ergebnisse so bekommen kann, wie ich mir dies vorstelle.
r16.jpg
r16.jpg (53.21 KiB) 3792 mal betrachtet
So, Bild 2, möchte ich, dass es aussieht.

Danke, für jedwede Art der Hilfe...
Danke für die Hilfe. :D 8)
==============================
Libre Office 5.1.1.3
PortableVersion
Windows 10
64 Bit

RobertG
*******
Beiträge: 1735
Registriert: Fr, 13.04.2012 19:28
Kontaktdaten:

Re: Hilfe für Rechnung... für Mitglieder...

Beitrag von RobertG » Di, 19.07.2016 07:57

Hallo herhag,

auch so ein umfassender Ausdruck ist möglich, wenn alle Daten zusammen in einem Datensatz stehen.

Wenn Du die Datenbank noch nicht mit realen Daten gefüllt hast, sondern nur ein paar Dummydatensätze drin hast, dann könntest Du sie ja hier gerne zur Verfügung stellen. Alternativ kannst Du mir die Datenbank auch einmal per Mail zuschicken.

Du müsstest doch in jeder Abfrage die "ID" aus der Tabelle "Person" verzeichnet haben. Dann hast Du doch das verbindende Element "Person_ID". Wenn in einzelnen Abfragen nicht alle "Person_ID" verzeichnet sind, dann musst Du entweder die Abfragen nachregulieren (Tabelle "Person" mit einem LEFT JOIN voranstellen) oder die Abfragen über eine korrelierende Unterabfrage verbinden. Das ginge dann so:

Code: Alles auswählen

SELECT "a".*, 
(SELECT "Vereinsbeitrag" FROM "Vereinsbeitrag" WHERE "Person_ID"="a"."Person_ID") AS "Vereinsbeitrag", 
(SELECT "Stadtverbandsbeitrag" FROM "Stadtverbandsbeitrag" WHERE "Person_ID"="a"."Person_ID") AS "Stadtverbandsbeitrag"
...
 FROM "Versicherungsbeitrag" AS "a"
Gruß

Robert

Antworten