Hallo,
ich möchte eine Datenbank zur Verwaltung eines Depots erstellen. Nachfolgend habe ich versucht diese zu beschreiben. In der angehängten DB kann man sich meine Vorstellung zu den Formularen ansehen. Dazu Formular frmStart öffnen.
In der DB sollen alle Aktionen zu verschiedenen Wertpapieren erfasst werden.
Die Daten der Wertpapiere werden in der tblWePa erfasst.
Die Tageskurse werden in der tblKurs erfasst.
Stück, Nennwert und der Kurs, zu dem der Kauf oder Verkauf erfolgt, werden in der tblDepot erfasst.
Alle Geldbeträge (Ein- und Auszahlungen, Kosten, Dividenden, Zinsen, Steuern, etc.) werden in der tblKonto erfasst.
Folgende Auswertungen sollen gemacht werden:
Rendite der einzelnen Wertpapiere zwischen Kauf und Verkauf und zwischen frei wählbaren Terminen (z.Bsp. 1 Woche, Monat oder Jahr).
Gleiches zum gesamten Depot.
Bericht zu den Kosten zwischen frei wählbaren Terminen.
Button Kurse im frmStart:
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.
Button Wertpapier im frmStart:
In diesem Formular sollen Wertpapiere und die benötigten Angaben erfasst werden.
Button Konto im frmStart:
Im Formular wird der aktuelle Saldo des Kontos angezeigt, und alle Aktionen, die im Zusammenhang mit Geld stehen werden hier eingetragen.
Die angehängte DB dient nur zur Ansicht der Formulare!
Die Beziehungen der Tabellen in der neuen DB habe ich angehängt.
Gruß - Wolfgang
Hallo,
die DB hat nun 3 Formulare, das frmStart zum Start, das frmWePa in dem die Daten der Wertpapiere eingetragen werden und das frmKonto für die Aktionen im Zusammenhang mit Geld.
Ich hätte gerne gewusst, wie das Formular für die Anzeige der Kurse aufgebaut werden soll.
Für Antworten im Voraus schon mal vielen Dank
LG - Wolfgang
Hallo,
wer soll bei deisem Programmierwust noch durchblicken.Wo hast Du denn das her ?
Da dürften 90% des Codes überflüssig bzw. überprogrammiert sein.
Es ist auch nahezu unmöglich den genauen Ablauf da nachzuvollziehen.
Wieso willst Du nach Abschluss der Wertpapierfassung gleich einen Kurs schreiben ?
Mit WrDatum willst Du ja einen Kurs eintragen.
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.
Hallo,
ich probier es auch noch mal, obwohl wir uns im Kreise drehen. An der Db ist begzl. des Tabellenaufbaus nichts geändert und schon wieder wird mit Formularen um sich geworfen.
Nach dem Beziehungsbild gibt es für ein Wertpapier (tblWePa) mehrere Kurse (tblKurs) zum entspr. Datum.
Soweit ist das nachvollziehbar. Dies könnte mit einem HFO auf Basis von tblWePa dargestellt werden.
Weiterhin gibt es für ein Wertpapier mehrere "Depots" (tblDepot) , die "Konten" darstellen sollen. Dies ist für mich nicht nachvollziehbar und m. E. falsch.
Wenn es stimmen sollte, dann kann tblDepot als weiteres UFO (frmDepot) in das o. g. HFO eingebaut werden.
Ich wiederhole mich: Du musst wissen, ob diese Datenzusammenhänge passen und stimmen.
Hallo
Zitat von: MzKlMu am Januar 22, 2020, 11:39:28
wer soll bei deisem Programmierwust noch durchblicken.Wo hast Du denn das her ?
Da dürften 90% des Codes überflüssig bzw. überprogrammiert sein.
Es ist auch nahezu unmöglich den genauen Ablauf da nachzuvollziehen.
Ich nehme an, dass bezieht sich auf das frmKurs aus der alten DB im Beitrag 1. Die hatte ich nur angefügt um zu zeigen, wie ich mir das Formular für die Kurse vorstelle. Da kam mit der Zeit eins nach dem anderen hinzu...
Wenn das einfacher geht - gerne.
Zu den Kursen:
In der tblKurs werden die täglichen Kurse der Wertpapiere erfasst.
Der Kurs1 in der tblDepot ist der Kurs zu dem ein Wertpapier ge- oder verkauft wird, und kann vom Tageskurs in der tblKurs abweichen.
Das Eintragen eines Kurses mit WRDatum hatte ich gemacht, da sonst im frmKurs das neue Wertpapier nicht angezeigt wurde.
Wenn man das anders machen kann - gerne.
Ich hatte in der neuen DB alles was mit dem frm Kurs zusammenhängt verworfen und würde es gerne mit Eurer Hilfe besser machen.
Ich habe eine neue DB angefügt, in der nur noch die Tabellen sind. Da könnte man dann mit dem Formular zu den Kursen beginnen.
LG - Wolfgang
PS an der Antwort von Franz lese ich noch, Antwort kommt
Hallo,
ich versteh Dich nicht... Vergiss doch mal, was Du bisher gemacht hast und arbeite an der Basis (Korrektur des Tabellenaufbaus).
ZitatDa könnte man dann mit dem Formular zu den Kursen beginnen.
Eine DB fängt (wie schon öfter erwähnt) bei der Konstruktion der Tabellen an. An denen hast Du bis jetzt nicht verändert und die sind m. E.
falsch .
Du solltest die Tabellen entfernen (um nicht zu sagen wegwerfen ;-) ) und neue erstellen, die die reale Datenzusammenhänge widerspiegeln.
ZitatZu den Kursen:
In der tblKurs werden die täglichen Kurse der Wertpapiere erfasst.
Der Kurs1 in der tblDepot ist der Kurs zu dem ein Wertpapier ge- oder verkauft wird, und kann vom Tageskurs in der tblKurs abweichen.
Die Aussage zum aktuellen Kurs ist plausibel, zum Depot nicht (auch schon mehrmals nachgefragt)
Werden gleiche WePa mehrmals verkauft oder gekauft?
Wenn nicht, wozu denn eine n-Tabelle (tblDepot)? Die zum Kauf/verkauf eines WePa gehörenden Felder (Kaufbetrag, Verkaufbetrag, KaufDatum, Verkaufdatum, etc. ) gehören in tblWePa.
Wenn ja, dann sollte die Tabellen tblWePaKäufe heißen und eine n-1-Beziehung zu tblWePa haben (ähnlich wie tblKurs).
Welche Bedeutung hat tblKonto? (auch schon mehrmals gefragt) Soll das eine Liste von Bankkonten sein, über die der An-/Verkauf eines WePa abgewickelt wird?
Das musst Du erklären, nicht anhand eines Formulars, wie Du es gern hättest, sondern wie es sich real verhält.
Also insgesamt nur eine Weiderholung von Fragen, auf die Antworten ausstehen.
Hallo Franz,
Zitat von: DF6GL am Januar 22, 2020, 11:56:29
Weiterhin gibt es für ein Wertpapier mehrere "Depots" (tblDepot) , die "Konten" darstellen sollen. Dies ist für mich nicht nachvollziehbar und m. E. falsch.
Wenn es stimmen sollte, dann kann tblDepot als weiteres UFO (frmDepot) in das o. g. HFO eingebaut werden.
Ich wiederhole mich: Du musst wissen, ob diese Datenzusammenhänge passen und stimmen.
Ich bin mir relativ sicher, dass die Tabellen und Beziehungen so in Ordnung sind.
Alles in Bezug mit Geld ist in tblKonto.
Alles in Bezug zum Bestand der Wertpapiere ist in tblDepot.
Vermutlich kann man alles aus tblDepot in tblKonto integrieren, aber ob das richtiger ist weiss ich nicht.
Die in dem Beitrag angefügten Beziehungen sind gleich zu den von mir, oder übersehe ich etwas?
LG - Wolfgang
Hallo,
ZitatIch bin mir relativ sicher, dass die Tabellen und Beziehungen so in Ordnung sind.
Ich halt nicht.
ZitatAlles in Bezug mit Geld ist in tblKonto.
Alles in Bezug zum Bestand der Wertpapiere ist in tblDepot.
Bei An-/Verkauf eines WePa ist der Betrag und die Menge definiert. Diese Daten gehören in eine Tabelle tblWePaKäufe als n-Tabelle zu tblWePa
ZitatVermutlich kann man alles aus tblDepot in tblKonto integrieren, aber ob das richtiger ist weiss ich nicht.
Ja.... tblKonto --> tblWePaKäufe
ZitatDie in dem Beitrag angefügten Beziehungen sind gleich zu den von mir, oder übersehe ich etwas?
Nein, es sind die gleichen, nur visuell geordnet dargestellt, so dass man daran eine HFO/UFO-Konstruktion ableiten kann.
(1-Tabelle --> HFO, n-Tabelle -->UFO, wo sinnvoll)
Vorschlag:
Erstelle noch mal eine DB neu und darin die Tabellen etwa so:
tblWePa:
Alle Daten, die zu einem Wertpapier (statisch) gehören, einschließlich der wie oben erwähnten Kauf-Daten.
tbl_Kurse:
Alle Daten , die zu einem aktuellen Kurs eines WePas gehören , einschließlich einem Fremdschlüsselfeld für den Primärschlüsselwert aus tblWePa.
Beantwortet hast Du nicht die Frage, ob das gleiche WePa mehrmals gekauft werden kann. Wenn ja, dann:
tblWePaKäufe:
Alle Daten, die für einen Kauf/Verkauf des bestimmten WePas gehören, einschließlich des Fremdschlüsselfeldes für den WePa-Primärschlüsselwert.
Dabei diese Felder aus der tblWePa herauszunehmen.
Zuletzt Beziehungen setzen.
Hallo,
dann versuche ich es nochmal, irgendwie schwirrt mir der Kopf und eigentlich verstehe ich bald garnichts mehr.
Das was ich in der DB machen möchte ist eine Erfassung aller Aktivitäten die mit Wertpapieren zusammenhängen. Alle Wertpapiere haben einen Tageskurs der an der Börse angezeigt wird.
Diese Kurse der in meinem Besitz befindlichen Wertpapiere möchte ich in der tblKurs erfassen.
Um etwas zu Kaufen wird Geld benötigt. Dazu gibt es die tblKonto in der alles was mit Geld zusammenhängt erfasst wird. Das sind Ein- und Auszahlungen, verschiedene Kosten, wobei hier zwischen allgemeinen Kosten und Kosten, die einem bestimmten Wertpapier zuzuordnen sind, unterschieden wird. Und es gibt Zinsen, Dividenden und Erträge.
Die Daten der Wertpapiere ISIN, WPKN, Bezeichnung und weitere wertpapierspezifische Daten habe ich in der tblWePa gespeichert.
Wertpapiere werden zu unterschiedlichen Terminen und Stückzahlen (auch mehrfach) ge- oder verkauft, oder es gibt Teilrückzahlungen. Die damit verbundenen Änderung im Bestand habe ich in der tblDepot erfasst.
Hallo Franz,
während ich das geschrieben habe, ist dein neuer Beitrag gekommen.
Entspricht meine tblDepot nicht der von dir darin genannten tblWePaKäufe?
Ich muss mir das aber nochmal in Ruhe anschauen.
LG - Wolfgang
Hallo,
anbei mal ein Vorschlag.
In einem Depot können ja mehrere Wepa sein, und das gleiche Wepa kann ja zu einem späteren Zeitpnkt erneut gekauft werdden. Außerdem, hat ja eine Depot auch ein Anlegedatum und eine Depotnummer. Daher habe ich mit einer Zwischentabelle das Depot einem Wepa zugeordnet.
Kurs1 kann entfallen. Der erste Eintrag in der Kurstabbelle ist der Kaufkurs. Das kann in einem Bemerkungsfeld deutlich gemacht werden, ist aber nicht notwendig, da sich das über das Datum (ggf. mit Uhrzeit) zweifelsfrei erkennen lässt. Und der zu letzt eingetragene Kurs muss dann zwangsläufig der Verkaufskurs sein.
Und in der Kurstabelle ist die Differenz des Kurses zwischen Min Datum und Max Datum der Gewinn/Verlust, was dann ganz einfach zu ermitteln ist.
Habe mal noch vorsorglich ein Feld für die Uhrzeit in der Kurstabelle eingefügt.
Was ist mit der Währung ?
Die Kontotabelle scheint mir unrealistisch. Hast Du 15 verschieden Konten ?
Unter Kont verstehe ich z.B. das Girokonto, welches dann das Bezugskonto für das Depot ist.
Erkläre mal die Kontotabelle genauer.
Ich mache Dir später mal noch ein Formular zur Erfassung der Kurse.
PS:
Ich habe der DB auch einen vernünftigen Namen gegeben. Die Versionsnummern (01) bitte mit jeder neuen Version hoch zählen. Bis 99 sollte reichen. ;D
Hallo,
im Anhang noch eine Version mit einem Formular (mit Unterformular) zur Erassung der Kurse.
Beachte auch die minimalistische Verwendung von VBA Code.
Hallo Klaus,
Zitat von: MzKlMu am Januar 22, 2020, 17:18:03
In einem Depot können ja mehrere Wepa sein, und das gleiche Wepa kann ja zu einem späteren Zeitpnkt erneut gekauft werdden. Außerdem, hat ja eine Depot auch ein Anlegedatum und eine Depotnummer. Daher habe ich mit einer Zwischentabelle das Depot einem Wepa zugeordnet.
Ja, in einem Depot sind mehrere Wertpapiere, die an verschiedenen Zeitpunkten ge- und verkauft werden, auch mehrmals.
Wann ein Depot angelegt wurde und welche Nummer es hat ist absolut unwichtig, es sind real sogar mehrere. Aber das spielt wirklich keine Rolle.
Zitat von: MzKlMu am Januar 22, 2020, 17:18:03
Kurs1 kann entfallen. Der erste Eintrag in der Kurstabbelle ist der Kaufkurs. Das kann in einem Bemerkungsfeld deutlich gemacht werden, ist aber nicht notwendig, da sich das über das Datum (ggf. mit Uhrzeit) zweifelsfrei erkennen lässt. Und der zu letzt eingetragene Kurs muss dann zwangsläufig der Verkaufskurs sein.
Und in der Kurstabelle ist die Differenz des Kurses zwischen Min Datum und Max Datum der Gewinn/Verlust, was dann ganz einfach zu ermitteln ist.
Habe mal noch vorsorglich ein Feld für die Uhrzeit in der Kurstabelle eingefügt.
Nein, der erste Eintrag in der Kurstabelle ist nicht der Kaufkurs, und der zuletzt eingetragene ist nicht der Verkaufskurs, und die Differenz zwischen den Kursen zum Min und Max Datum ist nicht der Gewinn oder Verlust.
Die Kurse zum Kauf oder Verkauf haben nichts mit den täglichen Kursen zu tun und weichen davon ab.
Kurs1 = (Betrag zum Kauf oder Verkauf) geteilt durch (Stück oder Nennwert)
Den Betrag kenne ich, manchmal habe ich den Kurs1, ein anderes mal Stück. Somit kann ich das eingeben was ich kenne, der fehlende Wert wird berechnet.
Nein, die Uhrzeit wird nirgendwo benötigt, das Datum (Tag/Monat/Jahr) reicht.
Zitat von: MzKlMu am Januar 22, 2020, 17:18:03
Was ist mit der Währung ?
Die Kontotabelle scheint mir unrealistisch. Hast Du 15 verschieden Konten ?
Unter Kont verstehe ich z.B. das Girokonto, welches dann das Bezugskonto für das Depot ist.
Erkläre mal die Kontotabelle genauer.
Die Währung spielt keine Rolle, es ist alles in Euro.
Ja ich habe mehrere Konten, aber das ist unwichtig.
So wie ich es sehe gibt es durch die Namen immer wieder Verständnisprobleme. Daher habe ich die Tabellen nochmal umbenannt und versuche nochmals zu beschreiben, wozu diese Tabellen sind. Im Anhang Fotos zu den Beziehungen und Erklärungen zu den einzelnen Feldern dieser Tabellen.
tblA
Alles was mit den täglichen Kursen zu tun hat.
tblB
Alle Informationen zu den Wertpapieren.
tblC
Die Informationen bei Kauf/Verkauf die mit dem Bestand der Wertpapiere zu tun hat.
tblD
Alles was mit Geld zu tun hat
Vielleicht versteht man es ohne konkrete Namen besser. Im ersten Beitrag habe ich versucht die DB genauer zu beschreiben.
Bitte schaut Euch die Fotos an.
Wie wäre es, wenn wir mal ganz einfach annehmen, dass die Tabellen und Beziehungen richtig sind?
LG - Wolfgang
PS
Zitat von: MzKlMu am Januar 22, 2020, 21:17:46
im Anhang noch eine Version mit einem Formular (mit Unterformular) zur Erassung der Kurse.
Beachte auch die minimalistische Verwendung von VBA Code.
Danke, schaue ich mir noch in Ruhe an, Antwort kommt.
Hallo,
so ich klinke mich hier zum zweiten Mal aus, diesmal endgültig.
Abschluss-Kommentar:
Wenn Du nicht von Deiner Vorstellung der Tabellen abweichst (sprich wegwirfst) und den Vorschlag von Klaus überhaupt nicht mal diskutierst, dann wird das nichts.
Wenn Du dauernd weißt, was keine Rolle spielt und Du meinst, dass Deine Tabellen passen, warum machst Du damit nicht einfach weiter und behandelst die WePas damit?
Wenn sie stimmen, dann kannst Du auch damit arbeiten, wie Du Dir das vorstellst.
ZitatDaher habe ich die Tabellen nochmal umbenannt und versuche nochmals zu beschreiben, wozu diese Tabellen sind.
Das haben wir alle kapiert und stellen fest, dass sie so nicht stimmen. Nur Tabellenamen anders zu benennen, löst nicht das Problem. Nur Du behauptest das Gegenteil.
ZitatWie wäre es, wenn wir mal ganz einfach annehmen, dass die Tabellen und Beziehungen richtig sind?
Und dann? Die Konsequenz wäre, Dein Depot ganz anders zu "verwalten". Die Realität lässt sich doch von einer (Un)-Logik im Tabellenaufbau nicht beeindrucken... Es ist eher anders herum: Die Realität muss durch den Tabellenaufbau (möglichst vollständig und korrekt) abgebildet werden.
Das macht der Vorschlag von Klaus. Evtl. fehlen noch ein paar Kleinigkeiten. Darüber solltest Du Dich auslassen und darauf aufbauen.
Hallo,
ZitatWann ein Depot angelegt wurde und welche Nummer es hat ist absolut unwichtig, es sind real sogar mehrere. Aber das spielt wirklich keine Rolle.
Dann lasse die Felder weg, die Zwischentabelle halte ich trotzdem für erforderlich.
Zitatund die Differenz zwischen den Kursen zum Min und Max Datum ist nicht der Gewinn oder Verlust.
Irgendwie habe ich da ein Verständnisproblem.
Wenn ich heute 10 Aktien kaufe zum Kurs von 100.-€ das Stück, muss ich 1000 Euro ausgeben.
Wenn ich diese Aktien in einem Monat zum Kurs von 110.-€ verkaufe kriege ich 1100.-€. Dann habe ich doch 100 Euro Gewinn gemacht. Ist meine Überlegung völlig falsch?
ZitatDaher habe ich die Tabellen nochmal umbenannt
Sorry, aber das ist doch jetzt völliger Unsinn. Im Gegenteil, da wird die Verwirrung noch größer. Da beteilige ich mich nicht daran.
Hallo,
die Tabellen habe ich deshalb umbenannt, weil ich die Namen Depot und Konto endlich aus der Diskussion raushaben möchte.
Das es damit Probleme gibt sieht man daran, dass jetzt noch Depotnummern genannt werden oder nach der Anzahl meiner Konten gefragt wird.
Zitat von: MzKlMu am Januar 23, 2020, 12:02:26
Zitatund die Differenz zwischen den Kursen zum Min und Max Datum ist nicht der Gewinn oder Verlust.
Irgendwie habe ich da ein Verständnisproblem.
Wenn ich heute 10 Aktien kaufe zum Kurs von 100.-€ das Stück, muss ich 1000 Euro ausgeben.
Wenn ich diese Aktien in einem Monat zum Kurs von 110.-€ verkaufe kriege ich 1100.-€. Dann habe ich doch 100 Euro Gewinn gemacht. Ist meine Überlegung völlig falsch?
Auf den ersten Blick ist das richtig, aber...
Der Tageskurs ist der Kurs, der an der Börse zum Abschluss des Handelstages festgelegt wird und den ich in der Tabelle mit den Kursen erfassen möchte.
Der Kurs zu dem der Kauf oder Verkauf stattfindet weicht daher vom Tageskurs ab.
Oftmals wird auch regelmäßig, z.Bsp.monatlich, immer wieder für einen festgelegten Betrag gekauft.
Und bei einem Verkauf wird nicht unbedingt der ganze Bestand verkauft.
Daher ist dann auch der Gewinn abhängig vom Durchschnittswert der gesamten Käufe und mit der Rendite ist es noch etwas anderes. Aber das ist hier nicht das Thema.
Zitat von: MzKlMu am Januar 22, 2020, 21:17:46
im Anhang noch eine Version mit einem Formular (mit Unterformular) zur Erassung der Kurse.
Beachte auch die minimalistische Verwendung von VBA Code.
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.
Am Besten schaut man sich das Formular in der DB an. Ja, der Code dazu sieht abenteuerlich aus, aber er funktioniert. Dass er so aussieht kommt daher, dass ich kein Spezialist bin und immer wieder etwas solange probiert habe, bis es klappte. Wenn man das einfacher und übersichtlicher machen kann - gerne.
Wenn es falsch ist, dann können wir gerne ein neues Formular machen, aber bitte mit den Funktionen die auch in diesem Formular sind.
Mir würde es aber auch reichen, wenn man mir dabei hilft in diesem Formular noch den Wert der einzelnen Wertpapiere und die Summe anzuzeigen.
Das war dann auch der eigentliche Grund warum ich mich an dieses Forum gewand hatte.
Zitat von: DF6GL am Januar 23, 2020, 11:03:31
ZitatWie wäre es, wenn wir mal ganz einfach annehmen, dass die Tabellen und Beziehungen richtig sind?
Und dann? Die Konsequenz wäre, Dein Depot ganz anders zu "verwalten".
Wäre das ein Problem? Für mich nicht. Mir wäre es recht so und ich komme damit zurecht.
Nochmals:
Wenn es falsch ist, dann können wir gerne ein neues Formular machen, aber bitte mit den Funktionen die auch in diesem Formular meiner alten DB sind.
Mir würde es aber auch reichen, wenn man mir dabei hilft in diesem Formular noch den Wert der einzelnen Wertpapiere und die Summe anzuzeigen.
Eventuell bin auch einfach nur zu blöd um zu verstehen was ihr wollt. Dann erstellt mir bitte eine DB mit dem Formular so wie ich es beschrieben habe. Ich kann es nicht, tut mir leid.
LG - Wolfgang
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
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.
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
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
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
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
Zitat von: Ratoncito am Januar 25, 2020, 13:25:58
Dieses Formular ist mein Problem.
Was genau ist denn das Problem?
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
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.
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
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.
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