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
    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
    • Alexander_Koenig
    • vor 7 Jahren
    • Gemeldet - anzeigen
    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
    • schocki
    • vor 7 Jahren
    • Gemeldet - anzeigen
    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
    • Morris_Hanson
    • vor 7 Jahren
    • Gemeldet - anzeigen
    danke, leider ist die Zeit nicht korrekt es ist 2 stunden zu früh...
    • Birger_H
    • vor 7 Jahren
    • Gemeldet - anzeigen
    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
    • Morris_Hanson
    • vor 7 Jahren
    • Gemeldet - anzeigen
    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
    • Morris_Hanson
    • vor 7 Jahren
    • Gemeldet - anzeigen
    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
    • Birger_H
    • vor 7 Jahren
    • Gemeldet - anzeigen
    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
    • Birger_H
    • vor 7 Jahren
    • Gemeldet - anzeigen
    Dies ist leider derzeit noch nicht möglich. Wir haben es auf unserer Anforderungsliste für künftige Releases.

    Birger - Ninox Support
    • Dominik_Eng
    • vor 7 Jahren
    • Gemeldet - anzeigen
    Kann ich mehrere Datensätze in printRecord() einbeziehen? Also printRecord([1,2,3,4]). Manuell kann man das ja machen aber per Script?
    • Dominik_Eng
    • vor 7 Jahren
    • Gemeldet - anzeigen
    Sorry habe die unteren Einträge nicht beachtet, die Möglichkeit kommt also noch...
    • Morris_Hanson
    • vor 7 Jahren
    • Gemeldet - anzeigen
    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
    • Birger_H
    • vor 7 Jahren
    • Gemeldet - anzeigen
    Jawohl, dies ist möglich. Die Formel würde lauten:
    –––
    popupRecord( item(( select 'Tabellenname')._id, round(random() * cnt(select 'Tabellenname'))))
    –––


    Birger - Ninox support
    • Morris_Hanson
    • vor 7 Jahren
    • Gemeldet - anzeigen
    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!
    • Morris_Hanson
    • vor 7 Jahren
    • Gemeldet - anzeigen
    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
    • Birger_H
    • vor 7 Jahren
    • Gemeldet - anzeigen
    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
    • bernd
    • vor 7 Jahren
    • Gemeldet - anzeigen
    Hallo,

    eine Frage zum Array, da ich damit noch nicht gearbeitet habe: wie kann ich ein zwei dimensionales Array sortieren lassen..-

    VG
    Tauschi
    • Ninox Premiumpartner
    • Bastian_Vorholt
    • vor 7 Jahren
    • Gemeldet - anzeigen
    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?
    • Ninox Premiumpartner
    • Bastian_Vorholt
    • vor 7 Jahren
    • Gemeldet - anzeigen
    Habe zumindest die Uhrzeit schon getrennt bekommen, mit Formelfeldern. Müsste ja mit dem Datum auch funktionieren?
    • Ninox Premiumpartner
    • Bastian_Vorholt
    • vor 7 Jahren
    • Gemeldet - anzeigen
    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?
    • Birger_H
    • vor 7 Jahren
    • Gemeldet - anzeigen
    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
    • Birger_H
    • vor 7 Jahren
    • Gemeldet - anzeigen
    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
    • wolfilein
    • vor 7 Jahren
    • Gemeldet - anzeigen
    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!)
    • FML
    • vor 7 Jahren
    • Gemeldet - anzeigen
    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
    • FML
    • vor 7 Jahren
    • Gemeldet - anzeigen
    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