Neuigkeiten:

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

Mobiles Hauptmenü

Bestandswert errechnen

Begonnen von dobby110, Oktober 19, 2015, 10:04:06

⏪ vorheriges - nächstes ⏩

dobby110

Hallo zusammen,

ich habe eine Frage wie man den Bestandswert an Hand des Umsatzes errechnen kann.
In meiner Datenbank erfassen wir verschiedene Massnahmen, die zu Bestandsveränderungen führen.
Dazu habe ich eine Eingabemaske in der unter anderem der Umsatz eingetragen wird.
Das Bestandsfeld errechnen wir derzeit noch selbst und tragen den Wert ein, damit das Formular im Anschluss den aktuellen Wert mit Bestand x Kurs errechnen kann.

Kann ich den Bestandswert nicht automatisch errechnen lassen?
In meinem Bericht zieht er zwar die Summe und gibt den richtigen Bestand aus, aber da ich auch den aktuellen Wert mit der Massnahme hinterlegen muss, brauche ich den Wert bereits im Formular bei der Eingabe.
Ich füge mal ein Screenshot aus dem Bericht bei.
Den Umsatz gebe ich mit der Massnahme ein. Den Bestand muss ich selbst errechnen aus der letzten Zeile heraus + Umsatz.
Wert je Aktie trage ich ein und der aktuelle Wert wird automatisch errechnet.

MaggieMay

Hallo,

die Suche nach "access differenz zum vorherigen datensatz" sollte hierzu reichlich Futter liefern.
Freundliche Grüße
MaggieMay

dobby110

Danke für die Antwort, ich habe aber auch schon selbst etwas gesucht, aber nie das gefunden was ich brauche.

Das Problem bei mir ist, dass in der Tabelle ALLE Massnahmen eingetragen werden. Man kann sich daher leider nicht einfach auf den letzten Datensatz beziehen.
Sondern der letzte Datensatz ergibt sich aus Kombination Wertpapier und Fonds.
Ich will also den letzten Bestandswert von einem Wertpapier in ausgewählten Fonds. Und zu diesem Wert soll dann mein Umsatz hinzugerechnet werden.
Die Frage ist auch, ob das überhaupt funktioniert?

MaggieMay

Der "vorherige" Datensatz sollte sich mittels Sortierung über Wertpapier, Fonds und Datum ermitteln lassen.
Freundliche Grüße
MaggieMay

dobby110

Hallo nochmal.
Ich habe jetzt eine Abfrage gebastelt, die mir die Summen aller Umsätze je Investment errechnet.

Wie bekomme ich den Wert denn jetzt in meinem Datensatz angezeigt?

Das Feld in der Abfrage heißt


=[abr_Bestand_je_Investment]![Summe von Umsatz]


Das Problem liegt wohl daran, dass der Feldname nicht ausreicht, sondern dass ich das Feld auf den aktuell offenen Datensatz beziehen muss.
Kann mir da einer weiterhelfen?
Habe es mit derzeit mit einem Textfeld versucht und den Feldnamen als Steuerelementinhalt eingetragen. Das funktioniert aber leider nicht

MaggieMay

Hi,

ich vermute, du suchst etwas in der Art:
=DomWert("Summe von Umsatz";"abr_Bestand_je_Investment";"Investment=" & [Investment])
wobei "Investment" ein Datenfeld sowohl aus der Datenquelle des Formulars als auch der Abfrage sein sollte.

Das hat aber mit deiner ursprünglichen Frage nicht mehr viel zu tun, oder?
Freundliche Grüße
MaggieMay

dobby110

Ich versuche es jetzt über diesen Zwischenschritt.
Dann wird mir zumindest der bisherige Bestand angezeigt. Darauf kann ich dann aufbauen.

Der Code funktioniert leider nicht.
Das Datenfeld auf welches ich mich beziehen würde heißt "Kombi ID"
Leider mit einem Leerzeichen drin, was man ja vermeiden sollte.

=DomWert("Summe von Umsatz";"abf_Bestand_je_Investment";"Kombi ID=" & [Kombi ID])

Habe es dann so versucht, bekomme aber einen Fehler.

DF6GL

Hallo,

wenn schon Leerzeichen in Namen, dann eben in Eckklammern einschließen:


=DomWert("Summe von Umsatz";"abf_Bestand_je_Investment";"[Kombi ID]=" & [Kombi ID])
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

dobby110

ZitatDomWert("[Summe von Umsatz]";"[abf_Bestand_je_Investment]";"[Kombi ID] = " & [Kombi ID])

genau so funktioniert es. Habe es gerade rausgefunden ;-)
Vielen Dank.

Ich gebe über mein Formular ja Daten in eine Tabelle ein.
Wenn ich da ein ungebundenes Textfeld einbaue, wo mir ein Wert errechnet wird, dann landet dieser ja nicht in meiner Tabelle. Gibts dafür auch noch eine Lösung. Zum Beispiel das genau dieser Wert in meiner Tabelle eingetragen wird?

DF6GL

Hallo,


http://www.donkarl.com/?FAQ4.11
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

MaggieMay

Hi,

wenn sich das Feld aus anderen Feldern des aktuellen Datensatzes berechnen lässt, käme u.U. auch der Datenfeldtyp "Berechnet" in Frage. Ein Grund, warum man das machen sollte, fällt mir dazu aber nicht ein.
Freundliche Grüße
MaggieMay

dobby110

Nochmals vielen Dank für die Hilfe.

Jetzt wird es allerdings kurios.
Ich habe ja die Abfrage erstellt, die mir die Bestände errechnet.

Dann habe ich jetzt in meinem Formular über folgenden Code

ZitatDomWert("[Summe von Umsatz]";"[abf_Bestand_je_Investment]";"[Kombi ID] = " & [Kombi ID])

den Bestand "gezogen".
Das funktioniert soweit auch, aber nur so lange bis ich die Datenbank schließe. Wenn ich sie einige Zeit später öffne, funktioniert der Code nicht mehr und es steht "#Name?" in dem Feld.
Hat jemand eine Idee woran das liegen kann?
Wenn ich das Feld lösche und im Entwurf neu erstelle, dann funktioniert es wieder. Aber wie gesagt ... bis ich die Datenbank schließe und später neu öffne  :o ::)

MaggieMay

Gibt es in der Abfrage tatsächlich ein Datenfeld namens "Kombi ID"??

Zeig doch bitte auch mal den SQL-Code der Abfrage.
Freundliche Grüße
MaggieMay

dobby110

ZitatSELECT Investments.[Name Ziel-Investment], Bewertungen.Bewertung, Bewertungen.Währung, Bewertungen.[Bericht per], [Name Ziel-Investment] & [Bericht per] AS Bericht
FROM Investments INNER JOIN Bewertungen ON Investments.ID = Bewertungen.[Ziel-Investment]
WHERE (((Bewertungen.[Bericht per]) Is Not Null));

Das ist der SQL in der Abfrage
Prinzipiell funktioniert es ja. Aber nur wenn ich das Feld in meinem Formular neu erstelle. Nachdem die Datenbank geschlossen wurde und wieder neu geöffnet wird, funktioniert es nicht mehr.

MaggieMay

Ok, wie man sieht gibt es in dieser Abfrage kein Datenfeld namens "Kombi ID", daher kann das Kriterium, das du bei der DomWert-Funktion angegeben hast, schon mal nicht funktionieren.
Was also wiillst du da womit vergleichen?!

BTW:
Gewöhne dir an, sinnvolle Feldnamen ohne Sonderzeichen zu vergeben und meide reservierte Wörter wie bspw. "Bericht".

PS:
Auch "Summe von Umsatz" gibt es in der Abfrage nicht, da hast du wohl den falschen Code gezeigt?
Freundliche Grüße
MaggieMay