Neuigkeiten:

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

Mobiles Hauptmenü

Problem mit Arbeitsdauer Berechnung

Begonnen von ThePL, März 16, 2011, 16:17:59

⏪ vorheriges - nächstes ⏩

ThePL

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

MzKlMu

#1
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.
Gruß Klaus

ThePL

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.

MzKlMu

#3
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.
Gruß Klaus

ThePL

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.

MzKlMu

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.
Gruß Klaus

ThePL

Also die Pause wird nicht mit berechnet es soll komplett mit 9 Std gerechnet werden.


MzKlMu

Hallo,
OK, dann ist alles klar. Ich mache Dir später (spätestens heute Abend) einen Vorschlag mit einem Beispiel.
Gruß Klaus

ThePL

Thy :))))

Wenn ich mich irgendwie revangieren kann einfach sagen.
Ein Danke hast aufjeden fall für das Zitat erhalten.


MfG ThePL

MzKlMu

#9
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]
Gruß Klaus

ThePL

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