Untertabelle erscheinen lassen, nur über Mehrfachauswahl
Hey, Ich will mit meiner Mehrfachauswahl Unterschiedliche Untertabellen erscheinen lassen, ist das möglich?
z.B: Sagen wir ich hab in der Mehrfachauswahl: Katze Hund Huhn drin stehen und zu allen 3 eine Untertabelle erstellt.
Jetzt möchte ich aber das dies nur erscheinen wenn ich das jeweilige Tier ( in diesem Beispiel ) ausgewählt habe.
Lg Sören
11 Antworten
-
Hallo Sören,
du kannst bei der Untertabelle mit Katzen im Feld "nur anzeigen wenn" folgende Formel schreiben:
contains(text('MEHRFACHAUSWAHL',"Katze")
bei anderen Tabellen entsprechend "Hund" und "Huhn"
Leo
-
Oh, Klammer vergessen:
contains(text('MEHRFACHAUSWAHL'),"Katze")
-
Hallo Leo.
Ich habe eine Tabelle, das als Gestaltungselement Ansicht alle Datensätze der Tabelle "Arbeitstage" mit select Arbeitstage anzeigt und oberhalt ein Auswahlfeld "Monat".
Wie kann ich es bei mir realisieren, wenn ich mit dem Mehrfachauswahl-Feld "Monat" alle Datensätze anhand des "Beginndatum" filtere?
Muss ich hier mit select case jeden Monat einzeln
contains(text('Monat'),"Januar")...
schreiben?
LG
Peer
-
Wenn Du in dem Mehrfachauswahlfeld jeden Monat einzeln angibst (Januar, Februar, März,..), dann könnte das hier ggf. weiterhelfen (code ist bei dem Gestaltungselement Ansicht einzutragen):
let myMonat := text(MONAT);
myMonat
select Arbeitstage where text(SPALTE WO DER MONAT ENTHALTEN IST) =Vorausgesetzt, in der Tabelle wo die Monate hinterlegt sind, stehen diese auch als Name (Januar, Februar, März,..). Hoffe ich habs richtig verstanden ;-)
-
Wenn ich richtig gelesen habe, ist Monat-ein Mehrfachauswahlfeld. Da würde ich es so angehen:
---
let myARR := numbers(Monat);
(select Arbeitstage)[let myFlag := false;
for i in myARR do
if month(Beginndatum) = i then
myFlag := true
end
end;
myFlag = true]---
Leo
-
Danke, Robert und Leo.
Ich habe mir erstmal Leo's Beispiel zu Brust genommen.
Wennich Leo's Code annähernd richtig verstehe, wird das Auswahllfeld in einen Array gelesen und in der Schleife die Auswahl des Monats mit dem Monat von "Beginndatum" aus "Arbeitstage" verglichen.
Es passiert aber nichts.
Ich habe in einer Ansichtstabelle "Tabelle" (die heißt momentan wirklich nur so) alle Tage von "Arbeitstage" gelistet.
Mit dem Mehrfachauswahlfeld möchte ich die Monate filtern. Später möchte ich das selbe mit dem Jahr auch noch bewerkstelligen.
Beginndatum ist ein fx-Feld, dass nur das Datum aus dem Datums/Zeit-Feld "Arbeitsbeginn" ausliest und in der Liste anzeigt.
Gruß
Peer
-
Bei dem Beispiel von Robert funktioniert es auch (noch) nicht.
Wie du schon geschrieben hast ist Voraussetzung, das "Beginndatum" auch nur den Monatsname hat. Aber eigentlich ist und soll es so sein.
Daher habe ich gedacht, ich ändere es in...
let myMonat := text(Monat);
select Arbeitstage where month(Beginndatum) = myMonatoder auch
let myMonat := text(Monat);
select Arbeitstage where monthName(Beginndatum) = myMonatAber leider führt es nicht zum Erfolg.
-
Ahh. Ich sehe gerade, dass Leo von einem Mehrfachauswahlfeld schreibt. Dem ist nicht so. Jeder Monat wird einzeln gewählt.
-
Hallo Peer,
1. Die ID- im Feld Monat sollten den Monaten entsprechen
2. Die Formel soll bei der Ansichtstabelle geschrieben werden
3. Da ich nicht weiß wie dein fx Feld geschrieben ist, würde ich die Formel so schreiben:
---
let myARR := numbers(Monat);
(select Arbeitstage)[let myFlag := false;
for i in myARR do
if month(date(Arbeitsbeginn)) = i then
myFlag := true
end
end;
myFlag = true]
---
Leo
-
Ok, wenn es ein Auswahlfeld ist (obwohl du selbst anders geschrieben hast) dann ist die Formel von Robert richtig oder, wenn die IDs stimmen:
---
let myCHOICE := number(Monat);
(select Arbeitstage)[ month(date(Arbeitsbeginn)) = myCHOICE]--
Leo
-
Stimmt, Leo. Mein Fehler. Sorry
Jetzt funktioniert es.
Vielen Dank euch beiden.
Content aside
- vor 5 JahrenZuletzt aktiv
- 11Antworten
- 2586Ansichten