Juli 26, 2021, 15:58:21

Neuigkeiten:

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


Jahre aus Tagen berechnen

Begonnen von mad, Juli 02, 2021, 17:38:14

⏪ vorheriges - nächstes ⏩

mad

Hallo Zusammen,

ich würde gerne aus Tagen die vollen Jahre berechnen ohne Rest.

Ich habe eine Tabelle ,,tblRegistrierungAufgabe" zum Registrieren von Aufgaben ,,AufgabeID_A", dabei kann es vorkommen das eine Tätigkeit von einer Person mehrmals in verschiedenen Zeiträumen (,,AufgabeBeginn";"AufgabeEnde") ausgeübt wurde. Oder von einem Datum bis heute.
Um hierfür die Anzahl der Tage in den einzelnen Phasen und dann der Summe zu ermitteln habe ich folgende Abfrage erstellt: (relevant für diese Abfrage sind nur die beiden ,,AufgabeTitelID" 112 u. 113)

SELECT tblRegistrierungAufgabe.PID_A, Personal.NameP, Sum(IIf([AufgabeEnde] Is Null,DateDiff("d",[AufgabeBeginn],Date()),DateDiff("d",[AufgabeBeginn],[AufgabeEnde]))) AS Tage_PID
FROM tblAufgabeTitel INNER JOIN (Personal INNER JOIN tblRegistrierungAufgabe ON Personal.PID = tblRegistrierungAufgabe.[PID_A]) ON tblAufgabeTitel.[AufgabeTitelID] = tblRegistrierungAufgabe.AufgabeID_A
WHERE (((tblAufgabeTitel.AufgabeTitelID)=112 Or (tblAufgabeTitel.AufgabeTitelID)=113))
GROUP BY tblRegistrierungAufgabe.PID_A, Personal.NameP;

Jetzt würde ich die Summe der Tage durch \365 od. \365,25 (incl. Schaltjahr) teilen, (\) ohne Rest. Ist das von mir zu einfach gedacht?

Über eine Rückmeldung würde ich mich sehr freuen.


Gruss
mad

ebs17

Zitatod. \365,25
Ganzzahlendivision verwendet nur Ganzzahlen.

Ansonsten lassen sich Jahre nie mathematisch genau aus Tagen berechnen, wegen der bereits erkannten Schaltjahresproblematik. Also muss man für sich, basierend aus den Anforderungen, vereinbaren, was die geeignete Genauigkeit ist (bei Kaufleuten gibt es ja auch 360-Tage-Jahre).

Mit freundlichem Glück Auf!

Eberhard

mad

Danke für die Rückantwort, mit dieser Ungenauigkeit kann ich leben.


Danke
mad

ebs17

Eine Variante wäre auch, die Schalttage aus den Differenzen zu entfernen. Dann hätte man durchgehend 365-Tage-Jahre.
Das macht aber rundherum etwas mehr Aufwand.
Mit freundlichem Glück Auf!

Eberhard