Neuigkeiten:

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

Mobiles Hauptmenü

DB zur Verwaltung eines Depots

Begonnen von Ratoncito, Januar 21, 2020, 15:25:34

⏪ vorheriges - nächstes ⏩

Beaker s.a.

Hallo,
Eigentlich ist das doch ganz einfach
tblWertpapiere enthält nur die Stammdaten von WePas. Da können sogar welche
drin sein, die man gar nicht hat (und vielleicht auch nie hatte).
tblKurse enthält nur die tägl. Kurse mit FK zum WePa
tblKonten enthält die Stammdaten der Konten
tblDepots enthält die Stammdaten der Depots
tblBewegungen enthält die An- & Verkäufe, sowohl betrags- als auch stückmässig,
mit den FKs zu WePas, Konten und Depots.
Daraus ergeben sich zwangsläufig die Depots (Summierung der Stücke) als auch
die Kontostände (Summierung der Beträge).
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)

PhilS

Zitat von: Beaker s.a. am Januar 23, 2020, 16:29:38
Eigentlich ist das doch ganz einfach
:-)

Wenn man Beaker's tblKonten und tblDepots eliminiert (Stammdaten sind nicht relevant) und Beaker's Tabelle tblBewegungen aufteilt in (WP-)Bestandsänderungen und (Geld-)Transaktionen und diese dann tblDepot und tblKonto nennt, entspricht das dem ursprünglichen Vorschlag von Ratoncito.

@Ratoncito: Ich glaube der ursprüngliche Ansatz für die Tabellen ist gar nicht so schlecht. Nur die Namen  tblDepot und tblKonto sind extremst ungünstig gewählt, wie du an den zahlreichen Missverständnissen in diesen Thread merkst. Diese dann zu A, B, C und D umzubenennen macht es nur noch schlimmer, weil man sich gar nicht mehr merken kann was was ist.


Fragwürdig ist meiner Meinung nach die Beziehung zwischen  tblDepotBewegung und tblKontoBewegung.

Für Wertpapier(ver)käufe ist sie falsch herum, wenn du Kaufpreis und Nebenkosten der Wertpapiertransaktion separat erfassen willst.

Dividenden-, Kuponzahlungen und andere wertpapierbezogene Kontobewegungen gelten ja für den Komplettbestand, der nach meinem Verständnis nicht von einem einzelnen Datensatz in tblDepotBewegung abgebildet wird, sondern aus deren Summe abgeleitet wird. Wäre da nicht eine Beziehung von tblKontoBewegung zu tblWePa sinnvoll oder gar erforderlich?

Vielleicht ist die generische Tabelle tblBewegungen aus Beaker's Vorschlag gar nicht so verkehrt.


Was in diesem Thread die konkrete Frage war, falls es eine gab, ist mir übrigens komplett entgangen.
Neue Videoserie: Windows API in VBA

Klassische CommandBars visuell bearbeiten: Access DevTools CommandBar Editor

Ratoncito

#17
Hallo,

@Beaker s.a.
@PhilS
vielen lieben Dank, Ihr habt verstanden um was es geht. Da sind noch ein paar Kleinigkeiten, aber das sollte zu klären sein.

Zitat von: PhilS am Januar 23, 2020, 22:01:26
@Ratoncito: Ich glaube der ursprüngliche Ansatz für die Tabellen ist gar nicht so schlecht. Nur die Namen  tblDepot und tblKonto sind extremst ungünstig gewählt, wie du an den zahlreichen Missverständnissen in diesen Thread merkst. Diese dann zu A, B, C und D umzubenennen macht es nur noch schlimmer, weil man sich gar nicht mehr merken kann was was ist.

ABC sollte nur ein Beispiel sein um endlich von den Namen wegzukommen und sich auf die Inhalte zu konzentrieren.
Da für mich Geld und Konto einen leicht zu merkenden Bezug ergibt, hatte ich die Tabelle eben Konto genannt. Wir können sie auch gerne Geld nennen, wenn es dann klarer ist.
Und da für mich alle Veränderungen der Anzahl von Wertpapieren mit Depot zusammenhängt, habe ich diese Tabelle eben Depot genannt. Anfangs hieß sie Mal "tblIsin", für mich war der Name ok. Wir können sie auch Bestand nennen, wenn es dann klarer ist.

Zitat von: Beaker s.a. am Januar 23, 2020, 16:29:38
tblWertpapiere enthält nur die Stammdaten von WePas. Da können sogar welche
drin sein, die man gar nicht hat (und vielleicht auch nie hatte).
tblKurse enthält nur die tägl. Kurse mit FK zum WePa
Richtig, die Tabelle zu den Wertpapieren habe ich tblWePa genannt.

Stammdaten von Konten oder Depots werden nicht benötigt.

Zitat von: PhilS am Januar 23, 2020, 22:01:26
Dividenden-, Kuponzahlungen und andere wertpapierbezogene Kontobewegungen gelten ja für den Komplettbestand, der nach meinem Verständnis nicht von einem einzelnen Datensatz in tblDepotBewegung abgebildet wird, sondern aus deren Summe abgeleitet wird. Wäre da nicht eine Beziehung von tblKontoBewegung zu tblWePa sinnvoll oder gar erforderlich?

Vielleicht ist die generische Tabelle tblBewegungen aus Beaker's Vorschlag gar nicht so verkehrt.

Ich glaube, dass es ohne weitere Tabelle geht, da in dem Fall wo eine Aktion mit Geld zu einem bestimmten Wertpapier gehört diese über die ISIN dem Wertpapier zugeordnet wird. Ich werde mir dass nochmal ansehen und austesten. Dazu melde ich mich dann nochmal.

Zitat von: PhilS am Januar 23, 2020, 22:01:26
Was in diesem Thread die konkrete Frage war, falls es eine gab, ist mir übrigens komplett entgangen.

Ursprünglich (es ist übrigens schon der zweite Thread) ging es darum, dass ich eine DB habe, in der ich bei einem Formular nicht mehr weiterkomme.
Nun ja, ich bin kein Access-Spezialist und dementsprechend ist der Aufbau und der VBA-Code sicherlich chaotisch und enthält wohl Fehler. Mit diesem Formular bin wegen meiner geringen Kenntnisse deutlich überfordert und ich habe mich von Problem zu Problem durchgehangelt, bis es halt passte.

Wenn man dieses Formular mit den gleichen Funktionen, so wie hier gesagt, einfacher erstellen kann, würde ich dieses gerne machen.

LG - Wolfgang

Ratoncito

Hallo,

Zitat von: Ratoncito am Januar 24, 2020, 14:08:06
Zitat von: PhilS am Januar 23, 2020, 22:01:26
Dividenden-, Kuponzahlungen und andere wertpapierbezogene Kontobewegungen gelten ja für den Komplettbestand, der nach meinem Verständnis nicht von einem einzelnen Datensatz in tblDepotBewegung abgebildet wird, sondern aus deren Summe abgeleitet wird. Wäre da nicht eine Beziehung von tblKontoBewegung zu tblWePa sinnvoll oder gar erforderlich?
Vielleicht ist die generische Tabelle tblBewegungen aus Beaker's Vorschlag gar nicht so verkehrt.
Ich glaube, dass es ohne weitere Tabelle geht, da in dem Fall wo eine Aktion mit Geld zu einem bestimmten Wertpapier gehört diese über die ISIN dem Wertpapier zugeordnet wird. Ich werde mir dass nochmal ansehen und austesten. Dazu melde ich mich dann nochmal.

Alle Zahlungen lassen sich, wenn sie an Wertpapiere gebunden sind, diesen auch zuordnen.

LG - Wolfgang

Beaker s.a.

Hallo,
ZitatStammdaten von Konten oder Depots werden nicht benötigt.
Da diese bei meinem Vorschlag aber zumindest eine ID haben müssen, können
ja auch ruhig weitere Eigenschaften zu diesen Objekten erfasst werden.
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)

Ratoncito

Hallo,

ich habe alles auf mein Problem reduziert. Es gibt nur noch 2 Tabellen (Wertpapier und Kurs). Ich benötige ein Formular zur Anzeige und Eingabe der Kurse.

Im Formular möchte ich den Kursverlauf zu auswählbaren Wertpapierarten (Aktie, Anleihe, Fond oder alle) zu einem wählbaren Datum ansehen.
Dazu wird in der dritten Spalte (Spalte A) der Kurs zum ausgewählten Datum angezeigt.
Die nächsten Spalten enthalten die zurückliegenden 5 Tage, wobei Samstag und Sonntag ausgeblendet sind, da es dort keine Kurse gibt, es folgen der Kurs von vor 2 Wochen und der Kurs von vor 3 Monaten.
Bei der Eingabe eines noch nicht vorhandenen Datums sollen neue Datensätze zur Eingabe der Kurse angefügt werden.

Wie das Formular aussehen sollte ist im Bild "Formular Kurs" zu sehen.

Dieses Formular ist mein Problem. Für Eure Hilfe im Voraus vielen Dank.

LG - Wolfgang

PhilS

Zitat von: Ratoncito am Januar 25, 2020, 13:25:58
Dieses Formular ist mein Problem.
Was genau ist denn das Problem?
Neue Videoserie: Windows API in VBA

Klassische CommandBars visuell bearbeiten: Access DevTools CommandBar Editor

Ratoncito

Hallo,

im ersten Beitrag habe ich die bestehende DB hochgeladen, damit man sich das Formular zu den Kursen ansehen kann.

In der Antwort#2 steht die Antwort auf Deine Frage.

Der VBA-Code ist sicherlich chaotisch und er enthält auch Fehler in den SQL-Anweisungen mit Datum.
Ich bin halt kein Acces-Spezialist und habe mit meinen Kenntnissen das Formular so erstellt, wie es jetzt ist. Dabei habe ich mich von einem Problem zum nächsten durchgehangelt und immer wieder neue Lösungsansätze probiert, bis es funktionierte. Nun fehlt mir in diesem Formular ein weiterer Wert, den ich nicht angezeigt bekomme.

Aussage in Antwort#2:
Die Kurse würde man direkt mit Hilfe eines Unterformulars im Formular "frmWePa" erfassen. Hafo und Ufo über die Schlüsselfelder verknüpft.
Da braucht es keinen Code, keinen Buchstaben.

Wenn es so einfach geht, dann wäre mir sehr geholfen und ich käme sicherlich weiter.

LG - Wolfgang

MzKlMu

Hallo,
ZitatWenn es so einfach geht, dann wäre mir sehr geholfen und ich käme sicherlich weiter.
Ein solches Formular ist in meinem Beispiel in #10 doch enthalten. Genau so einfach.
Aber das wolltest Du ja nicht gemäß Deiner Aussage in #14
ZitatDas Formular habe ich mir angeschaut, aber das ist nicht das was ich benötige.
Gruß Klaus

Ratoncito

Hallo,

wenn man zitiert, dann bitte den ganzen Zusammenhang.

Zitat von: Ratoncito am Januar 23, 2020, 16:01:21
Das Formular habe ich mir angeschaut, aber das ist nicht das was ich benötige. Der VBA-Code ist kurz, aber es fehlt ja auch noch viel.
In diesem Formular wird lediglich 1 Wertpapier angezeigt. Man kann zwar weitere auswählen, aber es wird immer nur 1 Wertpapier angezeigt.

Was ich in diesem Formular gerne anzeigen möchte habe ich hier:
Zitat von: Ratoncito am Januar 21, 2020, 15:25:34

Im Formular zu den Kursen möchte ich den Kursverlauf zu auswählbaren Wertpapierarten (Aktie, Anleihe, Fond oder alle) zu einem wählbaren Datum ansehen.
Dazu wird in der dritten Spalte der Kurs zum ausgewählten Datum angezeigt.
Die nächsten Spalten enthalten die zurückliegenden 5 Tage, wobei Samstag und Sonntag ausgeblendet sind, da es dort keine Kurse gibt, es folgen der Kurs von vor 2 Wochen und der Kurs von vor 3 Monaten.
Weiter soll noch der aktuelle Wert des Wertpapiers im Depot (Bestand * Kurs) und der Gesamtwert des Depots angezeigt werden (fehlt beides noch).
Bei der Eingabe eines noch nicht vorhandenen Datums soll ein neuer Datensatz zur Eingabe der Kurse angefügt werden.


Es sollen die Kurse zu allen Wertpapieren zu den oben beschriebenen Tagen angezeigt werden und nicht nur 1 Wertpapier.
In der Antwort#20 ist ein Bild mit dem Formular und Erklärungen dazu.

Wenn man das einfacher machen kann würde es mir sehr helfen.

LG - Wolfgang

PhilS

Zitat von: Ratoncito am Januar 25, 2020, 15:50:02
im ersten Beitrag habe ich die bestehende DB hochgeladen, damit man sich das Formular zu den Kursen ansehen kann.

In der Antwort#2 steht die Antwort auf Deine Frage.
Da passe ich. Ich helfe hier gern bei der Lösung von konkreten Fragen und Problemen.
Mit der Analyse, Überarbeitung und Erweiterung von Anwendungen verdiene ich meine Geld und das geht darüber hinaus, was ich hier im Forum tue. - Die Grenze ziehe ich in der Regel dort, wo es nicht mehr möglich ist ein Problem und dessen Lösung hier in Textform zu beschreiben und stattdessen eine Access-Anwendung heruntergeladen, analysiert und bearbeitet werden muss bzw. soll.
Zitat von: Ratoncito am Januar 22, 2020, 09:57:39
Ich hätte gerne gewusst, wie das Formular für die Anzeige der Kurse aufgebaut werden soll.
Die Darstellung der Wertpapiere und ihrer Kurse lässt sich über eine Kreuztabelle realisieren, deren Datenherkunft und ggfls. Spaltenüberschriften per VBA auf die gewünschten Datumswerte eingeschränkt wird.

Wenn man Darstellung und Eingabe in einem Formular kombinieren möchte, kann man das Anzeigeformular als UFO auf ein anderen Formular setzen. Ein weiteres UFO dient als Eingabeformular für die Kurse des im anderen UFO jeweils gewählte Wertpapiers.
Evlt. reicht für die Darstellung der Kurse auch eine Listbox aus. Das würde die Umsetzung bzgl . Synchronisierung von WP-Liste und Einzel-WP vereinfachen, aber dafür sind in der Listbox die Darstellungsmöglichkeiten (z.B. Formatierung) stark eingeschränkt.

Neue Videoserie: Windows API in VBA

Klassische CommandBars visuell bearbeiten: Access DevTools CommandBar Editor

Ratoncito

Hallo PhilS,

vielen Dank für die Antwort. Dass Du bei der Hilfe Grenzen ziehst kann ich verstehen.

Den Lösungsansatz das Formular mit Kreuztabellen und UFOs zu realisieren sieht bei meinen ersten Versuchen vielversprechend aus. Mit Kreuztabellen habe ich noch nicht viel gemacht, das werde ich aber auf jeden Fall weiter probieren. Probleme sehe ich da aber wieder bei Datumswerten und VBA, der Auswahl ob die Wertpapiere angezeigt werden sollen (Aktiv Ja/Nein) und der Art welche Wertpapiere angezeigt werden. Und was passiert, wenn es zum gewählten Datum keine Kurse gibt? Ich erfasse ja nicht alle Kurse.

Danke für die Hilfe, eventuell komme ich mit einer konkreten Frage dazu noch mal darauf zurück.

LG, und noch ein schönes Wochenende - Wolfgang