Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

eine Tabelle mit Kalenderdaten erstellen

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

⏪ vorheriges - nächstes ⏩

teamdj

Hallo,
Ich bleibe jetzt an folgender Aufgabe seit Wochen hängen ohne eine Lösung dafür zu finden.

Ich habe folgende Abfrage:

KW     Tag       Datum            von      bis       Std      Pause     IstStd    [SuStd] ????
  1       Fr       01.Jan. 16       09:30   18:00    8:30      0:30       8:00       8:00

  1       Sa      02.Jan.16        09:30   18:00    8:30      0:30       8:00      16:00

Ich möchte irgendwie in der Abfrage das Feld [SuStd] berechnen lassen,
so das in diesem Feld bzw. Spalte die fortlaufende Summe angezeigt wird.
Quasi die Stunden zusammen gerechnet.
Ich bekomme es aber nicht mit der Formatierung hin.
Wer kann bitte helfen ????
Vielen Lieben Dank.






MzKlMu

Hallo,
die laufende Summe muss ohne Formatierung ermittelt werden. Zeitsummen >=24h können nicht als Zeit formatiert werden. Formatieren kann man nur Uhrzeiten und eine Zeitsumme ist keine Uhrzeit.

Hast Du die fortlaufende Summe realisiert ?
Wenn ja, was wird da angezeigt (ohne Formatierung) ?
Gruß Klaus

Lachtaube

Solche Probleme hatten andere Leute auch schon und haben deshalb Funktionen, wie sie unter Berechnungen mit mehr als 24 Stunden zu finden sind, geschrieben.
Grüße von der (⌒▽⌒)

teamdj

Zitat von: MzKlMu am Juli 26, 2016, 09:36:52
Hallo,
die laufende Summe muss ohne Formatierung ermittelt werden. Zeitsummen >=24h können nicht als Zeit formatiert werden. Formatieren kann man nur Uhrzeiten und eine Zeitsumme ist keine Uhrzeit.

Hast Du die fortlaufende Summe realisiert ?
Wenn ja, was wird da angezeigt (ohne Formatierung) ?

Ja ich habe die Laufende Summer realisiert bzw. die Gesamtsumme.
In MS Excel geht das ja !
Laut Excel ist die Gesamtsumme der erabrneiteten Stunden im Januar 196,15
Wenn ich es Ohne Formatierung der Spalte in der Abfrage berechnen lasse steht dort der Wert las Zahl 8,17708333333333
Wenn ich 24,std Format wähle dann wird 4:15 angezeigt.
In Excel kann ich die Zelle so formatiern [h],mm  dann berechnet Excel auch die 196,15 Gesamtstunden.
Allerdings muß ich in Excel dann unter Extras-Optionen in der Registerkarte Berechnungen- 1904-Datumswerte anhaken.
Ich dachte in Access funktioniert das auch irgendwie.

MzKlMu

Hallo,
nein, in Access funktioniert das nicht. Allerdingst, müsstet Du Dir das aus der Zahl auch selbst ableiten können.
Eine Zeit ist vor dem Komma die ganzen Tage.
Also 8:24 = 192
0,17708 = 4:15.
Zusammen: 196:15

Im Link von Lauchtaube findest Du alles was Du brauchst.
Gruß Klaus

teamdj

#20
in dem Link von Lauchtaube bzw. der Beschreibung steige ich nicht durch !
muß ich da ein Modul erstellen ?

MzKlMu

Hallo,
ja, der Code muss in ein Modul.
Gruß Klaus

teamdj

Zitat von: MzKlMu am Juli 26, 2016, 13:38:18
Hallo,
ja, der Code muss in ein Modul.

Sorry wenn ich noch einmal Frage
also einfach ein neues Modul erstellen und den Code dort komplett so wie er in dem Link von Lauchtaube steht hinein kopieren und unter einem frei wählbaren Namen speichern.
Muß ich den Code nicht noch an meine Abfrage anpassen oder so ?

MzKlMu

Hallo,
ZitatMuß ich den Code nicht noch an meine Abfrage anpassen oder so ?
nein, die  Funktion muss der Abfrage mit Übergabe der lfd. Summe übergeben werden.
Gruß Klaus

teamdj

Zitat von: MzKlMu am Juli 26, 2016, 14:12:53
Hallo,
ZitatMuß ich den Code nicht noch an meine Abfrage anpassen oder so ?
nein, die  Funktion muss der Abfrage mit Übergabe der lfd. Summe übergeben werden.

owei....
wie ?
meine Abfrage hat den Namen ABFstundenMitarbeiter
und die laufende Summe soll in der Spalte mit dem Namen SummeStunden berechnet werden.
Wie soll ich das übergeben ?

MaggieMay

Hi,

wie sieht denn der SQL-Code der Abfrage bislang aus? Wie berechnest du die Summe in der Abfrage?
Freundliche Grüße
MaggieMay

Lachtaube

Im Abfrageentwurf: SuStd: HHNNString(_exakt_dein_bisheriger_ausdruck_)
Grüße von der (⌒▽⌒)

teamdj

Zitat von: Lachtaube am Juli 26, 2016, 16:24:50
Im Abfrageentwurf: SuStd: HHNNString(_exakt_dein_bisheriger_ausdruck_)

OK dann gebe ich das bei dem Feld SuStd: ein
SuStd: HHNNString(_meinen_Ausdruck_)
und ein neues Modul erstellen und dort den Text aus deinem Link im Original kopieren ?
ich versuche das gleich mal

teamdj

Zitat von: MaggieMay am Juli 26, 2016, 16:16:35
Hi,

wie sieht denn der SQL-Code der Abfrage bislang aus? Wie berechnest du die Summe in der Abfrage?

Hi,
hier die Kopie vom SQL Code:

SELECT Format([TDatum],"ww",2,2) AS KW, StundenMitarbeiter.TDatum AS Tag, StundenMitarbeiter.TDatum, StundenMitarbeiter.Sondertage, StundenMitarbeiter.von, StundenMitarbeiter.bis, [bis]-[von] AS Std, IIf([bis]-[von]>0.5 Or [bis]-[von]=0.5,0.0416666666666667,IIf([bis]-[von]>0.375 Or [bis]-[von]=0.375,0.03125,IIf([bis]-[von]>0.25 Or [bis]-[von]=0.25,0.0208333333333333,IIf([bis]-[von]>0.125 Or [bis]-[von]=0.125,0.0104166666666667,0)))) AS Pause, [Std]-[Pause] AS StdPause, IIf([WT]=7,[Std]/[Std]*0.166666666666667,0) AS Zuschlag, IIf([WT]=7 And [Sondertage]="Feiertag",0,IIf([WT]=6 And [Sondertage]="Feiertag",0,IIf([Sondertage]="Krank",0.333333333333333,IIf([Sondertage]="Urlaub",0.333333333333333,IIf([Sondertage]="Feiertag",0.333333333333333,IIf([Sondertage]="unb.Krank",0,IIf([Sondertage]="Freizeit",0,IIf([Sondertage]="Frei",0,IIf([Sondertage]="Überstunden",0,[Std]-[Pause]+[Zuschlag]))))))))) AS IstStd, IIf([WT]=7 And [Sondertage]="Feiertag",0,IIf([WT]=6 And [Sondertage]="Feiertag",0,IIf([Sondertage]="Krank",0.333333333333333,IIf([Sondertage]="Urlaub",0.333333333333333,IIf([Sondertage]="Feiertag",0.333333333333333,IIf([Sondertage]="unb.Krank",0,IIf([Sondertage]="Freizeit",0,IIf([Sondertage]="Frei",0,IIf([Sondertage]="Überstunden",0,[Std]-[Pause]+[Zuschlag]))))))))) AS IstStdZahl, IIf([Sondertage]="Urlaub",1,0) AS Urlaub, IIf([Sondertage]="Krank" Or [Sondertage]="unb.Krank",1,0) AS Krank
FROM StundenMitarbeiter;



teamdj

Zitat von: teamdj am Juli 26, 2016, 18:05:19
Zitat von: Lachtaube am Juli 26, 2016, 16:24:50
Im Abfrageentwurf: SuStd: HHNNString(_exakt_dein_bisheriger_ausdruck_)

OK dann gebe ich das bei dem Feld SuStd: ein
SuStd: HHNNString(_meinen_Ausdruck_)
und ein neues Modul erstellen und dort den Text aus deinem Link im Original kopieren ?
ich versuche das gleich mal

Soo ich habe das Modul erstellt
ebenfalls in der Abfrage die Spalte    ** SuStd:HHNNString(_meinen_Ausdruck_) ** wie von Dir beschrieben verändert.
Wenn ich die Abfrage jetzt aufrufe dann erscheint ein:
Laufzeitfehler ´94´
mit der Meldung: Unzulässige Verwendung von Null

Ich muß aber dazu sagen das der Laufzeitfehler erst erscheint wenn ich in der Tabelle runter scrolle.
Da in der Tabelle die Daten vom Monat Januar komplett eingetragen sind stehen in der Spalte SuStd bis ende Januar auch werte. Ab Februar nicht mehr.
jetzt bin ich auf der suche wie ich da einen Standardwert von 0 setzten kann.