Eintrag/Farbe im Kalender nur beim Zutreffen einer Bedingung möglich?
Hallo zusammen,
ich möchte gerne den Kalendereintrag und die Farbe nur eintragen lassen, wenn eine bestimmte Bedingung erfüllt ist. Wie muss die Befehlszeile in „Anzeigen als" lauten, damit das funktioniert?
Wenn das Feld „Zahl" gefüllt ist, soll der Eintrag und die Farbe im Kalender erscheinen, wenn das Feld leer ist, soll auch kein Eintrag/Farbe erfolgen
Aktuell sieht das ganze noch so aus, weil ich in der Tabelle „Statistik" für jeden Tag auch ein Datum eingetragen habe
Bei der Befehlszeile scheitere ich aktuell daran, den Eintrag/Farbe als leer einzutragen, wenn die Zahl gefüllt ist. Bisher habe ich nur die Lösung gefunden, wenn andere Angaben aus den Tabellenfeldern angezeigt werden sollen.
Über Tipps würde ich mich freuen
Viele Grüße
Markus
8 Antworten
-
Hallo Markus, die Farbe allein ließe sich über die styled()-Funktion ändern, die Anzeige an sich m. W. jedoch nicht. Man könnte aber ein zweites Datumsfeld erstellen und beim Eintrag einer Zahl automatisch mit dem Wert des ersten Datumsfeldes befüllen. Dazu im Feld "Zahl" unter "Nach Änderungen" folgenden Code eintragen:
if Zahl != null then
Datum2 := Datum
else
Datum2 := null
end
Das zweiten Datumsfeld (Datum2) könnte man ausblenden, so dass man es im Formular nicht sieht. Und die Einstellung "Im Kalender anzeigen" würde man bei "Datum" auf "Nein" setzen, bei "Datum2" auf "Ja". Es würden dann im Kalender nur noch Daten der Datensätze angezeigt, bei denen das Feld ZAHL einen Inhalt hat.
-
PS: Wenn du die Farbe (oder den Text) eines Kalendereintrags in Abhängigkeit einer Bedingung ändern willst, dann kannst du das über einen entsprechenden Code bei "Anzeigen als" steuern. Wenn also bspw. der Kalendereintrag in Orange angezeigt werden soll, falls die Zahl größer 10 ist, dann müsste das so gehen:
if Zahl > 10 then
styled("Anzeigetext", "Orange")
end
-
Hallo Copytexter, vielen Dank für die schnelle Antwort, das werde ich nachher gleich mal testen
-
Cool, das funktioniert schon mal bei der Neueingabe. Wie bekomme ich es denn hin, dass die anderen Felder nachträglich gefüllt werden, also dass das Datum eingetragen wird, wenn die Zahl gefüllt ist?
-
Am schnellsten über die "Massendatenänderung" (im Zahnradmenü). Dort beim Feld 'Datum2' (oder wie es bei dir heißt) "Berechneten Wert zuweisen" auswählen und folgenden Code eingeben:
if Datum and Zahl and not Datum2 then
Datum
end
Angaben wie immer ohne Gewähr! Aber wenn man dann unten rechts auf "Weiter" klickt, dann sieht man die Auswirkung und kann den Vorgang ggf. noch abbrechen (oder die "Änderungen durchführen").
-
Bevor ich die Massenänderungen durchführe, wollte ich noch die Formatierung anpassen. Hiermit werden mir die jeweiligen Zahlen angezigt, solange die Felder gefüllt sind, das klappt auch alles
if Zahl = 1 then
styled(if Zahl then Zahl end + if 'Feld 0,5' then " | " + 'Feld 0,5' end + if 'Feld 1' then " | " + 'Feld 1' end + if 'Feld 2' then " | " + 'Feld 2' end, "Green")
else
if Zahl = 2 then
styled(if Zahl then Zahl end + if 'Feld 0,5' then " | " + 'Feld 0,5' end + if 'Feld 1' then " | " + 'Feld 1' end + if 'Feld 2' then " | " + 'Feld 2' end, "Orange")
else
if Zahl > 2 then
styled(if Zahl then Zahl end + if 'Feld 0,5' then " | " + 'Feld 0,5' end + if 'Feld 1' then " | " + 'Feld 1' end + if 'Feld 2' then " | " + 'Feld 2' end, "Red");
end
end
Aber eigentlich möchte ich auch die Zahl 0 anzeigen, wenn das Feld nicht gefüllt ist. Also z.B.: 1 | 0 | 0 | 1
Wenn ich dann diesen Ausdruck ergänze, wird mir allerdings ein Fehler angezeigt
+ if 'Feld 0,5' then " | " + 'Feld 0,5' else 0 end
Wo kann denn da der Fehler liegen?
Schöne Weihnachten wünsche ich
Markus
-
Hallo Markus,
der Fehler liegt an der Formatierung. Du versuchst die Zahl in ein Text einzubringen. Ich würde die 0 mit anführungzeichen umklammern:
+ if 'Feld 0,5' then " | " + 'Feld 0,5' else " | 0" end
Leo
-
Perfekt
so funktioniert es. Hatte mich wohl etwas irritieren lassen weil dieser Code funktioniert hatte
if Zahl then Zahl else 0 end
Danke Dir, Markus
Content aside
- vor 5 JahrenZuletzt aktiv
- 8Antworten
- 2505Ansichten