Datenkonsistenz Zwischen Ansichten

  • Folgendes Beispiel:


    2 Ansichten/ 2 Masken


    Eine Ansicht heißt Projekte. Die zweite Ansicht heißt Kategorien.


    Ebenso die Masken. Kategorie und Projekt.


    In der Maske Projekt gibt es ein Feld Kategorie, welches über die Ansicht Kategorien auf die Dokumente zugreift und dort ein Element auswählt.


    Z.B. habe ich Dort eine Kategorie "AAAA". Und in einem oder mehreren Dokumenten diese Kategorie AAAA ausgewählt. Wenn aber in der Ansicht AAAA die Kategorie zu BBBB geändert wird, dann steht in den Dokumenten der Ansicht Projekte immernoch AAAA.


    Wie kann ich realisieren, dass die Daten konsisten bleiben, d.h. wenn ich in der Ansicht Kategorie etwas ändere, das in den Dokumente übernommen wird?


    Agenten, Formeln, Scripte?


    Mein erster Gedanke wäre bei "OnChange" in dem Feld der Ansicht Kategorien "irgendwas" ablaufen zu lassen. Wie das genau aussieht weiß ich jedoch noch nicht.


    Für ein paar Vorschläge wär ich dankbar. :)

  • Eine Ansicht kann kein Feld haben. Nur Dokumente/Forms haben Felder.


    On Change ist sinnlos. Was machst, wenn der User die Änderungen nicht speichert? Jedesmal wenn er das Feld ändert alle zig 1.000 Dokumente durchackern?


    PostSave ist auch nicht wirklich sinnvoll - Der User ändert eine Kategorie, speichert und wartet dann mal 5 Minuten, bis alle Dokumente angepasst wurden? Das kanns wohl auch nicht sein.


    Bleibt nur noch ein periodischer Agent, würd ich mal sagen. Ob du den in Formelsprache ode Script implementierst, bleibt Dir überlassen. ;)

  • Hm...das ist wohl war.



    Ein periodischer Agent garantiert mir aber nicht, dass die Daten wirklich konsistent bleiben. Wenn zwischen 2 Agentendurchläufen Daten in einer bestimmten Weise geändert werden hab ich da garnichts davon.


    Kann ich denn nicht den Agent bei PostSave starten lassen? Was passiert, wenn der Agent aufgerufen wird, obwohl derselbe Agent noch läuft?


    Anderer Ansatz:


    Würde es Sinn machen ein verstecktes Feld in dem Dokument Projekt einzufügen, welches einen Fremdschlüssel enthält und das Form quasi zur Laufzeit ausfüllt?


    In SQL wär das so einfach. *g*

  • Zitat


    In der Maske Projekt gibt es ein Feld Kategorie, welches über die Ansicht Kategorien auf die Dokumente zugreift und dort ein Element auswählt.


    Was du damit meinst, ist mir nun völlig unklar...


    Zitat


    Z.B. habe ich Dort eine Kategorie "AAAA". Und in einem oder mehreren Dokumenten diese Kategorie AAAA ausgewählt. Wenn aber in der Ansicht AAAA die Kategorie zu BBBB geändert wird, dann steht in den Dokumenten der Ansicht Projekte immernoch AAAA.


    Problem mit der Ansichtsaktualisierung?

    Life is not a journey to the grave with the intention of arriving safely in a pretty and well-preserved body, but rather to skid in broadside, thoroughly used up, totally worn out, and loudly proclaiming "Wow, what a ride!!! :evil:
    Beschleunigung ist, wenn die Tränen der Ergriffenheit waagrecht zum Ohr hin abfliessen - Walter Röhrl

  • Ich meine es so wie ich es geschrieben habe. 8|


    Nochmal etwas ausführlicher:



    Es gibt eine Maske Projekt. Dort gibt es ein Feld Kategorie. Das Feld ist vom Typ Dialogliste und für die Auswahl wird ein Ansichtsdialogfeld benutzt. Als Ansicht dient hierzu "Kategorien". In der Ansicht "Kategorien" werden Dokumente von Typ Kategorie angezeigt.


    Wenn ich nun ein neues Dokument vom Typ Projekt (Projekt A) anlege und mir da eine Kategorie auswähle, das Dokument speichere und dann das Kategorie Dokument ändere, dann möchte ich die Änderung auch gern im Feld Kategorie beim Dokument Projekt A.

    • Offizieller Beitrag

    du könntest beim Öffnen der Maske mit den Kategorien den Wert des Kategoriefeldes in eine Variable schreiben. Beim OerySave frabst du ab, ob sich der Feldinhalt geändert hat und änderst ggf die betroffenen Dokumente.


    Gruß
    Dirk

    Rein logisches Denken verschafft uns keine Erkenntnis über die wirkliche Welt.
    Alle Erkenntnis der Wirklichkeit beginnt mit der Erfahrung und endet mit ihr.
    Alle Aussagen, zu denen man auf rein logischen Wegen kommt, sind, was die Realität angeht, vollkommen leer.
    Albert Einstein