0

Seit gestern Probleme mit dyn. Auswahlfeld.

Hallo zusammen,
seit ca. 6 Wochen läuft folgendes Script Problemlos, bis gestern.

let my := this;
if Tags = 10 then
    alert("ACHTUNG!!!
Kunde ist gesperrt.")
end;
if Tags = 11 then
    alert("ACHTUNG!!! 
Mailadresse erfragen")
end

Tags ist ein dyn. Auswahlfeld in dem verschiedene Tags gespeichert sind, die Kunden qualifizieren.
Seid gestern läuft das Script nicht mehr, jemand eine Idee?

Liebe Grüße
 

7 Antworten

null
    • Datenwart
    • vor 1 Jahr
    • Gemeldet - anzeigen

    Moin Stefan,

    probier mal anstelle von ... "Tags = 11"

    number(text(Tags))=11
    

    Damit konnte ich erfolgreich den Zahlwert des dynamischen Auswahlfelds abfragen.

    Gruß

    Kai

    • Stefan_Otten
    • vor 1 Jahr
    • Gemeldet - anzeigen

    Hi,
    danke für die Antwort, aber das funktioniert leider nicht bei mir.
    Irgendwie Merkwürdig, das ganze.
    Ein Formelfeld mit der Formel: number(Tags) 
    gibt mir Zahlen aus, die in der Tabelle Tags nicht vorhanden sind. In dem Fall die Zahl 2.
    Kunde gesperrt hat die Nr. 10 und ist ohne Sortierung die Nummer 5 in der Liste.

    Da passt irgendwie nichts zusammen?!

    • Datenwart
    • vor 1 Jahr
    • Gemeldet - anzeigen

    Hi Stefan,

    ich denke, da passt etwas mit den Verknüpfungen und der Abfrage  nicht.

    Kannst Du die Datenbank als Download zur Verfügung stellen? 

    • Stefan_Otten
    • vor 1 Jahr
    • Gemeldet - anzeigen

    Hi,
    nein das kann ich nicht machen.
    Hier sind sehr viele Kundendaten hinterlegt.

    Gibt es eine andere Möglichkeit?

    • Datenwart
    • vor 1 Jahr
    • Gemeldet - anzeigen

    Moin,

    Okay. Dann wird es schwierig.

    Hinweis zu Deiner Abfrage im vorigen Post, wo Du vermeintlich "falsche"Werte erhältst:

     

    Tags ist dabei das dynamische Auswahlfeld:

    Formel mit number(Tags) = gibt Dir die interne Datensatznummer an 

    Formel mit text(Tags) = gibt Dir den Inhalt des dyn. Auswahlfeldes Feldes an

     

    Für alles Weitere bräuchte ich deutlich mehr infos (was Du wie mit der Datenbank umsetzen willst).  

    Gruß

    Kai

    • T_Bartzsch
    • vor 1 Jahr
    • Gemeldet - anzeigen

    Du hast also eine separate Tabelle, wo Du die Tags führst (vielleicht mit dem Namen MEINE_TAGS)... dort ist dann ein Zahlenfeld (namens TAG) drin mit der Tagnummer und ein Textfeld (namens TEXT) dazu, was diese Nummer bedeutet, z.B. "Kunde gesperrt" oder?

    Was soll den "alert" denn auslösen? Button? Trigger nach Änderung? App oder Cloud?

    In deinem Script ist das "let my := this" überflüssig ... 

    Dein dynamisches Auswahlfeld gibt dir eigentlich die Ninox-Interne Datensatznummer der dargestellten Tabelle wieder (select MEINE_TAGS). Blende die Spalte "Nr" in deiner Tag-Tabelle mal ein... unabhängig von einer Sortierung usw. hat jeder Datensatz eine fortlaufende (durch Löschungen auch manchmal nicht zusammenhängende) Nummer.

    Du könntest im Script also vorher erstmal eine Variable mit deiner Tagnummer befüllen:

    let myNr := number('Auswahl (dynamisch)');
    // myNr hat dann die Datensatznummer aus der Tabelle MEINE_TAGS

    let myTag := first((select TAGS)[Nr = myNr]).TAG;
    // myTag hat dann die Zahl aus dem Feld TAG des ersten gefundenen Datensatzes aus der Tabelle MEINE_TAGS wo Datensatznummr und Nummer aus dem Auswahlfeld übereinstimmen.

    Und dann kannst Du damit weiter arbeiten...

    let myNr := number('Auswahl (dynamisch)');
    let myTag := first((select TAGS)[Nr = myNr]).TAG;
    if myTag = 10 then
        alert("ACHTUNG!!!Kunde ist gesperrt.")
    end;
    if myTag = 11 then
        alert("ACHTUNG!!! Mailadresse erfragen")
    end
      • T_Bartzsch
      • vor 1 Jahr
      • Gemeldet - anzeigen

      let myTag := first((select MEINE_TAGS)[Nr = myNr]).TAG;
      // myTag hat dann die Zahl aus dem Feld TAG des ersten gefundenen Datensatzes aus der Tabelle MEINE_TAGS wo Datensatznummr und Nummer aus dem Auswahlfeld übereinstimmen.

Content aside

  • vor 1 JahrZuletzt aktiv
  • 7Antworten
  • 54Ansichten
  • 3 Folge bereits