0
Text- und Datumsfunktionen
Hallo,
ich habe lange gesucht um eine einfach zu konfigurierende Datenbank zu finden. Super Arbeit.
Ich bräuchte jedoch noch eine Wochenauswertung (Gruppierung) Jahr/Woche(Datum) wäre das möglich noch zu ergänzen?
Besten Dank
MfG
Jens
ich habe lange gesucht um eine einfach zu konfigurierende Datenbank zu finden. Super Arbeit.
Ich bräuchte jedoch noch eine Wochenauswertung (Gruppierung) Jahr/Woche(Datum) wäre das möglich noch zu ergänzen?
Besten Dank
MfG
Jens
254 Antworten
-
Hallo, haben Sie einen Trigger auf Tabellenebene angelegt? Das geht im Tabelleneditor. Öffnen Sie die Tabelle. Klicken Sie auf "Felder bearbeiten". Im Tabelleneditor können sie auf der linken Seite "Nach Änderung folgendes Script ausführen" wählen. Der Trigger wird ausgelöst wenn ein beliebiges Feld der Tabelle geändert wird.
VG, Alex -
Hallo,
gibt es eine Funktion um zu prüfen, ob ein (Text) Feld einen Inhalt hat? Ich habe mit:
if text = "" then "leer" else "irgendwas"
nicht wirklich Erfolg gehabt, lediglich der holprige Umweg per:
if text + "x" = "x" then "leer" else "irgendwas"
funktioniert aber das ist weniger schön. isEmpty(text) oder length(text) oder ähnliches wäre schön, ich konnte aber nichts dergleichen finden.
Vielen Dank im Voraus! -
Danke, hat sich erledigt, if text = null then ... hat geholfen!
-
Hallo zusammen,
ich bin neu bei Ninox, kenne aber andere Systeme ganz gut; SQL, FileMaker etc. Wahrscheinlich sehe ich etwas Offensichtliches nicht... Ich suche eine Funktion, die mir die Länge eines Strings liefert und finde die nicht. Ich will in Feldern mit "Name, Vorname" den Namen und den Vornamen extrahieren, die Position bis zum Komma zu finden und den Namen zu extrahieren ist einfach, aber vom Komma bis zum Ende ginge es mit der Längenfunktion einfacher. Kann da jemand helfen?
Viele Grüße
m.g. -
Hallo,
die Länge eines Strings kann soweit ich weiß nicht ausgelesen werden.
Wenn man für lenght in substr. einen Wert wählt, der auf jeden Fall länger als der längste Name ist wird nur der Name übernommen.substr(Text, index(Text, ",") + 2, 50)
VG, Alex -
Danke für die Antwort, genau so habe ich es auch gemacht. Finde das aber ein gewisses Manko, da man ja manchmal durchaus die Länge eines Strings berechnen möchte (oder muß!), insbesondere, wenn man vorher whitespaces "weggetrimmt" hat, wäre es ja schon ein ziemlicher Umstand die Länge über irgendwelche Umwege zu erzeugen (i.e. selbst zu programmieren). Aber vielleicht kommt das ja noch in einer nächsten Version :-)
Viele Grüße
m.g. -
Guten Tag,
Wie kann ich aus einem Text die Zahlen extrahieren? Für einzelne Bespiele z.B. "120 min" => 120 kann ich die Formel number(substr(Text, 0, index(Text, "min"))) benutzen.
Ich habe aber 12000 Datensätze, wo ich min, s, h und auch andere Maßeinheiten an der zweiten Stelle habe. Dazu kommt es, dass bei vielen Datensätzen die Leerzeichen zwischen Zahl und Text fehlen. Ziel ist es, die Zahlen und die dazugehörigen Texte in separaten Spalten zu platzieren.
Gruß Leo -
Einen Königsweg gibt es dafür leider nicht. Reguläre Audrücke - mit denen so etwas möglich wäre - stehen auf dem Plan.
Viele Grüße, Frank -
Das Problem mit den Leerzeichen lässt sich mit replace(string, search, replace) also in diesem Fall replace('Feld mit Text', " ","") lösen
-
Hallo Schocki,
Danke, replace hatte ich bei Ninox noch nicht gesehen. Hilft mir zwar nicht weiter - ich brauche eher eine umgekehrte Funktion welche mir ein Leerzeichen zwischen Zahl und Buchstabe setzt, trotzdem eine nette Funktion.
Frank, gibt es außer replace noch Funktionen, welche nicht im Sprachreferenz aufgelistet sind?
Gruß Leo -
Hallo zusammen!
Ich habe eine Datenbank für Mitglieder erstellt. Diese können natürlich kündigen. Solange diese nicht gekündigt haben, gibt es ein Optionsfeld Aktiv. Wenn sie kündigen mit Vertragsende Datum, trage ich das ins entsprechende Feld ein. Wenn dieses Datum erreicht wird, sollte aus Aktiv, Inaktiv werden, damit der Datensatz nicht mehr in der Tabelle angezeigt wird. Wie kann ich das realisieren? Vielen Dank vorab!
Grüße
Selcuk -
Hallo Selcuk,
Ich würde statt Optionsfeld ein Berechnungsfeld "Mitgliedschaft" und ein Datumsfeld "Vertragsende" einsetzen. Wenn das Mitglied aktiv ist, bleibt das Feld "Vertragsende" leer. Bei Kündigung trägst du das Datum ein.
Das Feld "Mitgliedschaft" hat dann die Formel:
if Vertragsende-today()>=0 then "inaktiv" else "aktiv"
Gruß
Leo -
Hallo Leo! Vielen Dank für deine Antwort. Das macht auf jeden Fall Sinn! Wobei ich im Editor eine Fehlermeldung bekomme. Error in Spalte 31 (Unerwartetes Symbol) Bin leider totaler Neuling...
Grüße, Selcuk -
Hallo Selcuk,
Versuch mal damit:
if Vertragsende > today() or Vertragsende = null then
"aktiv"
else
"inaktiv"
Hier die Beispielsdatenbank
https://www.dropbox.com/s/b7enjmpbc0014a1/Mitglieder.ninox?dl=0
Gruß
Leo -
Vielen vielen Dank Leo!
Hast mir super geholfen!
Grüße
Selcuk -
hallo zusammen,
also, wie man das alter einer person aus dem Geburtstag heraus berechnen lässt, ist mir leider schleierhaft. außerdem hätte ich gerne eine Meldung von runden Geburtstagen - wie geht das?
dank und Gruß,
helmut -
Hallo Helmut,
das Alter kann man mit der Funktion "Alter()" auslesen. Die Funktion findet man im Formel Editor unter Text/Datum. Den "Alter" Block auf die Fläche ziehen und dann das Datum.
Zur Ermittlung von runden Geburtstagen gibt es eine Vorlage: http://manual.ninoxdb.de/de/category/vorlagen/
Eine Meldung kann leider nicht erstellt werden. In eine Ansicht werden aber alle aktuellen runden Geburtstage angezeigt.
Bei Fragen auch gerne an support@ninoxdb.de schreiben.
VG, Alex -
tut mir leid, Alex, aber weder das ziehen von Datum, Heute oder Jetzt führt zu einem Erfolg - entweder ist die Funktion "nicht definiert" oder "ein Parameter fehlt".
Danke, und vielleicht weißt du weiter?
Helmut -
Hallo Helmut,
zuerst die Funktion "Alter()" auf die Fläche ziehen. Die FUntkion ist unter "Text / Datum" zu finden.
Dann das Feld Datum aus "Felder" hinein ziehen. Also das Geburtsdatum.
Bei Fragen gerne auch support@ninoxdb.de schreiben. Wir schicken dann einen Screenshot.
VG, Alex -
sorry, aber das Feld "Geb.Datum", in dem die Geburtstage in TT.MM.JJJJ Form stehen, lässt sich gar nicht auf die Fläche ziehen. was nun?
VG, Helmut -
Hallo Helmut,
man kann "Berechnungs" Felder im Tabellen Editor anlegen.
- Wenn es in der Tabelle ist können mit Klick darauf die Feld Einstellungen geöffnet werden.
- Dort kann man auf Funktion klicken um den Formel Editor zu öffnen. - Im Formel Editor kann unter der Rubrik "Text / Datum" die Funktion "Alter" auf die Fläche gezogen werden. Dann wieder zurück in Felder kann das Feld mit dem Geb. Datum hinzugefügt werden.
Hilft das weiter? Sonst gerne auch an support@ninoxdb.de schreiben.
VG, Alex -
nein, leider nicht, denn eben so habe ich es mehrfach versucht. ich kann in Felder das Feld Geb.Datum zwar mit der maus nehmen, aber nach dem ziehen auf die fläche heftet es sich nicht an die gelben aktiven Bereiche an, sondern verschwindet im Nirwana.
muss das Feld geb.datum eine bestimmt Formatierung haben? muss das vielleicht auf drei spalten verteil werden mit tag, Monat, Jahr?
danke, helmut -
Hallo, bitte mal anders herum versuchen. D.h. die Fläche im Formel Editor ganz leer machen. Dann das Datum herauf ziehen und dan die Funktion "Alter()". Wenn das Problem weiter besteht bitte einen Screenshot schicken.
VG -
danke, lieber Alex,
deine letzte Anweisung hat sofort funktioniert!
Leider gab es keinen Antwortenlink unter deinem Rat, deshalb antworte ich dir hier auf die letzte Frage.
Herzliche Grüße
Helmut -
Hallo,
habe bisher mit Filemaker gearbeitet. Aber für privaten Gebrauch zu teuer und zu komplex. Bei Ninox gefällt mir die Verbindung iMac mit iPad und die Nutzung der iCloud.
An die Zwangsgestaltung der Oberfläche habe ich mich auch gewöhnt und kann damit arbeiten.
Was ich vermisse ist die Textverkettung. Ich würde gerne aus verschiedenen Feldern einen eindeutigen Schlüssel bilden. Aber ich finde keine Textfunktion hierzu oder habe ich etwas übersehen.
Content aside
- vor 6 JahrenZuletzt aktiv
- 254Antworten
- 72863Ansichten