0

Dynamische Auswahldfehld funfktioniert diese Formel nicht mehr

Liebes Forum ,

 

ich habe folgendes Problem. Ich habe das Auswahlfeld durch ein Dynamisches Feld ersetzt. Nur er zeigt mir in der Ansicht nichts mehr. Muss ich beim Dynamischen Auswahlfeld noch was beachten-

Hier ist die Formel.

let me := this;
select 'Arbeitszeit gearbeitet'
where text('Name Mitarbeiter') = text(me.'Auswahl (dynamisch)') and year(Datum) = text(me.Jahr) and if me.Monat then
month(Datum) = me.Monat
else
true
end

 

Dankeschön

7 Antworten

null
    • Leonid_Semik
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Hallo Thomas, 

    das dynamische Feld gibt eine record ID zurück, also wenn du den Text haben möchtest, sollte es in etwa so aussehen

     

    record(TABELLENNAME,number(me.DynAUSWAHL)).TEXTFELD

     

    Leo

    • RMS Immobilière
    • Arsene_Nickels
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Hallo Leo

    nein, per text(...) kann man durchaus die Auswahl direkt bekommen (solange es kein dynamisches Mehrfachauswahlfeld ist).

    Sollte eigentlich so funktionieren, aber der Vergleich zwischen year(Datum) (numerisch) und text(me.Jahr) (Text) dürfte ein Problem darstellen

    • Thomas_Forster
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Was mach ich falsch ? Mit der Formel Leo sagt er mir er kann die Tabelle nicht finden. Ich habe mal ein Bild angehängt .

    • mirko3
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Vorschlag like Leo. TABELLE=Tabellenname die die Mitarbeiternamen enthalten, FELD=Feldname für die Mitarbeiternamen

    *

    let ID := number('Auswahl (dynamisch)');
    let name := record(TABELLE,ID).FELD;
    let jahr := text(Jahr);
    let monat := text(Monat);
    (select 'Arbeitszeit gearbeitet')[year(Datum) = jahr and monthName(Datum) = monat and 'Name Mitarbeiter' = name]

    *

    • Thomas_Forster
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Leider tut sich da nichts. Er zeigt nichts an. Das dynamische Feld wird als Text ausgeben.

    Die Formel ist für eine Ansicht . Muss da noch was beachten ?

    • mirko3
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Noch zwei Tips. Wenn das dynamische Auswahlfeld auf die gleiche Tabelle verweist, dann so:

    *

    let ID := number('Auswahl (dynamisch)');
    let name := record('Arbeitszeit gearbeitet',ID).Name;
    let jahr := text(Jahr);
    let monat := text(Monat);
    (select 'Arbeitszeit gearbeitet')[year(Datum) = jahr and Name = name and monat = monthName(Datum)]

    *

    wenn es eine andere Tabelle ist, mußt Du die Einträge in der Zeile 2 ändern. Wenn es immer noch nicht klappt, dann schreibe mal, was Du in den Einstellungen des dynamischen Auswahlfelds eingetragen hast.

    2. Prüfe, ob der Filter in Deiner Tabelle auch einen Wert hat (Thomas Förster, 2021, Juli) sonst bleibt die Ansicht natürlich leer. Die if-Konstruktion kannst Du Dir sparen, da du mit dem Vergleichsoperator "and" arbeitest. Wenn die Bedingung nicht erfüllt ist, bleibt ja die Ansicht ohnehin leer. Gruß Mirko

    • Leonid_Semik
    • vor 3 Jahren
    • Gemeldet - anzeigen

    year(Datum) gibt eine Zahl zurück. Man muss beim let jahr entsprechend ändern

    let jahr:=number(text(Jahr))

     

    Leo