PDA

Vollständige Version anzeigen : Zählen Arbeitstage


Juergen65
14.06.2012, 17:50
Hallo zusammen
In einer SQL Abfrage zähle ich mit folgendem Code die Arbeitstage:
ZählenAT: Wenn([Startdatum]>0;1;0)
was soweit auch funktioniert.

Nun meine Frage: Ist es möglich den Code so zu ändern, dass wenn das Startdatum ein Samstag oder Sonntag ist, diese Tage nicht gezählt werden, spich "0" ist.

Danke
Gruss
Jürgen

ebs17
14.06.2012, 18:02
Wenn-Abfrage = Zählen?
Was ist denn das für eine hoppelige Logik?

Und ein Datum ist nur 0, wenn es der 30.12.1899 ist. Dieser war übrigens ein Samstag, und damals hat man da gearbeitet.

Juergen65
14.06.2012, 18:30
Hallo Eberhard

Ich bilde pro Arbeitstag eine Gesamtsumme ( TgLeistung ) den Zähler habe ich nur, damit ich am Monatende einen Tagesschnitt errechnen kann.

Was du bestimmt viel eleganter lösen würdest :)

Meine frage war, ist es möglich, das wenn an einem Samstag oder Sontag eine TgLeistung von 150 m² gefahren wurde, der ZählerAT eine "0" und nicht eine "1" wie an Wochentage eingetragen wird.

Danke

Juergen65
14.06.2012, 20:07
Hallo zusammen
Ich wollte nur kurz Info geben, das ich es gelöst habe. Und so habe ich es gemacht : aus dem Datum habe ich den Wochentag gebildet. Das Feld mit dem Wochentag frage ich mit folgendem Code ab:
ZählerAT: Wenn([WTag]="Samstag" Und "Sonntag";0;1)

Gruß
Jürgen
:)

Beaker s.a.
14.06.2012, 22:47
Hallo Jürgen,
ZählerAT: Wenn([WTag]="Samstag" Und "Sonntag";0;1)
Und das funktioniert? Ich würde da eine Fehlermeldung erwarten.
Ich denke:
ZählerAT: Wenn([WTag]="Samstag" OR [WTag]="Sonntag";0;1)
sollte funzen.
gruss ekkehard

Atrus2711
15.06.2012, 09:54
Hi,

ich wage zu vermuten, dass ihr nicht nur an Samstagen und Sonntagen nicht arbeitet, sondern auch nicht an Feiertagen. Und die wabern so durch den Kalender, dass man da am besten eine Kalendertabelle anlegt und die Tage dort mit einem J/N-Kennzeichen versieht, das die Arbeitstage und Feiertage unterscheidet.

Juergen65
15.06.2012, 16:58
Hallo Ekkehard

Ich arbeite mit dem Abfrage editor von Access und da funktioniert der Code
ZählerAT: Wenn([WTag]="Samstag" Und "Sonntag";0;1)
oder glaubst du, dass ich was einbaue ohne es selber zu testen !!

Gruss u. schönes Wochenende

@ ich wage zu vermuten, dass ihr nicht nur an Samstagen und Sonntagen nicht arbeitet, sondern auch nicht an Feiertagen. Und die wabern so durch den Kalender, dass man da am besten eine Kalendertabelle anlegt und die Tage dort mit einem J/N-Kennzeichen versieht, das die Arbeitstage und Feiertage unterscheidet.

Danke für deinen Vorschlag, bei uns ist es zurzeit so, dass ich über der Visualisierung die Produktionsdaten bekomme daraus bilde ich eine Tagesleistung mit Datum, aus dem Datum ermittele ich den Wochentag, sollten einzelne Schichten am Samstag oder Sonntag laufen, so möchte mein Chef diese im ergebniss der Woche ( 5 Tage ) haben.

Steffen0815
15.06.2012, 19:05
Hallo, oder glaubst du, dass ich was einbaue ohne es selber zu testen !!Das vielleicht nicht, aber ohne es ausreichend zu testen ;).
Für Samstag funktioniert das (trotz das der Code aus VBA-Sicht falsch ist) für Sonntag bekommst du aber 1.

hcscherzer
15.06.2012, 21:04
Wenn([WTag]="Samstag" Und "Sonntag";0;1)
Die Bedingung, die hier geprüft wird, besteht aus zwei Teilen:[WTag]="Samstag"und"Sonntag"verbunden mit dem logischen UND Operator. Der linke Teil ist in Abhängigkeit der geprüften Bedingung WAHR oder FALSCH. Der rechte Teil ist aus meiner Sicht immer WAHR ... da für sich betrachtet einzig der numerische Wert 0 als FALSCH bewertet wird. Wenn also der linke Teil der Aussage WAHR ist, ist die gesamte Aussage WAHR.
Das ist zwar syntaktisch in Ordnung (deshalb auch keine Fehlermeldung) aber - mit Verlaub - logisch Pillepalle.

Wie Ekkehard in #5 richtig schreibt - muss auch rechts vom UND eine gültige Prüfung stehen. Aber da ein Wochentag NIEMALS gleichzeitig Samstag und Sonntag sein kann, ist dann das UND als logischer Operator wiederum verkehrt und Ekkehards Vorschlag mit OR umso richtiger.

Des weiteren gebe ich zu bedenken, dass manchmal auch Tage, die nicht am Wochenende angesiedelt sind, keine Arbeitstage sind. Für den Ostermontag trifft das in den allermeisten Fällen zu ...

Juergen65
15.06.2012, 21:47
Danke für die Aufklärung ich hab da gestern wohl nur den einen
Teil getestet .

Schönes WE
Jürgen