0

DAF - Textabfrage Dynamisches Auswahlfeld

Copytexter hat freundlicherweise unter "Infos zu den neuen dynamischen Auswahlfeldern" nähere Ausführungen zu DAF gemacht.

Ich habe ein Problem mit den Rückgabewerten. Hier eine Auswahl der Ausführungen von Copytexter:

number(DAF)

Rückgabe: Nummer des gewählten Datensatzes als Zahl, z. B. 2.

DAF

Rückgabe: Angezeigter Textwert des gewählten Eintrags als String, z. B. "B".

**********************

Ich habe u.a. Ein DAF ----->  MAGICCATEGORY mit den Werten Effectthemes, Principles, Sleights drin.

 
In Abhängigkeit von der Auswahl eines Wertes kann ich in einem weiteren DAF weitere Auswahlen treffen. Insgesamt sind drei Auswahlfelder in der nächsten Ebene. Das ganze ist cascadenförmig aufgebaut und funktioniert prima.

 

MAGICCATEGORY 

- Effectthemes

- Principles

- Sleights

 
In der nächsten Ebene wird in drei weitere DAF verzweigt:

 

Effectthemes

Principles

Sleights

 

Ich möchte jetzt immer nur das DAF anzeigen, das relevant ist. Das heißt mit der Funktion "Feld nur anzeigen, wenn" sollen z. B. die DAF Principles und Sleights ausgeblendet werden, wenn unter MAGICCATEGORY Effecthemes ausgewählt wurde und umgekehrt.

*****************

 
Wenn ich nun den Wert mit number(MAGICCATEGORY) ermittel, kann ich mit MAGICCATEGORY = 10 das jeweilige Feld ausblenden.

 
Wie bewerkstellige ich es, wenn ich den Textinhalt dazu verwenden möchte???

 
MAGICCATEGORY gibt w.o. dargestellt den Wert Principles aus, wenn dieser Wert ausgewählt wurde.

 
Wenn ich jetzt die Formel MAGICCATEGORY = "Principles"

oder

---

let myDAF := "Principles";

MAGICCATEGORY = myDAF

--- 

eingebe funktioniert es nicht, wo ist der Denkfehler.

 
Vielen Dank

 
Wolfgang 

10 Antworten

null
    • UweG
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Ich habe es mir jetzt mind. 10 Mal durchgelesen und verstehe nicht so ganz was du machen möchtest oder wie der Formulsraufbau sein soll.
    Du hast DAF1 mit 3 Auswahlmöglichkeiten. Dann hast du 3 weitere DAF die in dem Formular eingeblendet werden wenn die Auswahl aus DAF1 mit dem Namen der 3 weiteren DAF's übereinstimmt. Soweit so gut. Was meinst du jetzt mit umgekehrt? Meines Wissens ist die Auswahl eines DAF immer numerisch. Das siehst du, wenn du 'Name des dynamischen Wertes' leer lässt. Das bedeutet bei single DAF, es muss die ID des Wertes angegeben werden zur Auswahl. Mit deinem Textkonstrukt wird es nicht funktionieren, was immer auch du bewirken möchtest. Du musst vorab anhand des Textes die ID in dem DAF1 ermitteln.Vielleicht so: let myAuswahl := first(select 'Name Tabelle DAF1' where FeldName = "Principles").Nr ; DAF1 := myAuswahl

    • Leonid_Semik
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Hallo Wolfgang,

    da es bei DAF um verknüpften handelt würde ich es so versuchen:

    ---

    MAGICCATEGORY = number(first(select TABELLENNAME [TEXTFELDNAME="Principles"]).Nr)

    ---

    Leo

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

    Mein Vorschlag für den Eintrag bei "Nur anzeigen, wenn" wäre:

     

    record(AUSWAHLTABELLE,number(MAGICCATEGORY)).Text = "Principles"

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

    PS: Problem ist, dass man die Textwerte zwar in einem Funktionsfeld anzeigen lassen, aber nicht direkt abfragen kann. Man muss immer über die Record-Nr. gehen.

    • Wolfgang
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Erst einmal besten Dank und sorry wenn es nicht eindeutig war.

    Ich wollte ein Bild hochladen, aber das wird total verzerrt??? Und hilft dann nicht wirklich.

    @ Leo was ist mit Textfeldname gemeint? Ich habe nur DAF Felder

    ---

    MAGICCATEGORY = number(first(select EFFECTS [TEXTFELDNAME="Principles"]).Nr)

    ---

    EFFECTS ist die  Tabelle in der die DAF felder enthalten sind. Ich habe für Textfeldname mehre Varianten mit den verschieden DAF Feldern ausprobiert funktioniert leider nicht.

     

    @Copytexter was ist mit Auswahltabelle gemeint??

    ---

    record(EFFECTS,number(MAGICCATEGORY)).Text = "Principles"

    --- 

    da sagt er mir Tabellenspalte nicht gefunden; und wenn ich für Text DAF Felder einsetze geht es auch nicht.

     

    Wolfgang

    • Wolfgang
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Vielleicht hilft der Link zu der Beispieldatenbank

     

    https://www.dropbox.com/s/qryvyiy0ndrcy8t/MAGIC%20CASCADING.ninox?dl=0

     

    Wolfgang

    • Leonid_Semik
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Hallo Wolfgang, ich weiß nicht wozu solche Konstellation gut sein soll. Die Felder heßen aber nicht umsonst dynamisch. Wenn du statt 6 DAF nur eins erstellst mit der Formel:

    ---

    let me := this;
    (select SELECTIONS)['MAGIC TYPE' = me.'MAGIC TYPE']

    ---

    dann brauchst du die ganze Mimik mit dem Ausblenden nicht.

    Leo

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

    Das Auswahlfeld 'MAGIC TYPE' ist kein dynamisches, sondern ein normales. Das kann man ganz normal auf die ID oder den Text des Eintrags abfragen. Am Beispiel des Eintrags 'MAGICART':

     

    text('MAGIC TYPE') = "MAGICART"

     

    oder

     

    number('MAGIC TYPE') = 1

     

    Aber das nur der Vollständigkeit halber. Leos Lösung ist in diesem Fall natürlich viel besser.

    • Wolfgang
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Vielen Dank für Euren Input

    @Leo leider akzeptiert Ninox das zweite MagicType nicht (ich gehe davon aus, dass die Formel in ein DAF Feld in der Tabelle EFFECTS gehört)

    • Leonid_Semik
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Hallo Wofgang,

    nein das ist die Formel für ein DAF in der Tabelle SELECTION. In der Tabelle EFFECTS sind drei DAFs die aber von nichts abhängig sind. Aber deine Bemerkung hat mich nachdenklich gemacht.

    Ich glaube, du machst hier einen Fehler. Wenn du für Art, Categorie, Themes etc. Die DAFs verwenden möchtest, musst für sourses jeweils eine extra tabelle anlegen. Und ich würde in diesem Fall statt DAF lieber die einfachen Tabellenferknüpfungen nehmen die aber als Combobox darstellen.

    Leo

Content aside

  • vor 3 JahrenZuletzt aktiv
  • 10Antworten
  • 888Ansichten