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
    • mspirig_educationch
    • vor 7 Jahren
    • Gemeldet - anzeigen
    Hallo

    Gibt es eine Funktion, die (wie "icon(choice)") das Icon aus einer Mehrfachauswahl zurückgibt?

    Besten Dank
    Marco
    • Birger_H
    • vor 7 Jahren
    • Gemeldet - anzeigen
    In der Vorlage "Rechnungen" ist dies bereits realisiert. Dort wird ein Feld automatisch beim Erstellen eines neuen Datensatz' befüllt. Die Formel dafür:
    –––
    let y := year(Datum);
    let c := cnt(select Rechnung where year(Datum) = y);
    Rechnungsnummer := y + "-" + format(c, "000")
    –––


    Birger - Ninox Support
    • Birger_H
    • vor 7 Jahren
    • Gemeldet - anzeigen
    Die Formel lautet genau so:
    –––
    icon('Name des Auswahlfelds')
    –––


    Birger - Ninox Support
    • Birger_H
    • vor 7 Jahren
    • Gemeldet - anzeigen
    Mehrdimensionale Arrays werden derzeit noch nicht unterstützt.

    Birger - Ninox Support
    • FML
    • vor 7 Jahren
    • Gemeldet - anzeigen
    Danke für die Antwort Birger :-)

    Das ist auch eine Idee, aber ich denke das ist etwas für eine komplette Neueinrichtung.

    Mir geht es darum ein Feld auszuwählen auf Basis seines Wertes um im nächsten Schritt eine Rechnungsnummer höher zu gehen. Deine Lösung funktioniert leider nicht wenn Datensätze übernommen werden und der erste Datensatz in der RechnungsDB dann zum Beispiel lautet „02323“.

    Grüße
    • mspirig_educationch
    • vor 7 Jahren
    • Gemeldet - anzeigen
    Besten Dank für die Antwort.
    Klappt leider nicht: Ich erhalte einen Error: Die Funktion icon(multi) ist nicht definiert.
    • Birger_H
    • vor 7 Jahren
    • Gemeldet - anzeigen
    Die Formel muss lauten
    –––
    icon("multi")
    –––


    Birger - Ninox Support
    • Birger_H
    • vor 7 Jahren
    • Gemeldet - anzeigen
    Das Handbuch der Scriptsprachen finden Die hier - insbesondere auf dieser Seite. Ninoc importiert und exportiert Daten als csv-Datei. Ob Ihr System Daten bereit stellt, die Ninox importieren kann, kann ich von hier aus nicht beurteilen. Eine Anwendung als Deportverwaltung ist jedoch eine der vielen häufig genutzten Anwendungsfälle für Ninox.

    Birger - Ninox Support
    • schocki
    • vor 7 Jahren
    • Gemeldet - anzeigen
    Hallo.

    Wann wird das überarbeitete PDF Handbuch zur Verfügung stehen?

    Vielen Dank im Voraus.
    MfG schocki
    • Birger_H
    • vor 7 Jahren
    • Gemeldet - anzeigen
    Innerhalb der nächsten Wochen.

    Birger - Ninox Support
    • Birger_H
    • vor 7 Jahren
    • Gemeldet - anzeigen
    Können Sie mir (support@ninoxdb.de) die Datenbank, an der Sie arbeiten einmal also Kopie zuschicken (Hauptmenü -> "Archiv sichern unter...")? Ich schaue dann gerne einmal hinein.

    Birger - Ninox Support
    • bernd
    • vor 7 Jahren
    • Gemeldet - anzeigen
    danke
    • Ninox Premiumpartner
    • Bastian_Vorholt
    • vor 7 Jahren
    • Gemeldet - anzeigen
    Ich habe ein Script geschrieben um mir ein Jahr generieren zu lassen also in einer Verknpfüten Tabelle Days wird ein Jahr erzeugt. Jetzt habe ich ein zweites Formular gebaut mit dem Namen Tourplan und dort habe ich einmal ein Startdatum und ein Enddatum und ein Funktionsfeld welches mir die Tage errechnet die zwischen den beiden Datumsfeldern liegen. Jetzt würde ich gerne einen Button einbauen mit einem Script welches mir aus der Tabelle Days anhand des Startdatums und des Enddatums die felder mittels Variable und einer for schleife übergibt und die Daten in einen neuen Datensatz Tourplan schreibt um diese wiederum später drucken zu können.
    Habe Testweise in der Days Tabelle ein Textfeld mit der Bezeichnung Name erstellt und dort etwas eingetragen.

    Hier mein Ansatz

    let myID := number(Nr);
    let myDay := 'Start Datum';
    for p in range(0, Tagezaehler) do
    select Days;
    (let myName := Days.Name + p + 1;
    let myTourplan := (create 'Tourplan neu');
    myTourplan.(Day := p + 1);
    myTourplan.(Datum := myDay + p + 1);
    myTourplan.(Name := myName);
    myTourplan.(Years := myID))
    end

    Vereinfacht gesagt wie wähle ich vorhandene Datensätze mittels for schleife und vom Nutzer vorher eingegebenen Suchkreterien aus und setze diese in eine Variable und schreibe zeitgleich die Daten mittels for schleife wiederum in eine neue Tabelle. Leider übergibt er in meinem Ansatz zu viel.
    • mspirig_educationch
    • vor 7 Jahren
    • Gemeldet - anzeigen
    Ich möchte bei einer Mehrfachauswahl das Icon abfragen und es im Drucklayout ausgeben.

    Besten Dank
    Marco
    • Birger_H
    • vor 7 Jahren
    • Gemeldet - anzeigen
    Dies ist derzeit leider noch nicht möglich.

    Birger - Ninox Support
    • Birger_H
    • vor 7 Jahren
    • Gemeldet - anzeigen
    Können Sie mir (support@ninoxdb.de) die Datenbank, an der Sie arbeiten einmal also Kopie zuschicken (Hauptmenü -> "Archiv sichern unter...")? Ich schaue dann gerne einmal hinein.

    Birger - Ninox Support
    • mistrlistr
    • vor 7 Jahren
    • Gemeldet - anzeigen
    Liebe Ninoxer,

    gibt es derzeit die Möglichkeit, 2 Arrays zu verbinden?

    let neuesArray := array1 + array2 funktioniert leider nicht.

    Vielen Dank und Beste Grüße!
    • bernd
    • vor 7 Jahren
    • Gemeldet - anzeigen
    so etwas geht nicht...
    • mistrlistr
    • vor 7 Jahren
    • Gemeldet - anzeigen
    Gibt es dann eine andere Möglichkeit, items aus einem Array herauszuschneiden? Meine Idee war slice(array, 0, 3) + slice(array, 4, 10), aber leider macht er dann nur eine Stringzusammenführung...

    Vielen Dank für die Hilfe!
    • Birger_H
    • vor 7 Jahren
    • Gemeldet - anzeigen
    Herausschneiden ist kein Problem:
    Hier ein wenig Beispielcode:
    –––
    let myArray1 := [1, 2, 81, 45, 6, 342, 4, 223, 43];
    let myArray2 := slice(myArray1, 3, 6);
    item(myArray2, 0)
    –––


    Rückgabewert ist 45.
    Genutzt werden die Funktionen:
    slice(array, start, end) => array; extracts a sub-array
    item(array, index) => value; extracts a single item of an array

    Birger - Ninox Support
    • mistrlistr
    • vor 7 Jahren
    • Gemeldet - anzeigen
    Danke! Es ging mir aber vor allem darum, ein Element aus einem Array zu löschen und das ursprüngliche (jetzt um 1 kleinere) Array zu erhalten. Also sowas wie let newArray := removeItemFromArray(array1, 5)

    Geht so etwas derzeit?
    • Birger_H
    • vor 7 Jahren
    • Gemeldet - anzeigen
    –––
    let myArray := [1, 2, 81, 1, 2, 9 * 5];
    let myNewArray := slice(myArray, 1, count(myArray));
    concat(myNewArray)
    –––

    returns
    2, 81, 1, 2, 45

    Birger - Ninox Support
    • mistrlistr
    • vor 7 Jahren
    • Gemeldet - anzeigen
    Kann ich damit auch ein Element aus der Mitte des Arrays löschen?
    • Holzi
    • vor 7 Jahren
    • Gemeldet - anzeigen
    Wie erfahre ich von der "Veröffentlichung" ?
    • Birger_H
    • vor 7 Jahren
    • Gemeldet - anzeigen
    Werfen Sie schon einmal einen Blick in die beta-Version.

    Birger - Ninox Support

Content aside

  • vor 6 JahrenZuletzt aktiv
  • 493Antworten
  • 134671Ansichten