0

If then Hilfe

Habe Tabelle1 in der das Statusfeld(Auswahl)  steht und in Tabelle2 ein ja/nein Feld (sind nicht verknüpft). Ich versuche gerade mit if und then dies zu steuern. In der selben Tabelle1 funktioniert es, wie greife ich auf Tabelle 2 zu?  

Anderes Problem habe es als Trigger nach Änderung hinterlegt. Muss ich dann alle Datensätze händisch ändern damit das "ja" geschrieben wird gibt es da eine einfacher Lösung?

if Status = number(8) then 'Ja / Nein' := true else 'Ja / Nein' := false end

Vielen Dank für Eure Hilfe

lg Claus

10 Antworten

null
    • Felix.5
    • vor 3 Monaten
    • Gemeldet - anzeigen

    Hallo Claus, kurze Rückfrage, Tabelle1 und Tabelle2 beinhalten mehrere Datensätze oder? Damit Du in Tabelle2 nicht alle Datensätze auf "True" stellst, müsstest Du, sofern zutreffend, den einen bestimmten Datensatz, welcher zu Tabelle1 passt, ansteuern. Hättest Du evtl. mehr Informationen für mich, damit ich inhaltlich durch das Szenario steige? 

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

    Wenn sie nicht verknüpft sind, muss es zwischen dem Datensatz mit dem Auswahlfeld in Tabelle1 und dem Datensatz mit dem Ja/Nein-Feld in Tabelle2 ja irgendeinen anderen, eindeutigen Bezug geben, über den auf Daten des jeweils anderen Datensatzes zugegriffen werden kann. Bspw. eine spezielle ID, Kunden- oder Transaktionsnummer ... Was auch immer.

    Zum nachträglichen Ändern: Bei überschaubarer Anzahl von Datensätzen kann man das manuell machen. Doppelklick in die Tabellenansicht blendet das Datenformular aus und ermöglicht direkte Eingabe in der Tabelle. Ähnlich wie bei Excel kann man nun die betreffende Zelle markieren und den erscheinenden blauen Punkt mit der Maus nach unten ziehen. Damit wird der markierte Wert in alle Zeilen übernommen.

    Andere Möglichkeit: Mit einem Script, das man sich auf einen Button legt. Um alle Ja/Nein-Felder (unten JN genannt), bei denen noch nichts ausgewählt wurde, auf „Ja“ zu setzen, könnte das bspw.so aussehen:

    for i in select TABELLE where JN = null do
       JN := true
    end
    • Ninox-Professional
    • planoxpro
    • vor 3 Monaten
    • Gemeldet - anzeigen

     Sorry, hat sich überschnitten.

      • Felix.5
      • vor 3 Monaten
      • Gemeldet - anzeigen

       kein Thema, doppelt hält besser. 😄

      • Claus.1
      • vor 3 Monaten
      • Gemeldet - anzeigen

       zb Steuernummer könnte man überprüfen haben beide Tabellen gleich und sind mein Kontrolle ob beide bestehen. 

      Danke für Eure Hilfe lg Claus

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

       

      Deine Infos sind immer recht knapp, aber wenn die Steuernummer in den Datensätzen beider Tabellen übereinstimmt, dann könnte man darüber auf den J/N-Wert in Tabelle2 zugreifen. Als Beispiel(!):

      let me := this;
      let myTab2 := first(select Tabelle2 where SteuerNr = me.SteuerNr);
      myTab2.JN := if me.Status = 8 then true else false end
      
      • Felix.5
      • vor 3 Monaten
      • Gemeldet - anzeigen

      ich bin leider auch noch nicht ganz durch Dein Vorhaben gestiegen, so hätte ich es jetzt aber auch interpretiert. Der Vorschlag von  klingt schon mal super.

    • Claus.1
    • vor 3 Monaten
    • Gemeldet - anzeigen

    Vielen Dank Herr Planox.pro das ist meine Lösung. Danke auch Felix für die Bemühung

    kann ich auch den Status  = 8 erweitern mit dem Status = 11 

    habe es versucht mit Status = 8 or 11 das funktioniert nicht. Danke

    let me := this;
    let myTab2 := first(select Tabelle2 where SteuerNr = me.SteuerNr);
    myTab2.JN := if me.Status = 8 then true else false end
      • Ninox-Professional
      • planoxpro
      • vor 3 Monaten
      • Gemeldet - anzeigen

       

      myTab2.JN := if me.Status = 8 or me.Status = 11 then true else false end
      • Claus.1
      • vor 3 Monaten
      • Gemeldet - anzeigen

      1000 Dank klappt alles bestens.

Content aside

  • Status Answered
  • vor 3 MonatenZuletzt aktiv
  • 10Antworten
  • 53Ansichten
  • 3 Folge bereits