Globaler Filterwert
Hallo liebes Forum,
mich beschäftigt folgende Frage: Ich arbeite in einer meiner Datenbanken mit einer Versionierung. Das heißt es gibt Version 1.0 und Version 2.0 von verschiedensten Daten. Diese werden in einer eigenen Tabellenspalte eingetragen. Diese Daten werden in verschiedenen Tabellen, nach der Versions Nummer in der Spalte gefiltert. Jetzt wäre für mich die Frage ob es Möglich ist einen Globalen Filterwert einzustellen. D.h. wenn ich eine neue Version hinzufüge, das mir über all wo ich den Filterwert auf 2.0 eingestellt habe, z.B. automatisch auf 3.0. eingestellt wird. So muss ich durch alle Tabellen klicken, und den Filterwert manuel ändern. Man kann ja leider im Filterfeld keine Funktion einfügen. Sonst könnte ich es mit einem eigenen Feld verknüpfen welche ich nur einmal verändere. Ich hoffe ich hab meine Sachlage, verständlich erklärt.
Noch mal anderesrum gefragt, kann man im Filterfeld für eine Spalte eine Funktion einfügen?
Danke euch schon mal im voraus für eure Hinweise!
6 Antworten
-
Hallo Rafael,
evtl. helfen Dir die globalen Funktionen hierbei? Dort erstellst Du z.B. eine Funktion
function FilterV() do
"3.0"
end
In Deinen Filtern ersetzt Du dann den aktuellen Textwert "2.0" einfach durch
FilterV()
. Willst Du global ändern, einfach die globale Funktion anpassen.Ist es das, was Du willst?
-
Hallo Torsten,
das klingt genau nach dem was ich suche! Allerdings habe ich es noch nicht hinbekommen. Ich habe nun in den Datenbank Einstellungen>Optionen>"Globale Funktionsdefinition" deine Funktion eingegeben.
Und bei einer Tabelle in der Spalte, in den Filter "FilterV()" eingegeben. Aber der Filter schlägt nicht an. Wie erkennt NINOX eigentlich, dass FilterV() sich auf eine globale Funktion bezieht und nicht das Suchwort selbst ist?
-
was hattest Du vorher im Filter? sowas wie
="V3.0"
dann muss da jetzt
=FilterV()
rein.
-
Ja genau, davor hatte ich z.B. "3.0" oder "1.0", wenn ich ins Filter Feld "FilterV()" eingebe, filtert er nach "FilterV()" und nicht nach "3.0", ich denke mal, er erkennt nicht dass es sich bei "FilterV()" um eine Variable sondern um den Text "FilterV()" handelt. Gibt es da noch etwas, was ich beachten muss?
-
hm, tatsächlich kann Ninox mit der globalen Variable im Filter offenbar nicht umgehen.
Workaround: im von Dir geposteten Eigenschaften-Fenster der Spalte unter f(x) wie folgt einfügen:
if Version=FilterV() then Version else "xxx" end
und dann im Filter
!="xxx"
so rum geht's, hab ich gerade gestestet.
-
Ja, das wäre auf jeden Fall die feine Variante, wenn man die globale Variable in das Filterfeld einbauen könnte. Dein Workaround funktioniert auf jeden Fall! Allerdings so wie ich es benötige genau verkehrt herum:
if Version=FilterV() then "xxx" else Version end
sonst werden diese Felder auf xxx umgeschrieben, die NICHT die globale Variable von z.B. "1.0" haben. Dann werden diese rausgefiltert die ich eigentlich bräuchte.
Danke dir, für den Workaround, damit mit kann ich vorerst arbeiten. Ich werde aber auf jeden Fall den Vorschlagn noch einbringen, das man in Filterfelder auch Funktionen einbauen kann.
Danke!
Content aside
- vor 3 JahrenZuletzt aktiv
- 6Antworten
- 312Ansichten