November 30, 2020, 02:48:13

Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!


Zinsabrechnung nachbilden

Begonnen von xelion, Mai 31, 2020, 02:12:57

⏪ vorheriges - nächstes ⏩

xelion

Guten Abend Allerseits,

erstmals will ich mich für den tollen und sehr Hilfreichen Forum und Teilnehmer sehr bedanken. Ich bin absolut Neu hier und hoffe Hilfe finden zu können.

Ich habe folgendes Anliegen:

In einer Tabelle speichere folgende Werte:

tbDarlehenskondition
darlehenID(Pri) - 1
zinsSatzProAnno - Beispielwert: 2,49
zinsBeginnDatumVon - 04.07.2020
zinsBeginnDatumBis - 24.11.2023
darlehensSumme - 2000
abrechnungSollBisDatumerfolgen - 30.06.2023

tbTilgungen
tilgungenID(Pri) - 1;2;3;4
darlehenID - 1:1;1;1
tilgungsDatumAm - 19.03.2021;15.06.2022;31.12.2022;30.06.2023
tilgungsBetrag - 1000;200;600;255,53

Die beiden Tabellen sind über darlehenID 1:n miteinander verbunden. Jede Darlehenssumme kann in mehreren Teilzahlungen getilgt werden.

Jetzt brauche ich ein Bericht, mit folgenden Eigenschaften:

Die erste Gruppierung muss Jahreweise zum 31.12. eines jeden Jahres erfolgen.
Die zweite Untergruppierung muss jeweils zum letztem Tag eines jeden Monats erfolgen.

Die Zinsberechnung muss auf den Tag genau unter Berücksichtigung der Tilgungszahlungen ohne Zinszins berechnet werden.

Berichts-Header 1 für das Jahr 2020 und dann für das Jahr 2021,2022,2023
ursprüngliches Darlehensbetrag: [darlehensSumme] also 2000

Detailbereich:
Spalte1: Datum, Spalte2:Buchungsvorgang, Spalte3:Zinsen, Spalte4:Tilgung

Berechnungen:
Spalte1: Datum
Erstellt automatisch eine Datumsreihe aus dem Zeitraum [zinsBeginnDatumVon] und dem Datum an dem das Darlehen durch die letzte Zahlung komplett getilgt ist. In unseren Beispieldatensätze wäre dies der 30.06.2023 der Fall.
Auch das Datum der Tilgungen muss chronologisch hier untereinander mit ausgeführt werden.

Spalte2:Buchungsvorgang:
Hier kommt immer ein verketteter Text: "Akt. Sollzinssatz 2,49%" wenn die Buchung nicht eine Tilgung ist, dann kommt Tilgung rein.

Spalte3:Zinsen
Hier werden die Zinsen jeweils zum Ende eines Monats mitausgeführt werden, basierend auf dem aktuellem Stand des Darlehens.

Spalte4:Tilgung
Hier werden die Beträge, aus der Tabelle: tbTilgungen eingesetzt.

Ich habe eine Muster per Excel und den Bericht als pdf amgefertigt. Das kann man hier finden:

Excel:
https://www.dropbox.com/s/rkod4cbe8nmj2h7/vorlageZinsbericht.xlsx?dl=0

Pdf:
https://www.dropbox.com/s/7kgi7zlwpfneae1/vorlageZinsbericht.pdf?dl=0

Ich bin für eine Lösung sehr dankbar, da das Ganze per Excel zu erstellen extrem aufwendig ist.

Bei Fragen gerne her damit.

Beste Grüße
und schönen Sonntag noch.












PhilS

Zitat von: xelion am Mai 31, 2020, 02:12:57
Ich bin für eine Lösung sehr dankbar, da das Ganze per Excel zu erstellen extrem aufwendig ist.
Es ist nicht weniger aufwendig eine Darlehensberechnung in Access zu erstellen. Der Vorteil von Access ist, dass du am Ende eine Definition des Prozesses in deiner Anwendung hast und nicht bei der Dateneingabe mit irgendwelchen Formeln hantieren musst.

Allerdings ist mir deine konkrete Frage nicht klar geworden. Was hast du bereits in Access gemacht; woran hakt es?

Generell denke ich, du solltest die Zinsen bzw. deren Saldo genauer abbilden.
Ich würde die Tabelle "Tilgungen" in Zahlungen umbenennen und bei jeder Zahlung dokumentieren, wie sich diese auf Zins und Tilgung verteilt.

In Access ist es normalerweise nicht empfehlenswert berechnete Werte zu speichern. In diesem Fall wird aber ständig mit dem Ergebnis der vorigen Berechnung weitergerechnet. Daherwürde ich hier von dieser generellen Empfehlung abweichen und mindestens zum Monatsende besser vielleicht sogar zu jeder Buchung den aktuellen Saldo speichern.
Dann muss allerdings sichergestellt sein, dass kein Buchungen mehr für einen Zeitraum erfasst werden, für den es bereits einen Saldo gibt.


In deiner Exceltabelle wird übrigens der Zins des aktuellen Monats zum Stichtag einer Tilgung nicht berechnet.



Access DevTools - Find and Replace
Komfortables Suchen und Ersetzen in den Entwurfseigenschaften von Access-Objekten. In Abfragen, Formularen, Berichten und VBA-Code - Überall und rasend schnell!

xelion

Juni 01, 2020, 21:09:11 #2 Letzte Bearbeitung: Juni 05, 2020, 14:25:55 von xelion
Ich danke erstmals für die schnelle Antwort.

[/quote]Es ist nicht weniger aufwendig eine Darlehensberechnung in Access zu erstellen. Der Vorteil von Access ist, dass du am Ende eine Definition des Prozesses in deiner Anwendung hast und nicht bei der Dateneingabe mit irgendwelchen Formeln hantieren musst.[/quote]

Zwar richtig, allerdings diesen Aufwand hätte man nur einmalig. Bei neue Fällen kann dann Access dank VBA die Berechnungen automatisch jedes mal erledigen.


[/quote]Allerdings ist mir deine konkrete Frage nicht klar geworden. [/quote]

Meine Konkrete Frage ist, nur anhand den Daten, die in den Tabellen eingegeben werden, die entsprechende Berichte wie in dem pdf-File zu sehen sind, durch Access erstellt zu bekommen und zwar pro darlehenID.

Dazu wird z.B. im Formular neben dem Feld "abrechnungSollBisDatumerfolgen" Jetzt Zinsbescheinigung ausdrucken Button angebracht.

Nach dem man dieses Button gedrückt hat, soll ein Bericht automatisch und zwar DYNAMISCH erstellt werden, so wie in den pdf-File zu sehen ist.

Also es sollen keine berechneten Werte zwischen gespeichert werden. Ein Bericht soll jedes Mal erneut komplett generiert werden.

[/quote]Was hast du bereits in Access gemacht; woran hakt es?[/quote]


In Access habe ich die Formulare(Haupt- & Unterformular) erstellt, um die beiden Tabellen, mit den entsprechenden Daten ausfüllen zu können.


[/quote]In Access ist es normalerweise nicht empfehlenswert berechnete Werte zu speichern. In diesem Fall wird aber ständig mit dem Ergebnis der vorigen Berechnung weitergerechnet. Daherwürde ich hier von dieser generellen Empfehlung abweichen und mindestens zum Monatsende besser vielleicht sogar zu jeder Buchung den aktuellen Saldo speichern.
Dann muss allerdings sichergestellt sein, dass kein Buchungen mehr für einen Zeitraum erfasst werden, für den es bereits einen Saldo gibt.
In deiner Exceltabelle wird übrigens der Zins des aktuellen Monats zum Stichtag einer Tilgung nicht berechnet.[/quote]


Völlig korrekt, wenn die Zinsen nicht Endfällig wären.

Die Summe, die als Grundlage für die Berechnung der Zinsen gilt, ändert sich wie man sieht, ja nach jeder Zahlung.

Bei diesem Abrechnungsmodell geht es aber nicht um einen Zinszins- oder Annuitätendarlehen, sondern, wie gesagt die Zinsen werden erst, wenn der letzte Cent gezahlt wurde für den gesamten Zeitraum auf Jahresbasis abgerechnet. Das wird fest gehalten in dem Feld: abrechnungSollBisDatumerfolgen.

Wenn noch etwas unklar ist, so freue ich mich auf das Feedback.

Schönen Pfingstmontag-Abend noch.


DF6GL

Hallo,

ein Bericht wird immer dynamisch mit aktuellen Daten erzeugt (auf dem Monitor sichtbar oder auf dem Drucker ausgedruckt)  und kann mittels Kriterien auf bestimmte Datensätze eingeschränkt werden. Das ist etwas anderes als einen Bericht zu entwerfen.

Dein Berichtsbeispiel benötigt eine Abfrage, die alle erforderlichen Daten (Tabellenfelder)  liefern kann.

Der Bericht selber wird in der Berichtsentwurfsansicht nach der Jahreszahl gruppiert (Gruppenkopf und Gruppenfuß erzeugen). Im Gruppenkopf sind die Daten (Felder) zu platzieren, die zu einem Jahr gehören, im Gruppenfuß die Berechnungen, die sich auf das Jahr beziehen.   Einzeldaten(sätze) kommen im Detailbereich zu liegen.

Im Berichtskopf können zusammenfassende Daten berechnet und angezeigt werden.

Dito im Berichtsfuß.


Um die Berichtsdaten einzuschränken (zu filtern), z. B. auf gewisse Jahre, werden
-- in der Berichtsabfrage als Kriterium  Referenzen auf  Formularfelder angegeben, die den angegebenen Jahresbereich enthalten. Der Bericht kann dann aus den Navi-Bereich geöffnet werden. Dazu muss das Form aber geöffnet (geladen) sein. Diese Methode ist in der Regel nicht empfohlen.
-- ein paar VBA-Codezeilen in einer Ereignisprozedur geschrieben, die den Bericht öffnen und das Kriterium im Where-Condition-Parameter der OpenReports-Methode übergeben.




xelion

ZitatHallo,

ein Bericht wird immer dynamisch mit aktuellen Daten erzeugt (auf dem Monitor sichtbar oder auf dem Drucker ausgedruckt)  und kann mittels Kriterien auf bestimmte Datensätze eingeschränkt werden. Das ist etwas anderes als einen Bericht zu entwerfen.



Danke für deine Antworten, aus denen ich leider nicht schlau werde.
Denn es geht nicht um ein Entwurf eines Berichtes, sondern genau um die Datenbasis auf Basis der vorhandenen Tabellen den Bericht dynamisch erzeugen lassen zu können.

ZitatDein Berichtsbeispiel benötigt eine Abfrage, die alle erforderlichen Daten (Tabellenfelder)  liefern kann.


Genau darum geht es gerade: Wie erzeuge ich denn genau diese Abfrage aus den vorhandenen Tabellenbasis?


ZitatDer Bericht selber wird in der Berichtsentwurfsansicht nach der Jahreszahl gruppiert (Gruppenkopf und Gruppenfuß erzeugen). Im Gruppenkopf sind die Daten (Felder) zu platzieren, die zu einem Jahr gehören, im Gruppenfuß die Berechnungen, die sich auf das Jahr beziehen.   Einzeldaten(sätze) kommen im Detailbereich zu liegen.

Im Berichtskopf können zusammenfassende Daten berechnet und angezeigt werden.

Dito im Berichtsfuß.

Um die Berichtsdaten einzuschränken (zu filtern), z. B. auf gewisse Jahre, werden
-- in der Berichtsabfrage als Kriterium  Referenzen auf  Formularfelder angegeben, die den angegebenen Jahresbereich enthalten. Der Bericht kann dann aus den Navi-Bereich geöffnet werden. Dazu muss das Form aber geöffnet (geladen) sein. Diese Methode ist in der Regel nicht empfohlen.
-- ein paar VBA-Codezeilen in einer Ereignisprozedur geschrieben, die den Bericht öffnen und das Kriterium im Where-Condition-Parameter der OpenReports-Methode übergeben.



Sobald ich die benötigten Daten so erzeugen lassen kann, sei es in Form einer Abfrage oder in einer neuen zu erstellenden Tabelle mittels VBA, so wie man das in meinem pdf Bericht sehen kann, dann wäre die Erstellung des Berichtes ja unproblematisch.

PhilS

Zitat von: xelion am Juni 07, 2020, 23:18:44
ZitatDein Berichtsbeispiel benötigt eine Abfrage, die alle erforderlichen Daten (Tabellenfelder)  liefern kann.


Genau darum geht es gerade: Wie erzeuge ich denn genau diese Abfrage aus den vorhandenen Tabellenbasis?

In diesem Zusammenhang möchte ich auf meine Gedanken aus einem vorigen Post zurückkommen...
Zitat von: xelion am Juni 01, 2020, 21:09:11
ZitatIn Access ist es normalerweise nicht empfehlenswert berechnete Werte zu speichern. In diesem Fall wird aber ständig mit dem Ergebnis der vorigen Berechnung weitergerechnet. Daherwürde ich hier von dieser generellen Empfehlung abweichen und mindestens zum Monatsende besser vielleicht sogar zu jeder Buchung den aktuellen Saldo speichern.
Dann muss allerdings sichergestellt sein, dass kein Buchungen mehr für einen Zeitraum erfasst werden, für den es bereits einen Saldo gibt.
In deiner Exceltabelle wird übrigens der Zins des aktuellen Monats zum Stichtag einer Tilgung nicht berechnet.


Völlig korrekt, wenn die Zinsen nicht Endfällig wären.

Die Summe, die als Grundlage für die Berechnung der Zinsen gilt, ändert sich wie man sieht, ja nach jeder Zahlung.
Mein Empfehlung gilt ist nicht nur dann, wenn auch die Zinsen regelmäßig gezahlt werden.

Die besondere Problemstellung bei einer Forderungsberechnung für ein Darlehen (egal welcher Art, ausser vielleicht ein Bullet) ist, dass alle Berechnungen sequentiell erfolgen müssen. Du musst immer die Zinsen für einen Zeitraum berechnen; z.B. bis Monatsende oder bis zum Eingang einer Zahlung. Die Zahlung verändert dann den Saldo. - In deinem Fall ist es nur der Kapital-Saldo, das macht die Logik etwas einfacher, ändert aber an der Grundsituation nichts. - Auf der Basis dieses neuen Saldos rechnest du dann weiter bis zum nächsten Stichtag.

Das ergibt über die Zeit eine große Anzahl an Zwischenergebnissen und Rechenschritten. Aus meiner Sicht lässt sich das nur sinnvoll lösen, wenn diese zwischengespeichert werden. Ob man diese Zwischenergebnisse unabhängig vom Bericht berechnet und dauerhaft speichert oder jedes mal vor dem Aufruf des Berichts temporär erstellt ist zweitrangig.

Wenn du allerdings mehrere Darlehen verwaltest und schnell eine Übersicht über die aktuellen Salden aller Darlehen haben willst, ist die dauerhafte Speicherung von Vorteil.


Meinen Hinweis auf den Fehler in deinem Excel-Sheet hast du zur Kenntnis genommen? - Das hat ebenfalls nichts mit der Endfälligkeit der Zinsen zu tun.
Access DevTools - Find and Replace
Komfortables Suchen und Ersetzen in den Entwurfseigenschaften von Access-Objekten. In Abfragen, Formularen, Berichten und VBA-Code - Überall und rasend schnell!

DF6GL

Hallo,

und ich verstehe Dich nicht...
Zitat
Denn es geht nicht um ein Entwurf eines Berichtes, sondern genau um die Datenbasis auf Basis der vorhandenen Tabellen den Bericht dynamisch erzeugen lassen zu können.




Ein Bericht zeigt (nach dem Öffnen) immer die Daten an, die in seiner Datenherkunft stehen, evtl. durch den Bericht weiterbearbeitet, z.B. gruppiert.

Die Daten, die in seiner Datenherkunft stehen, werden in der Regel von einer verknüpfenden Abfrage geliefert. (Eigenschaft "Datenherkunft" enthält den Abfragenamen oder einen SQL-String). Die Abfrage kann mit Hilfe des Abfrageentwurfes "zusammengeklickt" oder per VBA als String zusammengesetzt oder gleich manuell in die Eigenschaft "Datenherkunft" eingetragen werden.


Diese Abfrage kann datenmäßig durch Kriterien-Angabe (Where-Condition) eingeschränkt/gefiltert werden, so dass der Bericht nur die gewünschten Daten im vorher entworfenen Layout anzeigt. Dies wäre mit "dynamisch" zu beschreiben.


Die Kriterien können wie gesagt angegeben, bzw. übergeben werden.





xelion

Zitat von: PhilS am Juni 08, 2020, 08:27:12
Zitat von: xelion am Juni 07, 2020, 23:18:44
ZitatDein Berichtsbeispiel benötigt eine Abfrage, die alle erforderlichen Daten (Tabellenfelder)  liefern kann.


Genau darum geht es gerade: Wie erzeuge ich denn genau diese Abfrage aus den vorhandenen Tabellenbasis?

In diesem Zusammenhang möchte ich auf meine Gedanken aus einem vorigen Post zurückkommen...
Zitat von: xelion am Juni 01, 2020, 21:09:11
ZitatIn Access ist es normalerweise nicht empfehlenswert berechnete Werte zu speichern. In diesem Fall wird aber ständig mit dem Ergebnis der vorigen Berechnung weitergerechnet. Daherwürde ich hier von dieser generellen Empfehlung abweichen und mindestens zum Monatsende besser vielleicht sogar zu jeder Buchung den aktuellen Saldo speichern.
Dann muss allerdings sichergestellt sein, dass kein Buchungen mehr für einen Zeitraum erfasst werden, für den es bereits einen Saldo gibt.
In deiner Exceltabelle wird übrigens der Zins des aktuellen Monats zum Stichtag einer Tilgung nicht berechnet.


Völlig korrekt, wenn die Zinsen nicht Endfällig wären.

Die Summe, die als Grundlage für die Berechnung der Zinsen gilt, ändert sich wie man sieht, ja nach jeder Zahlung.
Mein Empfehlung gilt ist nicht nur dann, wenn auch die Zinsen regelmäßig gezahlt werden.

Die besondere Problemstellung bei einer Forderungsberechnung für ein Darlehen (egal welcher Art, ausser vielleicht ein Bullet) ist, dass alle Berechnungen sequentiell erfolgen müssen. Du musst immer die Zinsen für einen Zeitraum berechnen; z.B. bis Monatsende oder bis zum Eingang einer Zahlung. Die Zahlung verändert dann den Saldo. - In deinem Fall ist es nur der Kapital-Saldo, das macht die Logik etwas einfacher, ändert aber an der Grundsituation nichts. - Auf der Basis dieses neuen Saldos rechnest du dann weiter bis zum nächsten Stichtag.

Das ergibt über die Zeit eine große Anzahl an Zwischenergebnissen und Rechenschritten. Aus meiner Sicht lässt sich das nur sinnvoll lösen, wenn diese zwischengespeichert werden. Ob man diese Zwischenergebnisse unabhängig vom Bericht berechnet und dauerhaft speichert oder jedes mal vor dem Aufruf des Berichts temporär erstellt ist zweitrangig.

Wenn du allerdings mehrere Darlehen verwaltest und schnell eine Übersicht über die aktuellen Salden aller Darlehen haben willst, ist die dauerhafte Speicherung von Vorteil.


Meinen Hinweis auf den Fehler in deinem Excel-Sheet hast du zur Kenntnis genommen? - Das hat ebenfalls nichts mit der Endfälligkeit der Zinsen zu tun.




ZitatDas ergibt über die Zeit eine große Anzahl an Zwischenergebnissen und Rechenschritten. Aus meiner Sicht lässt sich das nur sinnvoll lösen, wenn diese zwischengespeichert werden. Ob man diese Zwischenergebnisse unabhängig vom Bericht berechnet und dauerhaft speichert oder jedes mal vor dem Aufruf des Berichts temporär erstellt ist zweitrangig.

Wenn du allerdings mehrere Darlehen verwaltest und schnell eine Übersicht über die aktuellen Salden aller Darlehen haben willst, ist die dauerhafte Speicherung von Vorteil.


Meinen Hinweis auf den Fehler in deinem Excel-Sheet hast du zur Kenntnis genommen? - Das hat ebenfalls nichts mit der Endfälligkeit der Zinsen zu tun.


Da reichen leider meine Access-Kenntnisse nicht aus, um etwas zwischenzuspeichern o.ä..

Deinen Hinweis habe ich zur Kenntnis genommen. Besten Dank dafür. Anbei der neue Link:
https://www.dropbox.com/s/7kgi7zlwpfneae1/vorlageZinsbericht.pdf?dl=0

ShenTo19

Hallo,
ich habe vor einiger Zeit ein kleines Tool gebastelt, das die Tilgung eines Darlehens graphisch darstellt. Vielleicht kannst Du damit etwas anfangen. Die Berechnung erfolgt so, dass die monatliche Rate, die sich aus Zins und Tilgung zusammensetzt, konstant bleibt, wobei die Zinsen mit der abnehmenden Darlehenssumme sinken und dadurch die Tilgung steigt. Es wird auch angezeigt, wieviel Zinsen sich im Tilgungsverlauf ergeben und wie lange man abbezahlt.
Gruß Thomas

xelion

Juni 08, 2020, 23:06:02 #9 Letzte Bearbeitung: Juni 08, 2020, 23:13:03 von xelion
Zitat von: xelion am Mai 31, 2020, 02:12:57
Guten Abend Allerseits,

erstmals will ich mich für den tollen und sehr Hilfreichen Forum und Teilnehmer sehr bedanken. Ich bin absolut Neu hier und hoffe Hilfe finden zu können.

Ich habe folgendes Anliegen:

In einer Tabelle speichere folgende Werte:

tbDarlehenskondition
darlehenID(Pri) - 1
zinsSatzProAnno - Beispielwert: 2,49
zinsBeginnDatumVon - 04.07.2020
zinsBeginnDatumBis - 24.11.2023
darlehensSumme - 2000
abrechnungSollBisDatumerfolgen - 30.06.2023

tbTilgungen
tilgungenID(Pri) - 1;2;3;4
darlehenID - 1:1;1;1
tilgungsDatumAm - 19.03.2021;15.06.2022;31.12.2022;30.06.2023
tilgungsBetrag - 1000;200;600;255,53

Die beiden Tabellen sind über darlehenID 1:n miteinander verbunden. Jede Darlehenssumme kann in mehreren Teilzahlungen getilgt werden.

Jetzt brauche ich ein Bericht, mit folgenden Eigenschaften:

Die erste Gruppierung muss Jahreweise zum 31.12. eines jeden Jahres erfolgen.
Die zweite Untergruppierung muss jeweils zum letztem Tag eines jeden Monats erfolgen.

Die Zinsberechnung muss auf den Tag genau unter Berücksichtigung der Tilgungszahlungen ohne Zinszins berechnet werden.

Berichts-Header 1 für das Jahr 2020 und dann für das Jahr 2021,2022,2023
ursprüngliches Darlehensbetrag: [darlehensSumme] also 2000

Detailbereich:
Spalte1: Datum, Spalte2:Buchungsvorgang, Spalte3:Zinsen, Spalte4:Tilgung

Berechnungen:
Spalte1: Datum
Erstellt automatisch eine Datumsreihe aus dem Zeitraum [zinsBeginnDatumVon] und dem Datum an dem das Darlehen durch die letzte Zahlung komplett getilgt ist. In unseren Beispieldatensätze wäre dies der 30.06.2023 der Fall.
Auch das Datum der Tilgungen muss chronologisch hier untereinander mit ausgeführt werden.

Spalte2:Buchungsvorgang:
Hier kommt immer ein verketteter Text: "Akt. Sollzinssatz 2,49%" wenn die Buchung nicht eine Tilgung ist, dann kommt Tilgung rein.

Spalte3:Zinsen
Hier werden die Zinsen jeweils zum Ende eines Monats mitausgeführt werden, basierend auf dem aktuellem Stand des Darlehens.

Spalte4:Tilgung
Hier werden die Beträge, aus der Tabelle: tbTilgungen eingesetzt.

Ich habe eine Muster per Excel und den Bericht als pdf amgefertigt. Das kann man hier finden:

Excel:
https://www.dropbox.com/s/rkod4cbe8nmj2h7/vorlageZinsbericht.xlsx?dl=0

Pdf:
https://www.dropbox.com/s/7kgi7zlwpfneae1/vorlageZinsbericht.pdf?dl=0

Ich bin für eine Lösung sehr dankbar, da das Ganze per Excel zu erstellen extrem aufwendig ist.

Bei Fragen gerne her damit.

Beste Grüße
und schönen Sonntag noch.



Guten Abend, danke an Allen, die mir bis jetzt geantwortet haben bzw. versucht haben mir zu helfen.

Der einfachheitshalber habe ich jetzt eine Beispieldatei mit den Eingangs angegebenen Werten und Tabellen erstellt.

Dort findet man jetzt eine Tabelle Namens:
t_zinsbescheinigungDateneingabeManuel

Jetzt ist die Aufgabe mittels VBA-Codes anhand den anderen beiden Tabellen die Tabelle "t_zinsbescheinigungDateneingabeManuel" mit den entsprechenden Daten auszufüllen, damit der Bericht so ausgegeben werden kann.

Das ist nämlich nicht so einfach mit Abfragen & Co abzubilden.

Viele Grüße

Hier ist zusätzlich der Link:
https://www.dropbox.com/s/hptivis24npb33o/darlehen_beispiel%20-%20Kopie.rar?dl=0

xelion

Zitat von: ShenTo19 am Juni 08, 2020, 22:45:31
Hallo,
ich habe vor einiger Zeit ein kleines Tool gebastelt, das die Tilgung eines Darlehens graphisch darstellt. Vielleicht kannst Du damit etwas anfangen. Die Berechnung erfolgt so, dass die monatliche Rate, die sich aus Zins und Tilgung zusammensetzt, konstant bleibt, wobei die Zinsen mit der abnehmenden Darlehenssumme sinken und dadurch die Tilgung steigt. Es wird auch angezeigt, wieviel Zinsen sich im Tilgungsverlauf ergeben und wie lange man abbezahlt.
Gruß Thomas


Besten Dank nochmals.

Allerdings bei mir kommt eine Fehlermeldung, siehe Anhang.
[Option Compare Database
Option Explicit


Public Function fJahrAnnuitaet(Kreditsumme As Double, Zinssatz As Double, Laufzeit As Integer) As Double

fJahrAnnuitaet = (Kreditsumme * Zinssatz * ((1 + Zinssatz) ^ Laufzeit)) / (((1 + Zinssatz) ^ Laufzeit) - 1)

End Function

Public Function fMonatAnnuitaet(Kreditsumme As Double, Zinssatz As Double, Laufzeit As Integer) As Double

fMonatAnnuitaet = (Kreditsumme * ((1 + Zinssatz / 12) ^ Laufzeit)) * ((1 + Zinssatz / 12) - 1) / (((1 + Zinssatz / 12) ^ Laufzeit) - 1)

End Function

Public Function fTilgungsverlauf(Kreditsumme As Double, Zinssatz As Double, Tilgung As Double) As Variant

    Dim cAnnuitaet As Double '= (Zinssatz + Tilgung) * Kreditsumme / 1200
    cAnnuitaet = (Forms!Frm_Kreditverlauf.txtZinssatz + Forms!Frm_Kreditverlauf.txtTilgung) * Forms!Frm_Kreditverlauf.txtKreditsumme / 1200
   
    DoCmd.SetWarnings False 'Ausschalten der Meldungen
    DoCmd.RunSQL "DELETE * from Tab_Tilgungsverlauf;", False 'Löschen aller DS
    DoCmd.SetWarnings True
   
    Dim intNummerierung As Integer
    intNummerierung = 1
    Dim Kennung As Integer
    Kennung = Forms!Frm_Kreditverlauf.txtID
    Dim DblAnnuitaet As Double
    DblAnnuitaet = (Zinssatz + Tilgung) * Kreditsumme / 1200
    Dim DblTilgung As Double
    DblTilgung = Tilgung * Kreditsumme / 1200
    Dim DblZinsen As Double
    DblZinsen = Zinssatz * Kreditsumme / 1200
   
    Dim rs As DAO.Recordset
    Dim db As DAO.Database
    Set db = CurrentDb
    Set rs = db.OpenRecordset("Tab_Tilgungsverlauf", dbOpenDynaset)
    rs.AddNew
    rs!Kreditsumme = Kreditsumme
    rs!Tilgung = DblTilgung
    rs!Zinsen = DblZinsen
    rs!IDKreditdaten = Kennung
    rs!Fortlaufend = intNummerierung
    rs.Update
   
    While Kreditsumme > DblTilgung
    intNummerierung = intNummerierung + 1
    Kreditsumme = Kreditsumme - DblTilgung
    DblZinsen = Zinssatz * Kreditsumme / 1200
    DblTilgung = cAnnuitaet - DblZinsen
    rs.AddNew
    rs!Kreditsumme = Kreditsumme
    rs!Tilgung = DblTilgung
    rs!Zinsen = DblZinsen
    rs!IDKreditdaten = Kennung
    rs!Fortlaufend = intNummerierung
    rs.Update
   
    Wend
   
End Function

Public Function fMonatJahr(Monate As Integer) As String

Dim iJahre As Integer
Dim iMonate As Integer
iJahre = Int(Monate / 12)
iMonate = Monate - (iJahre * 12)

fMonatJahr = iJahre & " Jahre und " & iMonate & " Monate"

End Function
]
[/code]

ShenTo19

Hallo,
welcher Fehler wird denn gemeldet?
Thomas

xelion

Zitat von: ShenTo19 am Juni 08, 2020, 23:37:58
Hallo,
welcher Fehler wird denn gemeldet?
Thomas


Ich habe dir das Screenshot drangehängt.

Du kannst es hier auch findeN:

https://www.dropbox.com/s/tzfi4wrl5501or1/fehlermeldung.JPG?dl=0

ShenTo19

Hallo Xelion,
aber es kommt doch eine Fehlermeldung "Laufzeitfehler ...", wenn man den Button "Debuggen" wählt, sieht man den VBA-Editor mit gelb markierter Zeile, die den Fehler ausgelöst hat. Das sieht hier aber sehr unverdächtig aus, ist doch eine simple Addition. Aber auf den Text der Meldung kommt es mir an.
Thomas

ShenTo19

Prüfe ggf. die eingestellten Verweise.
Thomas