0

styled

Vielleicht bin ich einfach zu .....
Ich verstehe die styled-funktion immer noch nicht. Die Beispieldatenbank von Birger bringt mich leider auch nicht weiter.
Ich habe 3 berechnete Felder: Einnahmen, Ausgaben, Gewinn
Formel in Gewinn: 'Einnahmen' - 'Ausgaben'
Alles prima. Nun möchte ich "nur", dass das Ergebnis im Feld Gewinn bei einem Wert größer 0 in schwarzem Text, bei einem Wert kleiner 0 in rotem Text angezeigt wird.
Wo muss ich denn nun die styled Anweisung und wie reinschreiben?
Tatsächlich in ein "extra" Feld nur mit dieser Formel oder geht das auch im Gewinnfeld nach der eigentlichen Berechung 'Einnahme' - 'Ausgabe'
dann ; und dann styled?
Ich versteht auch immer noch nicht, was die erste Formulierung bei styled
nämlich der Begriff "Text" meint.
Vielleicht kann mir jemand mit einem "einfachen" Beispiel auf die Sprünge helfen?
Jetzt schon mal DANKE

10 Antworten

null
    • Leonid_Semik
    • vor 6 Jahren
    • Gemeldet - anzeigen
    Also, die Funktion styled kann nur die Texte darstellen.
    Ich würde in ein Berechnungsfeld so schreiben:
    styled(text(Einnahmen - Ausgaben) , "", if Einnahmen - Ausgaben > 0 then
    "black"
    else
    "red"
    end, "")

    Leo
    • Leonid_Semik
    • vor 6 Jahren
    • Gemeldet - anzeigen
    Zur Erklärung:
    styled("Text","Hintergrundfarbe","Textfarbe","Symbol")
    • Holzi
    • vor 6 Jahren
    • Gemeldet - anzeigen
    Vielen Dank Leo,
    d.h. also, dass der Inhalt des zu formatierten Feldes in Text umgewandelt werden muss, daher also styled(Text.....?

    Dein Vorschlag

    styled(text(Einnahmen – Ausgaben) , “”, if Einnahmen – Ausgaben > 0 then
    “black”
    else
    “red”
    end, “”)

    führt bei mir zu Fehlermeldung:
    Symbol erwartet.) in Zeile 1, Spalte 32
    Die "" habe ich natürlich umgewandelt!
    • Leonid_Semik
    • vor 6 Jahren
    • Gemeldet - anzeigen
    Da kann ich leider aus der Ferne nicht helfen. Versuch die Bedingungen zu
    umklammern
    ——-
    styled( text(Einnahmen-Ausgaben),"",if (Einnahmen-Ausgaben)>0 then "black" else "red" end, "")
    ——-
    Oder schreib alles modular um die Klammern zu umgehen;
    —-
    let BAL:=Einnahmen-Ausgaben;
    let BLACK:=styled(text(BAL),"","black","");
    let RED:=styled(text(BAL),"","red","");
    if BAL>0 then BLACK else RED end

    —-
    Leo
    • Holzi
    • vor 6 Jahren
    • Gemeldet - anzeigen
    Guten Morgen,
    das zweite Klammernpaar war es, vielen Dank Leo.
    • AxelE
    • vor 6 Jahren
    • Gemeldet - anzeigen
    Moin Leute. @Holzi: Die Fehlermeldung könnte an der Text-Codierung liegen. Falls du den Code per Copy and Paste übernommen hattest solltest mal versuchen, sämtliche Sonderzeichen neu einzutippen, also auch Klammer, Minus- und Größer-Zeichen. Oder von vornherein komplett manuell abtippen. Eine falsche (bzw. andere) Codierung muss nicht in jedem Fall ohne weiteres erkennbar sein.
    • AxelE
    • vor 6 Jahren
    • Gemeldet - anzeigen
    Edit: Sehe, es hat sich erst mal erledigt. Hab's trotzdem eben noch mal probiert. Es lag wohl an den Minus-Zeichen, die als Geviertstriche codiert waren. Ersetzt man die, funktioniert der Code exakt so, wie Leo ihn gepostet hat (erste Version).
    • Holzi
    • vor 6 Jahren
    • Gemeldet - anzeigen
    @AxelE: Stimmt, wenn ich die Minuszeichen per Hand ersetze, funktioniert auch die erste Version von LEO (Ohne zweite Klammer). Darauf muss man erst mal kommen und logisch ist es auch nicht.
    Also beim kopieren nicht nur auf die "" sondern auf alle Sonderzeichen achten.
    Danke nochmal an Euch
    • AxelE
    • vor 6 Jahren
    • Gemeldet - anzeigen
    @ Holzi: Es liegt halt an unterschiedlichen Textcodierungen und -interpretationen der verschiedenen Editoren (eigener PC, Webforum, Ninox-Code-Editor ...). Deshalb nutze ich für alles, was mit Quellcode und Webtexten zu tun hat, einen zeichenbasierten Editor auf ANSI-/Unicode-Basis. So lässt sich bspw. Quellcode per Copy and Paste verlustfrei in den Ninox-Editor (und andere Programmier-Umgebungen) übertragen. Übergibt man ihn aber bspw. an den Editor dieses Forums, so wird er hier in anderer Codierung gespeichert und muss vor der Übernahme in den Ninox-Editor erst wieder zurückcodiert werden. Das betrifft auf den ersten Blick zumeist nur die Anführungszeichen, kann sich aber auch auf andere Zeichen auswirken, was vermutlich auch vom Ursprungseditor des jeweiligen Benutzers abhängt (z. B. durch unterschiedliche Interpretation des "Minus"-Zeichens der Tastatur; siehe http://www.pt-mediengestaltung.de/striche.html).

    Wenn man also den Text eines Postings samt Code auf seinem Computer schreibt, um ihn dann per Copy and Paste hier einzufügen, sollte man dazu nach Möglichkeit keine gewöhnliche Textverarbeitung o. ä., sondern einen einfachen Quelltext-Editor nutzen. So hält man die Codierungsprobleme zumindest schon mal möglichst gering. Solche Editoren gibt es eigentlich kostenlos für jedes Betriebssystem, zum Teil sind sie sogar sehr komfortabel (ich nutze unter Windows Notepad++).
    • AxelE
    • vor 6 Jahren
    • Gemeldet - anzeigen
    Test.

Content aside

  • vor 6 JahrenZuletzt aktiv
  • 10Antworten
  • 6058Ansichten