0

Stunden des Monats für den angemeldeten Nutzer anzeigen

Hallo Zusammen,  wieder einmal liegt es an einer Kleinigkeit bei der ihr mir sicherlich helfen könnt.

In der Zeiterfassung sollen im Dashboard die bisher erfassten Stunden des Monats des jeweils angemeldeten Nutzers angezeigt werden. 

let myMA := first(select Mitarbeiter where 'Ninox-Nutzer' = user());
sum((select Zeiterfassung where myMA and yearmonth('Datum Von') = yearmonth(today())).StundenSummeZahl)

Wo ist der Fehler? 

Er summiert immer alle erfassten unabhängig vom Nutzer oder es kommt nur eine Null heraus.

Danke schonmal für eure Hilfe!

7 Antworten

null
    • Rjen_Knight
    • vor 2 Monaten
    • Gemeldet - anzeigen

    Hallo Basti

    Meiner Meinung nach liegt der Fehler im 2. select: ... where myMA.... da fehlt das = für das Feld, das auf den Mitarbeiter zeigt. Du hast eine Tabelle Zeiterfassung die über ein Beziehungsfeld auf einen Mitarbeiter zeigt und dieses Feld muss gleich myMA sein, die den aktuellen Mitarbeiter enthält.

    • Basti.1
    • vor 2 Monaten
    • Gemeldet - anzeigen

    Hallo Piit, danke für deine Idee. Aber das haut auch noch nicht hin.

    let myMA := first(select Mitarbeiter where 'Ninox-Nutzer' = user());
    sum((select Zeiterfassung where user() = myMA and yearmonth('Datum Von') = yearmonth(today())).StundenSummeZahl)
    
      • Michi.1
      • vor 2 Monaten
      • Gemeldet - anzeigen

      was gibt den myMa als wert aus? Du prüfst im 2.select auf user

    • Basti.1
    • vor 2 Monaten
    • Gemeldet - anzeigen

    also bei 

    let myMA := first(select Mitarbeiter where 'Ninox-Nutzer' = user());
    myMA
    

    bekomme ich den Wert "36" ausgegeben, was die Datensatznummer aus der Mitarbeiter-Tabelle ist.

      • Michi.1
      • vor 2 Monaten
      • Gemeldet - anzeigen

       

      myMA : Rückgabe ist die Record-Nr. in deinem fall 36. Du benötigst aber für den Vergleich user() = myMA den Text von Ninox-Nutzer.

      let myMA := first(select Mitarbeiter where 'Ninox-Nutzer' = user()).'Ninox-Nutzer' 
    • Basti.1
    • vor 2 Monaten
    • Gemeldet - anzeigen
    let myMA := first(select Mitarbeiter where 'Ninox-Nutzer' = user()).'Ninox-Nutzer';
    sum((select Zeiterfassung where user() = myMA and yearmonth('Datum Von') = yearmonth(today())).StundenSummeZahl)
    

    myMA gibt mir jetzt wenigstens schonmal den korrekten user aus, aber an der Stundensumme ändert sich nichts. Er summiert immernoch alle vorhandenen Stunden von allen.

    • Basti.1
    • vor 2 Monaten
    • Gemeldet - anzeigen

    So, in der offenen Sprechstunde konnten wir mein Problem heute lösen.

    let myMA := first(select Mitarbeiter where 'Ninox-Nutzer' = user());
    sum((select Zeiterfassung where Mitarbeiter = myMA and yearmonth('Datum Von') = yearmonth(today())).StundenSummeZahl)
    

    Und dann hatte ich leider auch noch einen Fehler in der Mitarbeiterbeziehung zur Stundenerfassung. Aber nun läuft es. DANKE!