0

Logik

Bei mir funktioniert seit dem letzten Update keine wenn a dann b sonst c Logik mehr! Kennt jemand das Problem? Und wenn Ja, was kann ich tun?

58 Antworten

null
    • Frank_Bohmer
    • vor 9 Jahren
    • Gemeldet - anzeigen
    Hallo koka7,
    ein grundsätzliches Problem ist uns da nicht bekannt. Sende am Besten die Formel an support@ninoxdb.de. Dann können wir das klären.
    Viele Grüße, Frank
    • MGrosse
    • vor 8 Jahren
    • Gemeldet - anzeigen
    Hallo,
    ich möchte unter einer Tabelle Projekte die Summe der abgeleisteten Projekttage vom Budget abziehen. Dazu habe ich in "Projekte" ein Feld "Budget". In den Rechnungspositionen habe ich jeder Position das Projekt verknüpft.

    Was ich machen will ist das ich die Summe der aufgelaufenen Projekttage ("Artikel" in Berechnungspositionen pro Projekt zusammenrechne und in der Tabelle Projekte anzeige. Ich schaffe es nicht eine solche Beziehung in der Berechnung aufzubauen.

    Vielen Dank für eine Hilfe.
    • Leonid_Semik
    • vor 8 Jahren
    • Gemeldet - anzeigen
    Hallo mgrosse
    kann sein, dass ich dich nicht richtig verstanden habe. In der Dropbox ein Beispiel

    https://www.dropbox.com/s/p3yx9a7mq2ur9rp/Projekte.ninox?dl=0

    Gruß Leo
    • schocki
    • vor 8 Jahren
    • Gemeldet - anzeigen
    Hallo. Ich habe eine Frage zu Wenn/Dann/Sonst. Folgende Formulierung:

    let c := 'Feld1'
    let d := if c = 1 then 'Tabelle1' else if c = 2 then 'Tabelle2' else '?'

    Was kann ich für '?' einsetzen um d ins Leere laufen zu lassen?
    • Leonid_Semik
    • vor 8 Jahren
    • Gemeldet - anzeigen
    Hallo Schocki,

    versuch mit "else void"
    bei mir klappt

    Gruß Leo
    • schocki
    • vor 8 Jahren
    • Gemeldet - anzeigen
    Bei "void" für "?" kommt der Hinweis, dass DANN und SONST unterschiedliche Datentypen liefern. Ich brauche etwas das den Datentype einer Tabelle gibt aber ins Leere läuft. MfG schocki
    • Alexander_Koenig
    • vor 8 Jahren
    • Gemeldet - anzeigen
    Hallo Schocki, wie wäre: ""
    also leerer Text.
    VG, Alex
    • schocki
    • vor 8 Jahren
    • Gemeldet - anzeigen
    Bei "" für '?' habe ich das selbe Problem wie bei 'void' für '?'. Ich denke es liegt daran das ich 'd' im weiteren Verlauf der Funktion für z.B. 'd.Feld' benutze und es somit einen Fehler erzeugt. Hat noch jemand eine Idee dieses Problem zu lösen?
    • Frank_Bohmer
    • vor 8 Jahren
    • Gemeldet - anzeigen
    Hallo schocki,
    schick doch bitte die gesamte Formel an support@ninoxdb.de.
    Vielen Dank, Frank
    • Gregor.2
    • vor 8 Jahren
    • Gemeldet - anzeigen
    Hallo,

    ich möchte in einem Formular die Anzahl der Datensätze
    aus dem Unterformular die in Spalte 'Tätigkeit' einen bestimmten Eintag haben,
    cnt(Tabelle.'Tätigkeit') liefert mir die gesamte Anzahl an Datensätzen.
    Ich möchte aber nur die zählen bei denen z.B. Liefern drin steht.
    Geht das?

    thx
    • Leonid_Semik
    • vor 8 Jahren
    • Gemeldet - anzeigen
    Hallo Gregor
    cnt(Tabelle[’Tätigkeit’="Liefern"])

    Gruß
    Leo
    • Gregor.2
    • vor 8 Jahren
    • Gemeldet - anzeigen
    Danke Leo,
    mit dem Ausdruck so in [ ] Klammern passiert nichts,
    bei
    cnt(Station.'Tätigkeit' = "Liefern")
    kommt die Meldung:
    "Der Ausdruck liefert mehrfache Ergebnisse zurück"
    • Frank_Bohmer
    • vor 8 Jahren
    • Gemeldet - anzeigen
    Hallo Gregor,
    der Vorschlag von Leo ist eigentlich richtig. Wenn Tätigkeit ein Auswahlfeld ist, dann muss der Wert allerdings mit dem Zahlenwert der Auswahl verglichen werden. Beispiel:

    cnt(Tabelle['Tätigkeit'=2])

    Alternativ (würde ich aber nicht empfehlen):

    cnt(Tabelle[text('Tätigkeit')="Liefern"])

    Viele Grüße, Frank
    • Gregor.2
    • vor 8 Jahren
    • Gemeldet - anzeigen
    Ja das war's
    ich hatte vergessen zu sagen, dass es sich um ein Auswahlfeld handelt.
    Bei mir ändert Ninox allerdings die Klammern bzw. fügt noch welche ein:
    cnt(Tabelle[('Tätigkeit' = 1)])
    aber so funktioniert es

    Ich danke euch :)

    Als nächsten Schritt brauche ich noch die Summe der werte in Spalte A von den Datensätzen, die in meinem Fall die Außwahl 1 haben.

    Also in etwa so:
    sum(Tabelle.SpalteA) wo (Tabelle[('SpalteB' = 1)])
    • Leonid_Semik
    • vor 8 Jahren
    • Gemeldet - anzeigen
    Hallo Gregor,
    sum(Tabelle[('SpalteB' = 1)].SpalteA)

    Gruß Leo
    • Gregor.2
    • vor 8 Jahren
    • Gemeldet - anzeigen
    Hallo Leo,

    super Hilfe,
    das funktioniert so wie ich es brauche.

    1A Support hier im Forum, Respekt
    • mdag_mdagehrmannde
    • vor 8 Jahren
    • Gemeldet - anzeigen
    Hallo zusammen,
    Ich möchte vorausschicken das ich Anfänger bin und benötige Unterstützung in einem eigentlich einfachen Fall.

    Ich möchte ein Feld mit einem Script so belegen das automatisiert ein verstecktes Textfeld auftaucht wenn ein bestimmter Wert ausgewählt wurde.

    Beispiel der Verkettung:
    Feld "DKVZ" = ja
    Dann zeige Feld "Symbol" = !
    Und Feld "Warnung" = "Finger weg !"

    Ich tuhe mich leider etwas schwer das so hinzu bekommen. Hat da jemand einen Tip für mich ?
    • CGR
    • vor 8 Jahren
    • Gemeldet - anzeigen
    Hallo Runenmeister,
    Feld "Warnung" anlegen als Funktionsfeld mit "Finger weg!" als Text. Unter "erweiterte Optionen" findet sich eine Eigenschaft "Feld nur anzeigen, wenn" - hier die Formel DKVZ = "ja" hinterlegen.
    Schöne Grüße
    Christian
    • Tacho
    • vor 8 Jahren
    • Gemeldet - anzeigen
    Auch ich möchte mich den vielfältigen Danksagungen an das Ninox-Team nahtlos anschließen: Tolle Datenbank!

    Hab da auch mal eine für Profis sicher einfache Problemstellung, ich selber stehe aber schön auf dem Schlauch und wäre über Hilfe sehr dankbar:

    Tabelle "Teams" erfasst alle Mannschaften
    Untertabelle "Seasonstats" erfasst alle Einzelwerte eines Teams je Saison

    In der Tabelle "Seasonstats" möchte ich klassifizieren, ob sich ein Team am Ende einer Saison für die Championship-Runde ("LCS") qualifiziert. Geht das Team daraus siegreich hervor, qualifiziert es sich für die nächste Runde ("WS"). Setzt es sich auch hier durch, soll ein Feld "WS_win" gefüllt werden.

    Jedes der drei Felder ("LCS", "WS" und "WS_win") soll auf Ebene der Tabelle "Teams" für sich aufsummiert werden, um die Häufigkeit seiner Erfolge aufzuzeigen.

    Beste Grüße
    Tacho
    • Frank_Bohmer
    • vor 8 Jahren
    • Gemeldet - anzeigen
    Hallo Tacho,
    danke für das Feedback! Am einfachsten wäre, wenn Du uns die Datenbank (evtl. ohne Daten) an support@ninoxdb.de sendest, damit wir die Problemstellung besser verstehen können.
    Viele Grüße
    Frank
    • Energyfrank
    • vor 7 Jahren
    • Gemeldet - anzeigen
    Hallo,

    möchte ein Textfeld nur anzeigen lassen, wenn die Werte eines Auswahlfeldes 2 oder 5 sind. Mit Order usw. werde ich nicht schlau, funktionieren nicht. Kann mir da wer weiter helfen? Vielen Dank im Voraus.
    Gruß Franz
    • Leonid_Semik
    • vor 7 Jahren
    • Gemeldet - anzeigen
    Hallo Franz,
    da die Werte von der Auswahlfelder im Grunde Texte sind, schreib bitte bei dem Textfeld im erweiterten Optionen/Feld nur anzeigen, wenn:

    text(Auswahl) = "2" or text(Auswahl) = "5"

    Grüß
    Leo
    • Frank_Bohmer
    • vor 7 Jahren
    • Gemeldet - anzeigen
    Hallo Franz,

    die Formel wäre:
    Auswahl = 2 or Auswahl = 5
    Noch zu beachten ist, dass Auswahlfelder in Formeln mit ihrem Zahlenwert verglichen werden müssen - also der Nummer des Wertes in den Feldeinstellungen.
    Um das Feld mit seinem angezeigten Text-Wert zu vergleichen, nutze etwa:
    text(Auswahl) = "Wert A" or text(Auswahl) = "Wert B"

    Viele Grüße
    Frank
    • Notes_4U
    • vor 7 Jahren
    • Gemeldet - anzeigen
    Hallo, ich stehe auf dem Schlauch.
    Ich möchte in einem Feld, abhängig von Bedingungen, eine Berechnung durchführen:

    Wenn Feld "Pauschal" = ja - dann Berechnung a+b
    sonst Berechnung a+b+c

    Ich komm da nicht weiter
    • Notes_4U
    • vor 7 Jahren
    • Gemeldet - anzeigen
    Warum wird die Währung nicht in der Feldeigenschaft übernommen? Es ist das Ergebnis einer Berechnung, und wird ohne irgendeine Währung eingestellt.