Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

eine Tabelle mit Kalenderdaten erstellen

Begonnen von teamdj, Juni 24, 2016, 10:29:13

⏪ vorheriges - nächstes ⏩

teamdj

#45
Hallo Lauchtaube,
habe noch ein Problem ....
wenn ich in der Abfrage [ABFStundenMitarbeiter] in der Spalte [Sondertage]
aus der Auswahlliste "Urlaub" eintrage soll in der Spalte [IstStd] 8,00 stehen und in der
Spalte [Urlaub] eine 1 stehen.  <<< die 1 wird geschrieben aber die 8,00 Stunden nicht.
Bei Krank funktioniert das.

muss ich den Fehler in diesem Code von Dir suchen ?

***********************
SELECT DatePart("ww",sm.[TDatum],2,2) AS KW,
       sm.TDatum                      AS Tag,
       sm.TDatum,
       sm.Sondertage,
       sm.von,
       sm.bis,
       sm.[bis]-sm.[von]                                                                                                                                                                                                        AS Std,
       Switch(sm.[bis]-sm.[von]>=#12/30/1899 12:0:0#,#12/30/1899 1:0:0#,sm.[bis]-sm.[von]>=#12/30/1899 9:0:0#,#12/30/1899 0:45:0#,sm.[bis]-sm.[von]>=#12/30/1899 6:0:0#,#12/30/1899 0:30:0#,sm.[bis]-sm.[von]>=#12/30/1899 3:0:0#,#12/30/1899 0:15:0#,sm.[bis]-sm.[von]<#12/30/1899 3:0:0#,#12/30/1899#) AS Pause,
       [Std]-[Pause]                                                                                                                                                                                                        AS StdPause,
       IIF(
              sm.[WT]=7,[Std]/[Std]*#12/30/1899 4:0:0#,#12/30/1899#) AS Zuschlag,
       IIF((
                     sm.[WT] IN (6,7)
              AND    sm.[Sondertage]="Feiertag")
       OR     sm.[Sondertage] IN ("unb.Krank",
                                  "Freizeit",
                                  "Frei",
                                  "Überstunden"),#12/30/1899#,
              IIF(
                     sm.[Sondertage] IN ("Krank",
                                         "Urlaub",
                                         "Feiertag"),#12/30/1899 8:0:0#,[Std]-[Pause]+[Zuschlag])) AS IstStd,
       ABS(Nz(sm.[Sondertage])="Urlaub")                                                           AS Urlaub,
       ABS(Nz(sm.Sondertage) IN ("Krank",
                                 "unb.Krank")) AS Krank
FROM   StundenMitarbeiter                      AS sm;
*********************************************

Lachtaube

Die letzte Frage habe ich erst gerade gesehen und nicht berücksichtigt.
Grüße von der (⌒▽⌒)

teamdj

Wow Lauchtaube das ist genial Danke Dir damit kann ich was anfangen.
Das ist ja noch nicht das Ende meines Projektes.
Wegen dem Eintrag bezüglich "Urlaub" das bei IstStd keine 8,00 Stunden eingetragen werden
müsste ich doch nur in einer Abfrage den Code ändern ? Oder ?
vielen Dank noch mal

Lachtaube

Vermutlich kann die Logik in die Abfrage einfließen.

PS: man könnte übrigens annehmen, dass sich die ganze Geschichte nur um einen einzigen Mitarbeiter dreht. ;D
Grüße von der (⌒▽⌒)

teamdj

Hallo Lauchtaube,
meinst Du mit,
"vermutlich kann die Logik in die Abfrage mit einfließen"
Bezogen darauf, das bei Sondertage der Eintrag "Urlaub" keine 8,00 std berechnet werden ?
Nein ... es soll für 10 Mitarbeiter berechnet werden.
Ich wollte mich vorerst mit der Berechnung der Stunden beschäftigen ob das überhaupt realisierbar ist. Wobei ich jetzt merke das es recht komoplex ist. Ich möchte das gerne verstehen "lernen" mit Excel hab ich das so hinbekommen. 😯
Aber mit deiner guten Unterstützung denke ich schaffe ich das auch.
Ich versuche deine Codes irgendwie zu verstehen ist schwer momenta aber ich gebe nicht suf.
Sei noch gessgt super Forum und Klasse Leute 👍