0

Funktions- und Sprachreferenz

Hallo, ich habe zwei Frage:

1) Ich würde gerne zu einer bestehenden Uhrzeit eine gewisse Anzahl Stunden und Minuten addieren. Leider schaffe ich das nur indem ich zwei Datenfelder von Typ Uhrzeit addiere, aber ich hätte erwartet, dass man auch z.B. Begin := Begin + "07:00" oder wie auch immer angeben kann. Ich habe schon alle möglichen Varianten probiert, komme aber nicht auf eine Lösung. Ist es überhaupt möglich Zeiten auf diese Weise zu addieren?

2) es gibt bei Rechnen die Funktion Prozent %, allerdings finde ich dazu keine Beschreibung und bekomme auch keine sinnvollen Werte raus. Wo finde ich dazu eine Erklärung/Beispiel?

Noch zwei Anregungen:
- generell fände ich es gut, wenn einzelnen Funktionen durchgehend mit ein oder zwei aussagekräftigen Beispielen beschrieben wären, das würde viel Zeit ersparen.

- will man eine Funktion als Text eingeben, werden im Editor zwar Zeilennummern angezeigt, aber leider keine Spaltennummern. Die Fehlerhinweise erscheinen aber mit Spaltennummer! Dann beginnt das fleissige Zählen....

Besten Dank Klaus

493 Antworten

null
    • Birger_H
    • vor 7 Jahren
    • Gemeldet - anzeigen
    Hier ein Beispiel für die Verwendung von range().
    Für ein gegebenes Jahr wird die Anzahl der Wochen ermittelt und in einer Untertabelle Wochen-Datensätze erstellt und verlinkt:


    Birger - Ninox Support
    • thomas_thomasschubertd
    • vor 7 Jahren
    • Gemeldet - anzeigen
    Wie kann man innerhalb einer Schleife eine Variable inkrementieren?

    Beispiel

    let y:=0;
    for i in MeinArray do
    let y:=y+1;
    end


    Leider ist y in der gesamte Schleife immer 1.
    • Birger_H
    • vor 7 Jahren
    • Gemeldet - anzeigen
    Hier der korrekte Code:
    –––
    let myY := sum(for i in range(0, 4) do
    1
    end
    )
    –––


    Birger - Ninox Support
    • mistrlistr
    • vor 7 Jahren
    • Gemeldet - anzeigen
    Aber wie bekomme ich dann das Array noch mit rein, das ich schrittweise dabei durchgehen will?

    Ich habe derzeit das gleiche Problem, in meinem Beispiel möchte ich einen Tabelle von Datensätzen durchgehen und dabei durchnummerieren.
    • Birger_H
    • vor 7 Jahren
    • Gemeldet - anzeigen
    Dies lässt sich mittels Massendatenänderung (Zahnrad-Menü) besser und einfacher lösen. Angenommen es gibt ein neues, leeres Zahlenfeld "Nummerierung", dann wäre die Formel folgende:
    –––
    let myID := number(_id);
    cnt(select 'Tabellenname' where number(_id)<=myID)
    –––


    Birger - Ninox Support
    • Leonid_Semik
    • vor 7 Jahren
    • Gemeldet - anzeigen
    Für Durchnummerierung kann ich dir folgende Formel anbieten

    for II in (select Table1) do
    let NN := number(II._id);
    II.(Number := 1 + cnt(select Table1 where number(_id) < NN))
    end

    Table1 ist deine Tabelle, Number ist dein Zahlenfeld für Durchnummerierung. Die Formel kannst du bei einer Befehlsschaltfläche einsetzen.

    Grüße
    Leo
    • mistrlistr
    • vor 7 Jahren
    • Gemeldet - anzeigen
    Oh super, vielen Dank an Birger & Leo!
    Das hat mir sehr weitergeholfen! :-)
    • VISSIG
    • vor 7 Jahren
    • Gemeldet - anzeigen
    Hallo.

    Wäre möglich Zeilenumbruch einfügen, leider geht nicht mit newline char(13). So ähnlich wie "" oder ""

    So wie oben Beispiel
    "Hello World!" + " " + "This is a string."
    -- "Hello World! This is a String."

    "Hello World!"
    " This is a String."

    Danke im Voraus

    Gruß VISSIG
    • VISSIG
    • vor 7 Jahren
    • Gemeldet - anzeigen
    Problem gelöst.
    Ich habe einfach im Textfeld, wo dort Zeilenende markieren und mit cmd-c kopieren und nach " mit cmd-v einfügen dann "

    So klappt mit Zeilenumbruch ohne Befehl einzugeben. Habe nicht dran gedacht, dass so einfacher ist.
    • Leonid_Semik
    • vor 7 Jahren
    • Gemeldet - anzeigen
    Hallo VISSIG,
    du kannst auch einfach im Text an der Zeilenende auch die "Enter"-Taste klicken.

    Grüße
    Leo
    • mistrlistr
    • vor 7 Jahren
    • Gemeldet - anzeigen
    Hallo,
    zunächst einmal: TOP Support, vielen Dank für alles was schon möglich ist!

    Gibt es schon eine Möglichkeit ASC und DESC in Select-Anweisungen zu formulieren?
    Ich möchte von einem Termin einer bestimmten Gruppe zum nächsten springen, am liebsten so:

    let g := Gruppe;
    let t := Termin;
    openRecord(first(select Treffen where Gruppe = g and start(Termin) > start(t) order by Termin ASC).Nr)

    Vielen Dank und beste Grüße!
    • Frank_Bohmer
    • vor 7 Jahren
    • Gemeldet - anzeigen
    Hallo,
    *order by* kommt mit dem nächsten update, zur Zeit geht das leider noch nicht.
    Viele Grüße
    Frank
    • mistrlistr
    • vor 7 Jahren
    • Gemeldet - anzeigen
    Alles klar, vielen Dank!
    Ich freu mich auf das Update ;-)
    • schocki
    • vor 7 Jahren
    • Gemeldet - anzeigen
    Hallo.

    Ist die Implementierung einer while-Schleife geplant?
    Kennt jemand einen zwar begrenzten aber machbaren WORKAROUND?
    Vielen Dank im Voraus.

    MfG schocki
    • Frank_Bohmer
    • vor 7 Jahren
    • Gemeldet - anzeigen
    Hallo Schocki,
    while-Schleifen kommen mit dem nächsten Update.
    Viele Grüße
    Frank
    • schocki
    • vor 7 Jahren
    • Gemeldet - anzeigen
    Vielen Dank Frank.

    Gibt es schon einen ungefähren Zeitraum für die Veröffentlichung?

    MfG schocki
    • Frank_Bohmer
    • vor 7 Jahren
    • Gemeldet - anzeigen
    Im September
    • schocki
    • vor 7 Jahren
    • Gemeldet - anzeigen
    Hallo.
    Besteht die Möglichkeit mehrere Arrays miteinander zu verbinden?
    Um z.B. das "Gsamt"-Array am Ende zu sortieren.
    MfG schocki
    • Frank_Bohmer
    • vor 7 Jahren
    • Gemeldet - anzeigen
    Hallo Schocki,

    das ist geplant, aber leider noch nicht möglich.

    Viele Grüße
    Frank
    • schocki
    • vor 7 Jahren
    • Gemeldet - anzeigen
    Hallo.
    Erst einmal vielen Dank für die zeitnahen Antworten hier in den Kommentaren.

    Besteht die Möglichkeit Seitenumbrüche in eine Funktion zu integrieren um am Ende im
    PDF Druck diese Seitenumbrüche, nach bestimmten Vorgaben in eben dieser Funktion, zu erzeugen? Vielen Dank im Voraus.
    MfG schocki
    • Frank_Bohmer
    • vor 7 Jahren
    • Gemeldet - anzeigen
    Hallo Schocki,
    das Erzeugen eines Seitenumbruchs per Funktion unterstützt Ninox noch nicht. Zeilenumbrüche können innerhalb der Anführungszeichen mit eingegegben werden, z.B.

    "Zeile 1
    Zeile 2"

    Viele Grüße
    Frank
    • schocki
    • vor 7 Jahren
    • Gemeldet - anzeigen
    Hallo Frank.
    Vielen Dank für die schnelle Antwort.

    Ist das Erzeugen eines Seitenumbruchs per Funktion denn schon zeitlich absehbar geplant?
    MfG schocki
    • Alexander_Koenig
    • vor 7 Jahren
    • Gemeldet - anzeigen
    Ein genauer Termin kann leider noch nicht genannt werden.
    VG, Alex
    • micgo
    • vor 7 Jahren
    • Gemeldet - anzeigen
    Hallo,
    Eure App wird immer besser und meine DB wächst mit.
    Vielen Dank dafür.

    Meine DB hat mehrere Tabellen mit finanziellen Daten, von denen ich gerne ein paar in eine Art Übersicht verbinden würde:

    "Sales Positionen" enthält datum, Einnahmen und einzel Gewinn
    "Purchases" enthält Ausgaben für Einkäufe
    und "weitere Ausgaben"

    Daraus würde ich gerne in einer weiteren Tabelle eine Monatliche finanzielle Übersicht erstellen:
    - Alle für einen bestimmten Monat bestehenden alle addierten Werte zusammen führen: Umsatz pro Monat, gewinn pro Monat, ausgaben pro Monat.

    Meine Idee soweit:
    jeder Monat bekommt einen neuen Datensatz, und mit eingebe eines Datums, wird Jahr und Monat verwendet um die jeweiligen Daten aus den anderen Tabellen auf zu addieren und darzustellen.
    Kann mich jemand bitte auf den rechten Pfad bringen, dies umzusetzen?
    Vielen Dank!
    • Leonid_Semik
    • vor 7 Jahren
    • Gemeldet - anzeigen
    hallo micgo
    leg in deiner Auswertungstabelle das Feld Datum und ein Funktionsfeld für z.B. Ausgabensumme an. Die Formel für dieses Feld:

    let AA:=yearmonth(Datum);
    sum (select Purchases where yearmonth(Datum)=AA.Ausgaben)

    so kannst du weiter für alle deine Felder erweitern.

    Grüße
    Leo

Content aside

  • vor 6 JahrenZuletzt aktiv
  • 493Antworten
  • 134671Ansichten