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 10 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 10 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 10 Monaten
      • Gemeldet - anzeigen

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

    • Basti.1
    • vor 10 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 10 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 10 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 10 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!

Content aside

  • Status Answered
  • vor 10 MonatenZuletzt aktiv
  • 7Antworten
  • 76Ansichten
  • 3 Folge bereits