0

Preisänderungen

Ich habe folgende Frage: Ich habe eine Whisky-Datenbank, in der u.a. Whiskies mit Preisen hinterlegt sind. Die hinterlegten Preise dienen auch zur automatischen Berechnung von z.B. Tastings. Jetzt kann es aber sein, dass sich die Preise der Flaschen von Jahr zu Jahr ändern. Das muss natürlich gepflegt werden. Allerdings möchte ich, dass die Kalkulationen für Tastings sich auch im Nachhinein nicht ändern. Wenn ich also letztes Jahr eine Flasche zu einem Tasting für den Preis x hatte, werden die Tastingkosten mit dem Preis x berechnet. Nun nehme ich die gleiche Flasche in diesem Jahr für ein anderes Tasting. Der Einkaufspreis hat sich geändert. Wenn ich den neuen Preis eingebe, darf sich die Kalkulation des Tastings aus dem letzten Jahr nicht ändern.

Wie mache ich das?

Danke  vorab für die Unterstützung!
Viele Grüße, Jörg

5 Antworten

null
    • Torsten_Stang.1
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Hallo Jörg,

     

    zu Deinen Tabellen 'Whiskies' und 'Tastings' benutzt Du sinnvollerweise eine dritte Tabelle 'Whisky-Tasting' - diese enthält neben einer Verknüpfung zu den Tabellen 'Whiskies' und 'Tastings' noch ein Feld Preis, welches beim Verknüpfen des Whiskies mit dem zu dem Zeitpunkt aktuellen Preis aus 'Whiskies' gefüllt wird. Zur Verknüpfung zu 'Whiskies' hinterlegst Du also als Trigger "nach Änderung folgendes Skript ausführen" z.B. wie folgt:

     

    if 'Whiskies' then
       Preis := 'Whiskies'.Preis
    end

     

    lg, Torsten

    • joerg_kremerhabigde
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Hallo Thorsten,

    vielen Dank für die schnelle Antwort! Ich bin mir nicht sicher, ob das mein Problem löst, was aber daran liegt, dass ich mich nicht konkret genug ausgedrückt habe. Du hast vollkommen richtig erkannt, welche Tabellen ich nutze und wie diese verknüpft sind. Ich habe aber eine Information nicht kommuniziert, nämlich das es noch eine Kalkulationstabelle gibt. Zu jedem tasting werden die Einnahmen und Ausgaben erhoben und in der Kalkulationstabelle hinterlegt. So kann ich auf den ersten Blick sehen, was ein tasting gekostet hat etc.

    Im Moment ist das Feld Preis ein Bestandteil der Whiskytabelle. D.h., die Kalkulationstabelle zieht sich den Preis für einen Whisky aus dieser Tabelle. Wenn ich diesen Preis nun ändere und das Skript ausgeführt wird, dann würde sich das auf alle Tastings auswirken, die in der Vergangenheit durchgeführt wurden. Das möchte ich aber eher nicht, sondern die Kalkulation eines Tastings muss, einmal angelegt, stabil bleiben und darf sich nich mehr ändern.
    Müsste ich, um immer einen eindeutigen Preis eines Whiskies bezogen auf ein konkretes Tasting unveränderbar zu haben, eine eigene Preistabelle erstellen und mit der Kalkulationstabelle verknüpfen? Die müsste den Faktor Zeit (z.B. Datum) mit berücksichtigen.

    Zum besseren Verständnis habe ich mal mein Datenmodell beigefügt:

    Datenmodell 

    Ich bin mir nicht sicher, ob ich mich richtig ausgedrückt habe - ich hoffe, Du kannst mir folgen ;-)

    LG, Jörg

    • Uwe_Wagner.1
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Hallo,

    ich bin zwar neu in Ninox, würde das Problem aber anders angehen und zwar ohne Relationen. In etwa so: eine Tabelle Kunden, eine Tabelle Whiskeysorten und eine dritte Tabelle für das Ereignis Tasting (also mit Datum, Ort, Zeit, usw.). Für die Tasting Tabelle würde ich die verkosteten Whiskey Sorten (Name, Jahrgang, Kosten pro Flasche) bspw. in eine Untertabelle schreiben, ebenso die Kunden in eine Untertabelle Teilnehmer (Name, Vorname, Gebühr) . Aus diesen Untertabellen kann man die Kosten für das Tasting berechnen. Sollte noch ein spezieller Kalkulationsschlüssel notwendig sein, diesen in ein globale Funktion auslagern. 
    Bei den Relationen entsteht das Problem, wenn Du einen Kunden löschst sind alle Tastings unvollständig, dito bei Löschung einer Whiskysorte.
    Vielleicht habe ich dein Problem aber nur nicht richtig verstanden.

    PS: Problem, finde ich interessant, da ein Bekannter einen kleinen Whiskeyladen führt....

    Gruß

    Uwe

    • Torsten_Stang.1
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Hallo Jörg,

     

    wenn Du den Preis, wie von mir vorgeschlagen, beim Verknüpfen mit dem Whiskey in die Tabelle 'Whiskies+Tastings' holst, bleibt der für genau diesen Whiskey und genau das Tasting unberührt von Preisänderungen. In den Kalkulationen musst Du dann "nur noch" mit diesen rechnen statt mit denen aus der Whiskeytabelle.

     

    lg, Torsten

    • joerg_kremerhabigde
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Guten Morgen Uwe und Torsten,

    besten Dank für eure Anregungen! Ich finde die Idee mit den Untertabellen interessant, die von Torsten allerdings auch sehr charmant. Ich werde jetzt mal beides ausprobieren und mich dann entscheiden, wie ich's mache. Ich halte euch auf dem laufenden.

    @Uwe: Wenn dein Bekannter die Idee braucht, kann ich dir gerne einen download zur Verfügung stellen.

    Besten Dank und viele Grüße,

    Jörg

Content aside

  • vor 5 JahrenZuletzt aktiv
  • 5Antworten
  • 1658Ansichten