0

Daten aus vorherigem Datensatz anzeigen

Hallo zusammen, 

 

ich komme gerade nicht weiter. Vielleicht hab ich bloß einen einfach Denkfehler und jemand von euch kann mir kurz helfen. 

Ich habe eine Tabelle db_clothing mit der Untertabelle db_mc_version welche wiederum eine Verknüpfung zur Tabelle db_mc_test hat. 

in der Untertabelle db_mc_version werden unterschiedliche Versionen der Tabelle db_mc_test gespeichert. Um diese zu unterscheiden, gibt es in der db_mc_version eine Versionsnummer (1,2,3,4,5, etc.), welche ich auch in jeden Datensatz der db_mc_test übertrag. 

In der db_mc_test gibt es ein Zahlenfeld "XS". Neben diesem Zahlenfeld würde ich immer gerne den Wert von der vorherigen Version anzeigen lassen. 

Also bei db_mc_test mit der db_mc_version Version 2 den Wert von der db_mc_version Version 1

Mein aktueller Versuch in einem Formelfeld in db_mc_test: 

let my := this;
let myPrev := my.Version - 1;
db_mc_version.db_mc_text[Version = myPrev].XS

Freu ich auf euren Input!

LG, Andi

3 Antworten

null
    • Paul_J_Herberhold
    • vor 2 Monaten
    • Gemeldet - anzeigen

    Ich habe jetzt 3x gelesen und versucht deine Datenbankstruktur zu verstehen… ist wohl schon zu spät. Müsste das was du möchtest aber nicht mit der last-Funktion umsetzbar sein?

    https://docs.ninox.com/de/skripten/funktionen-ueberblick/funktionen/last

    • Andi_Neumaier
    • vor 2 Monaten
    • Gemeldet - anzeigen

    Hi Paul, 

    hab tatsächlich noch etwas wichtiges vergessen. Die Einträge in der Tabelle db_mc_test haben alle einen Index und anhand dessen sollen die Werte aus dem vorherigen Eintrag gemapped werden. 

    Vielleicht ist diese Übersicht ganz hilfreich: 

    Im Formelfeld "XS Prev" hab ich gerade folgendes drin: 

    let my := this;
    let myPrev := my.'Proto Version' - 1;
    let myIndex := my.Index;
    db_mc_version.db_mc_test['Proto Version' = myPrev and Index = myIndex].XS
    

    Es wird kein Fehler angezeigt aber eben auch kein Wert. 

    Mit last komm ich in dem Fall nicht weiter, weil der letzte Datensatz wäre ja der aktuelle aus dem Feld "XS".

    LG, Andi

    • Andi_Neumaier
    • vor 2 Monaten
    • Gemeldet - anzeigen

    Hatte scheinbar nur einen Denkfehler. 

    Damit funktioniert es: 

    let my := db_mc_version.db_clothing;
    let myPrev := 'Proto Version' - 1;
    let myIndex := Index;
    let myFilter := (select db_mc_test where db_mc_version.db_clothing = my and 'Proto Version' = myPrev and Index = myIndex);
    myFilter.XS
    

    LG, Andi 

Content aside

  • vor 2 MonatenZuletzt aktiv
  • 3Antworten
  • 39Ansichten
  • 2 Folge bereits