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
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
-
Hallo
Gibt es eine Funktion, die (wie "icon(choice)") das Icon aus einer Mehrfachauswahl zurückgibt?
Besten Dank
Marco -
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 -
Die Formel lautet genau so:
–––
icon('Name des Auswahlfelds')
–––
Birger - Ninox Support -
Mehrdimensionale Arrays werden derzeit noch nicht unterstützt.
Birger - Ninox Support -
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 -
Besten Dank für die Antwort.
Klappt leider nicht: Ich erhalte einen Error: Die Funktion icon(multi) ist nicht definiert. -
Die Formel muss lauten
–––
icon("multi")
–––
Birger - Ninox Support -
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 -
Hallo.
Wann wird das überarbeitete PDF Handbuch zur Verfügung stehen?
Vielen Dank im Voraus.
MfG schocki -
Innerhalb der nächsten Wochen.
Birger - Ninox Support -
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 -
danke
-
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. -
Ich möchte bei einer Mehrfachauswahl das Icon abfragen und es im Drucklayout ausgeben.
Besten Dank
Marco -
Dies ist derzeit leider noch nicht möglich.
Birger - Ninox Support -
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 -
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! -
so etwas geht nicht...
-
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! -
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-arrayitem(array, index)
=> value; extracts a single item of an array
Birger - Ninox Support -
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? -
–––
let myArray := [1, 2, 81, 1, 2, 9 * 5];
let myNewArray := slice(myArray, 1, count(myArray));
concat(myNewArray)
–––
returns2, 81, 1, 2, 45
Birger - Ninox Support -
Kann ich damit auch ein Element aus der Mitte des Arrays löschen?
-
Wie erfahre ich von der "Veröffentlichung" ?
-
Content aside
- vor 6 JahrenZuletzt aktiv
- 493Antworten
- 134671Ansichten