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, "order by" ist noch nicht möglich.
Wir arbeiten derzeit an einem überarbeiteten pfd des Handbuchs, dass wir hoffentlich in der nächsten Woche bereit stellen können.
Birger - Ninox Support -
Hallo, ja so sollte es gehen.
Bei Nr muss die ID des Datensatzes stehen.
Hier ein Beispiel:
http://manual.ninoxdb.de/wp-content/uploads/2017/09/openRecord.ninox
Viele Grüße, Alex -
Hallo Birger.
Im August hieß es "order by" würde mit dem nächsten Update kommen.
Wie sieht der Zeitplan für diese Funktion aus?
MfG schocki -
danke, leider ist die Zeit nicht korrekt es ist 2 stunden zu früh...
-
Diese Problem kann ich nicht nachvollziehen. Können Sie mir (support@ninoxdb.de) die Ninox-Datanbank, an der Sie arbeiten, einmal zuschicken, dann schau ich gerne rein.
Birger - Ninox Support -
Danke! Habe nochmals alles geprüft, und festgestellt, dass mein Zeitfeld auch Sekunden ausgegeben hat. Deshalb war die zu berechende Zeit falsch. Habe das korregiert und es funktioniert jetzt. Vielen Dank!
Lg Rene -
Liebes Ninox Team!
Ist es möglich, per Bedienschaltfläche SerienPDFs zu öffnen (für alle Datensätze, die in der Tabelle Sichtbar sind?)
wenn ich mit openPrintLayout arbeite, dann wird mir lediglich das PrintLayout von einem Record angezeigt, es fehlt auch im oberen Bereich der Button für alle Datensätze.
Ich würde es aber gerne mit printRecord machen, allerdings mit allen Records gleichzeitig. Ist das irgendwie möglich, vielleicht mir einem Workaround? Danke -
Ja, du hast Recht. "order by" hat es nicht mehr in das aktuelle release geschafft - es wird im nächsten release (noch in diesem Jahr) kommen.
Birger - Ninox Support -
Dies ist leider derzeit noch nicht möglich. Wir haben es auf unserer Anforderungsliste für künftige Releases.
Birger - Ninox Support -
Kann ich mehrere Datensätze in printRecord() einbeziehen? Also printRecord([1,2,3,4]). Manuell kann man das ja machen aber per Script?
-
Sorry habe die unteren Einträge nicht beachtet, die Möglichkeit kommt also noch...
-
Ich würde gerne mit einem Button einen Datensatz randomisiert auswählen. Die Menge der Datensätze ändert sich aber, also würde ich folgendes benötigen:
let COUNT := cnt(select Tabelle).Nr;
let RND := random (1, COUNT);
popupRecord(RND)
Wie kann ich sowas in Ninox umsetzen, Danke -
Jawohl, dies ist möglich. Die Formel würde lauten:
–––
popupRecord( item(( select 'Tabellenname')._id, round(random() * cnt(select 'Tabellenname'))))
–––
Birger - Ninox support -
super, Danke.
habs schon probiert. Perfekt.
Wie schaffe ich es jetzt, dass ich in dem neu aufgepoppten Datensatz mit der gleichen Schaltfläche ein Ja Nein Feld verändere..
habs mit
let VVV := first(select 'Tabellenname' where Nr=RND)
VVV.Frage := true
versucht, die Frage wird aber nicht auf true gesetzt..
Danke! -
sorry, habs mit item geschafft, obwohl ich die genaue funktion von item nur aus dem kontext schließe...
die dafür angewendete formel lautet
item(select 'Tabelle', RANDOMNR).('FRAGE?' := RRR)
hab jetzt noch eine andere Frage diesbezüglich:
ist es möglich gewisse Datensätze die einem Kriterium nicht entstprechen aus der Randomisierung ausszuschließen?
Wenn also ein JA/NEIN Feld einen falschen Wert hat, soll dieser Datensatz nicht als Randomisierte Nummer generiert werden.
Danke -
Jawohl, dies ist natürlich möglich. Die Formel würde in diesem Fall in etwa so lauten (Im Beispiel werden nur solche Datensätze gewähl, die in einem Feld namens Ja/Nein-Feld' den Wert "Ja" haben):
–––
popupRecord( item(( select 'Tabellenname'['Ja/Nein-Feld' = true])._id, round(random() * cnt(select 'Tabellenname'['Ja/Nein-Feld' = true]))))
–––
Birger - Ninox Support -
Hallo,
eine Frage zum Array, da ich damit noch nicht gearbeitet habe: wie kann ich ein zwei dimensionales Array sortieren lassen..-
VG
Tauschi -
Wie kann ich einen Termin mit Datum und Uhrzeit in den Kalender schreiben ohne das Terminfeld zu nutzen. Problem ist wenn ich später den Termin auf dem Drucklayout ausgeben möchte, er immer beides gemeinsam ausgibt und das sieht sehr unschön aus da ich es gerne trennen würde. Gibt es da eine andere Möglichkeit? Oder kann ich es im Drucklayout trotzdem getrennt ausgeben ohne die Deutsche Datumsschreibweise zu verlieren?
-
Habe zumindest die Uhrzeit schon getrennt bekommen, mit Formelfeldern. Müsste ja mit dem Datum auch funktionieren?
-
Ich habe eine Tabelle mit Playlisten und eine Bezugstabelle mit den Titeln nun möchte ich auf die einzelnen Zeilen in der Tabelle zugreifen. Ich bekomme es aber nur für den ersten und letzten Datensatz hin
first(Playlist.'Name des Titels')
leider aber nicht für die weiteren spalten. Gibt es dafür noch eine weitere Möglichkeit? -
Versuchen Sie es so:
Erstellen Sie ein weiteres Feld "DatumUhrzeit". Für den Termin geben Sie die folgende Formel in das Eingenschaftsfeld "Nach Änderungen solfendes Script ausführen":–––
'DatumUhrzeit' := start('Termin-Feld')
–––
Birger - Ninox Support -
Um das fünfte Element anzusprechen verwenden Sie:
–––
item(Playlist, 4).'Name des Titels'
–––
Bitte beachten Sie, dass die Zählung mit 0 beginnt.
Birger - Ninox Support -
Bisher konnte ich kein Handbuch der Scriptsprache finden. Würde gerne wissen, ob sich damit eine eigene Benutzeroberfläche für eine relationale Börsendatenbank programmieren lässt, und ob es möglich wäre, Börsenkurse aus exportierten Ascii-Files von Taipan (Windows Börsenprogramm von Lenz&Partner) in die Depotverwaltung einzulesen. (hatte diese Frage schon am 25.9. per e-mail gestellt, aber leider bisher ohne Antwort!)
-
Hallo liebe Ninoxer :-)
Ich hoffe mir kann jemand einen kleinen Schupps geben, folgende Situation:
Eine Rechnungsdatenbank, zur Verwaltung von ausgehenden Rechnungen; Bei Erstellung eines neuen Datensatzes soll automatisch eine selbst hochzuhälende Rechnungsnummer generiert werden. Folgender Code funktioniert leider nicht wie ich es mir gedacht habe:
—
Rechnungsnummer := last(Rechnungsnummer) + 1
—
Wenn ich nun einen neuen Datensatz anlege wird immer nur „1“ als Rechnungsnummer angezeigt ohne hoch zählen, hat jemand eine Idee die mir weiterhilft?
Beste Grüße
Phil -
Hallo nochmal Ninoxer :-)
ich habe das ganze jetzt mit einer Schleife gelöst:
----
let lastEntry := 0;
for c in (select Rechnung) do
if c.Rechnungsnummer > lastEntry then
(lastEntry := c.Rechnungsnummer);
Rechnungsnummer := lastEntry + 1
---
Im Grund müsste doch der obige Einzeiler genau diese Zeilen hier abdecken oder sehe ich das falsch?
Ist diese Schleife auch bei größeren Datenmenge noch performant?
Grüße
Content aside
- vor 6 JahrenZuletzt aktiv
- 493Antworten
- 134671Ansichten