0

Ein Datensatz in mehreren Tabellen sichtbar

Suche nach einer Möglichkeit einen Datensatz je nach Status (Auswahl) in der einen oder anderen Tabelle anzeigen zu lassen …

und zwar geht es darum, im Rahmen eines Ernährungsplans in einer Tabelle „Plan“ Gerichte (für die kommenden Tage) zusammen zu stellen und wenn darin der Status auf „erledigt“ geändert wird, dass sie in „Plan“ nicht mehr, dafür aber in der Tabelle „Gerichte“ angezeigt werden …

derzeit trage ich doppelt ein - ich plane und dann schreibe ich in der andern was ich tatsächlich zubereitet habe …

dachte, da müsste es doch einfachere Lösungen geben

danke für Tipps!

schönes Wochenende!

6 Antworten

null
    • Ninox-Professional
    • planoxpro
    • vor 11 Monaten
    • Gemeldet - anzeigen

    Hallo Astavakra, spontan fiele mir nur ein, den Datensatz über einen Änderungstrigger im Status-Feld quasi zu kopieren. Also mit "create" in Tabelle B  einen neuen Datensatz anzulegen, die Daten dorthin zu übertragen und den Datensatz in Tabelle A zu löschen. Das würde in beide Richtungen funktionieren.

    • Astavakra
    • vor 11 Monaten
    • Gemeldet - anzeigen

    ok, das klingt mal ok ... gibt es links, wo man lernt, wie man daten rüber kopiert?

    danke

      • Ninox-Professional
      • planoxpro
      • vor 11 Monaten
      • Gemeldet - anzeigen

      Astavakra 

      Das ist im Grunde sehr simpel. Erstelle in Tabelle 'Plan' im Auswahlfeld 'Status' einen Trigger "Nach Änderung" mit folgendem Code:

      if text(Status) = "erledigt" then
         let me := this;
         let newRec := (create Gerichte);
         newRec.(FELD1 := me.FELD1);
         newRec.(FELD2 := me.FELD2);
         newRec.(FELD3 := me.FELD3);
         [... usw. ...]
      delete this
      end
      

      Um dasselbe in der anderen Tabelle zu machen, müsste man dort nur "create Gerichte" duch "create Plan" ersetzen. In meinem Beispiel bin ich davon ausgegangen bin, dass die Felder in beiden Tabellen die gleichen Namen haben.

      Wobei: Datensätze zwischen zwei Tabellen hin und her zu transferieren, setzt ja voraus, dass beide Tabellen zumindest teilweise von Aufbau und Inhalt her gleich sind. Da wäre vielleicht zu überlegen, ob sich das nicht auch in einer Tabelle abbilden ließe (Label zur Unterscheidung, Filter, Ansichten usw.). Das ist aber jetzt nur laut gedacht.

      Zu create/delete:
      https://docs.ninox.com/de/skripten/einfuehrung-in-ninox-skript/datensaetze-erstellen-und-loeschen#create

    • Astavakra
    • vor 11 Monaten
    • Gemeldet - anzeigen

    Danke!

    • Icarus_Ralf_Becker
    • vor 11 Monaten
    • Gemeldet - anzeigen

    Ich empfehle, den entsprechenden Datensatz nur in einer Tabelle anzulegen und in den anderen Tabellen eine Ansicht einzubauen, die je nach erfüllter Bedingung den Datensatz dann anzeigt oder nicht. Datensätze zu kopieren und doppelt zu halten ist m. E. n. hier nicht notwendig.

      • Astavakra
      • vor 11 Monaten
      • Gemeldet - anzeigen

      Icarus - Ralf Becker hab ich mittlerweile tatsächlich so gelöst 

Content aside

  • Status Answered
  • vor 11 MonatenZuletzt aktiv
  • 6Antworten
  • 59Ansichten
  • 3 Folge bereits