Huhu,
habe noch nicht so lange was mit Access zutun und komme mit googeln einfach nicht weiter. Meine Aufgabe ist es versuchen ein Excel befehl so umschreiben das er mit Access Funktioniert.
Der Befehl soll die Arbeitsdauer die für die Reperatur benötig wurde berechen und die Feiertage soll er auslassen d.h das Produkt kommt 10.02.11 15:23:02 an und wird erst am 14.02.11 12:00:00 Fertig. Die Arbeitszeit Pro tag beträgt 8 Std. Nur mein Problem ist wenn der 12.02.11 jetzt ein Feiertag ist wie ich das in der Rechnung Deklariert werden muss das die Datenbank alle feiertage kennt und ich das machen soll das nur die zeit von 08:00 -17:00 Berechnet werden soll.
Hier ist der Exel Befehl:
=WENN(((NETTOARBEITSTAGE(G7;H7;Feiertage!$B$15:$D$15)-1)*8)+(WENN((STUNDE(G7)+MINUTE(G7)/60)<8;(STUNDE(H7)+MINUTE(H7)/60)-8;(STUNDE(H7)+MINUTE(H7)/60)-(STUNDE(G7)+MINUTE(G7)/60)))<0;"";((NETTOARBEITSTAGE(G7;H7;Feiertage!$B$15:$D$15)-1)*8)+(WENN((STUNDE(G7)+MINUTE(G7)/60)<8;(STUNDE(H7)+MINUTE(H7)/60)-8;(STUNDE(H7)+MINUTE(H7)/60)-(STUNDE(G7)+MINUTE(G7)/60))))
hat jmd eine Idee bzw Tipps wie ich vorgehen soll?
Mfg ThePL
Hallo,
ich versuche das mal zu interpretieren:
Die Reparaturdauer eines Produkts wird zunächst geschätzt, z.B. 80 Stunden, daraus ergeben sich 8 Arbeitstage.
Dann schaust Du nach dem datum? Ist diese Annahme richtig?
Es kann ja nicht so sein, dass ein Produkt reinkommt zur Reaparatur und das Fertigstellungsdatum wird einfach festgelegt, das hängt doch vom Aufwand ab.
Willst Du die Fertigstellung auf die Stunde genau oder nur auf den Tag?
Access kennt übrigens keine Feiertage, das musst Du alles selbst einbauen.
ups habe denn Falschen Befehl gepostet ::)
=WENN(((NETTOARBEITSTAGE(#BEZUG!;#BEZUG!;Feiertage!$B$17:$D$17)-1)*8)+(WENN((STUNDE(#BEZUG!)+MINUTE(#BEZUG!)/60)<8;(STUNDE(#BEZUG!)+MINUTE(#BEZUG!)/60)-8;(STUNDE(#BEZUG!)+MINUTE(#BEZUG!)/60)))0<;"";((NETTOARBEITSTAGE(#BEZUG!;#BEZUG!;Feiertage!$B$17:$D$17)-1)*8)+(WENN((STUNDE(#BEZUG!)+MINUTE('BEZUG!)/60)<8;(STUNDE(#BEZUG!)+MINUTE(#BEZUG!)/60)-8;(STUNDE(#BEZUG!)+MINUTE(#BEZUG!)/60)-(STUNDE(#BEZUG!)+MINUTE(#BEZUG!)/60)))
Als beispiel: Angekommen(spalte1) z.B 12.08.11 15:03:25 Fertig(spalte2) z.B 15.08.11 14:25:04 nun soll der Befehl die Zeit zwischen Angekommen und Fertig ausrechen und mit dem Arbeitsdauer 8 Std pro tag das wären dann in diesem Fall ca 24:25:00 so aber stellen wir uns mal vor der 13.08.11 ist ein Feiertag d.h 24:25:00 - 8 std und ich möchte die Berechnung in einem Befehl haben d.h ich muss der Datenbank irgendwie die Feiertage mitteilenzuteilen das die nicht mit berechnet werden bzw Samstag und Sonntag auch nicht aber da kann man ja einfach mit 5 Tagen Rechen da man denn Wert Konstant setzen kann oder?^^
ich hoffe ich habe mein Problem besser verständlichen darstellen können.
Hallo,
Du willst also die Verweildauer in Arbeitsstunden, dabei sollen aber Feiertage und Wochenenden abgezogen werden, richtig?
Wo hast Du denn die Feiertage her?. Access kennt die nicht automatisch, dazu brauchst Du auch eine Tabelle.
Der 13.8.11 ist übrigens eh ein Samstag, also ein schlechtes Beispiel.
Ja das beispiel unten war nur um zu veranschaulichen was ich meine, dass sind beliebig gewählte Tage.
Das war auch eine frage wie ich in access die Feiertage deklarieren soll damit er wenn er das Berechnet vergleicht ob einer der Tage ein Feiertag ist oder nicht.
Meine idee ist eine Tabele anzulegen die für die Kunden nicht sichtbar ist aber sich in der Datenbank befindet und bei jeder Berechnung vergleicht denn aktuellen Tag mit denn deklarierten Feiertagen und wenn es zutrifft, dass es auf denn nächsten tag zugreift und da wieder vergleicht und wenn es nicht zutrifft, dann soll er die bei dem Tag gebrauchte zeit addieren.
Zitat von: MzKlMu am März 16, 2011, 17:02:25
Hallo,
Du willst also die Verweildauer in Arbeitsstunden, dabei sollen aber Feiertage und Wochenenden abgezogen werden, richtig?
Ja genau das halt mit der Berechnung in der Spalte 22 steht und die 22 steht für Stunden d.h z.B. die Rechner Reperatur hat 22 std gedauert.
Hallo,
noch eine Frage, wie ist das mit den Pausenzeiten?
8:00 bis 17:00 sind ja 9 Std. Sind das 2 Pausen. oder soll immer nur ein Std. abgezogen werden, wenn es über Mittag geht?
Von der Excelformel kannst Du bei Access nichts verwenden. In Access musst Du das anders aufziehen.
Also die Pause wird nicht mit berechnet es soll komplett mit 9 Std gerechnet werden.
Hallo,
OK, dann ist alles klar. Ich mache Dir später (spätestens heute Abend) einen Vorschlag mit einem Beispiel.
Thy :))))
Wenn ich mich irgendwie revangieren kann einfach sagen.
Ein Danke hast aufjeden fall für das Zitat erhalten.
MfG ThePL
Hallo,
anbei mal ein Vorschlag. Die Dauer wird mit einer Funktion ermittelt.
Es gibt auch eine Funktion zum Anlegen der Hilfstabelle.
Dazu gibt es ein Formular. Die Feiertage (und sonstige arbeitsfreie Tage) müssen nur angehakt werden. Ich habe das zum Probieren nur für Ostern 2011 mal gemacht. Wochenenden werden automatisch berücksichtigt.
Im Formular kannst Du eine beliebig große Hilfstabelle anlegen.
Die Namen der Formulare sind selbsterklärend.
Bitte prüfe auch mal sorgfältig ob das Ergebnis stimmt.
Bei Fragen bitte melden.
[Anhang gelöscht durch Administrator]
Erstmal ein großes Dankeschön :)
Ich versuche mal da durch zusteigen da ich soetwas voher noch nicht gesehen haben^^.
Ich Poste ein feedback sobal ich es zumlaufen gebracht habe.
MfG ThePL