Neuigkeiten:

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

Mobiles Hauptmenü

Grundstruktur/Planung Datenbank und Erstellung Rechnung

Begonnen von DocSnyder09, Januar 03, 2021, 11:26:03

⏪ vorheriges - nächstes ⏩

DocSnyder09

Liebe Access Pro's,

ich möchte gerne die Verwaltung und Abrechnung für den Wasserzins (Wasserverbrauch) in Access umsetzen. Zum Aufbau der DB habe ich mir schon einige Gedanken gemacht aber stoße immer wieder auf Probleme. Das Ziel ist letztlich jährlich eine Abrechnung und diverse Auswertungen zu erstellen.

Zur Struktur der DB:

tbl_Mitglieder: beinhaltet alle Mitglieder
tbl_Objekt: beinhaltet alle Objekte die einen Wasseranschluss haben (1 Mitglied kann mehrere Objekte besitzen)
tbl_Wasserzaehler: ein Objekt hat n Wasserzähler (Hauptwasserzähler, Subwasserzähler möglich)
tbl_WZ_Detail: beinhaltet die einzelnen Wasserzähler
tbl_Zählertyp: Hauptzähler oder Subzähler
tbl_ZählerZweck: Einsatzzweck (Haus, Haus2, Garten, Stall)

Zur Erklärung:
Die Abrechnung soll pro Objekt erstellt werden.
Die Rechnung kann folgende Artikel enthalten:
+ Kosten für den Wasserverbrauch
+ Kosten für Subwasserzähler (Tausch oder Neu)
+ Preiskorrekturen/Nachverrechnungen etc.

Zu den einzelnen Rechnungsartikeln:
Kosten für den Wasserverbrauch
Je nach Höhe des Verbrauchs des Hauptwasserzählers werden Pauschalen oder nach tatsächlichen Verbrauch berechnet.
<=50m³ kleine Pauschale
<=100m³ große Pauschale
>100m³ Verbrauch*Preis pro m³

Die Höhe des Verbrauchs muss auch berechnet werden, da die Mitglieder den Zählerstand melden. D.h. der [Zählerstand aktuelles Jahr] - [Zählerstand Vorjahr] = Verbrauch
Jetzt müssen aber alle Wasserzähler (egal welcher Typ) aber alle 5 Jahre getauscht werden. Dann wird der Zählerstand beim Tausch abgelesen [Zählerstand bei Tausch]-[Zählerstand Vorjahr]+[Zählerstand aktuelles Jahr]

Kosten für Subwasserzähler (Tausch oder Neu)
Subwasserzähler werden entweder bei Neuinstallation oder Tausch mit unterschiedlichen Preisen verrechnet.

Preiskorrekturen/Nachverrechnungen etc.
Soll ein "flexibler Artikel" für Preiskorrekturen sein (Zu- und Abschläge)

Ich stehe nun immer vor dem Problem, dass ich nicht genau weiß, wo ich die aktuellen Zählerstände eintrage, die Berechnung mache für die Rechnung und wie ich die einzelnen Rechnungsposten zu einem Objekt erstellen kann.

Vielleicht kann mir jemand grundsätzlich sagen, ob der Aufbau so klappt. Ich freue mich auf eure Hilfe.

LG Hannes

Beaker s.a.

Hallo Doc,
Ich versuche es mal mit ein paar ersten Anmerkungen.
Bei den Beziehungen muss referentielle Integrität eingestellt werden.
Zwischen Rechnungen und R-Details würde ich (zumindest während der
Entwicklung) auch die Löschweitergabe einstellen.

- tblMitglieder,
hier würde ich die Adressdaten auslagern, dann kannst du die auch gleich
für die Objekte nutzen. Desgleichen die Bankdaten; -kann ja sein, dass
ein Mitglied mehrere Konten hat.

- Rechnungen/-Details, Artikel
Was ist der Unterschied zwischen "Mitglied" und "Kunde"?
Was sind "Artikel"? Du willst doch Verbräuche berechnen?

Wasserzaehler/-Details
- Die beiden Wertetabellen "Typ" und "Zweck" würde ich an die Zähler hängen.
Das sind ja Eigenschaften des Zählers und nicht des Verbrauchs. Diese sollen
in "WZ_Details" erfasst werden, - dann würde ich die Tabelle auch so nennen.


gruss ekkehard
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

DocSnyder09

Hallo Ekkehard,

erstmals Danke für die rasche Antwort.

- tbl_Mitglieder
vielen Dank für deinen Input. D.h. du würdest über einen Fremdschlüssel in der Tabelle Mitglieder auf die Adressen zugreifen? Hätte das versucht umzusetzen.

- Rechnungen/-Details, Artikel
Ich habe den Rechnungsbereich aus einem Beispiel übernommen und nicht wirklich nachgedacht. Ein Mitglied ist Schlussendlich der Kunde. Habe das Feld entsprechend aus der tbl_Rechnungen entfernt.

"Artikel" kommen jetzt auch aus dem Beispiel... - ich hätte mir gedacht, dass die "Pauschale groß" oder die "Pauschale klein" Artikel sein könnten.

- Wasserzaehler/Details
Die Wertetabellen habe ich an die tbl_Wasserzaehler gehängt (die einzelnen Adress-Felder habe ich jetzt noch nicht gelöscht - zur Sicherheit :-) )

Ich hoffe das stimmt so wie ich das erstellt habe?

Beaker s.a.

Hallo,
- tbl_Mitglieder
Nein, alle Adress-Felder gehören in die tbl_Adressen, und diese bekommen einen
FK aus der tbl_Mitglieder bzw. tbl_Objekte; - ein Mitglied - mehrere Adressen.
Die PLZ (FK) gehört dann auch in tbl_Adressen. Evtl. baust du dort auch noch einen
Schlüssel ein, der bestimmt ob die Adresse zu einem Mitgl. oder einem Objekt gehört.

- Rechnungen
RI zu Mitgliedern fehlt.
Sollte ansonsten erstmal so reichen. Wobei die Einheit(en) würde ich auch in eine
Wertetabelle auslagern. Hier brauchst du die aber gar nicht, - in der tbl_Artikel
sollte reichen.

- Artikel
Preise können sich ändern. Dazu brauchst du eine historisierte (Gültigkeitszeiträume)
Preisliste (-Tabelle).

- tbl_WZ_Details (ich würde sie "_Staende" nennen)
Zitat(die einzelnen Adress-Felder habe ich jetzt noch nicht gelöscht - zur Sicherheit :-) )
Habe ich nicht verstanden, - welche Adress-Felder?

gruss ekkehard
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

DocSnyder09

Hallo,

- tbl_Mitglieder --> hoffe jetzt richtig umgesetzt :-) bis auf Schlüssel Mitglied oder Objekt

- Rechnungen --> RI berichtigt und Wertetabelle tbl_Einheiten angelegt

- Artikel --> verstehe ich, weiß aber nicht wirklich wie so etwas umgesetzt wird. Hab die Tabelle tbl_Artikel_Historie angelegt. Wahrscheinlich sind dafür VBA Kenntnisse notwendig? Oder gibt es auch eine andere Lösung?

Wo ich nun noch absolut nicht weiß wie ich es am besten anstelle, ist die Berechnung des Verbrauchs eines Wasserzählers, vor allem dann wenn ein Zählerwechsel stattgefunden hat. Wie bzw. wo soll am besten die Berechnung umgesetzt werden? Vielleicht muss ich an dieser Stelle nochmals die Struktur mit den Zählern überdenken?

- tbl_WZ_Details --> umbenannt in tbl_WZ_Staende; bzgl. der Adress-Felder --> war hier an der falschen Stelle, sollte bei der tbl_Mitglieder stehen. Sind aber nun gelöscht.