Neuigkeiten:

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

Mobiles Hauptmenü

Krankenstatistik - Krankheitstage neu berechnen?

Begonnen von I3EDV, Oktober 20, 2010, 08:46:26

⏪ vorheriges - nächstes ⏩

I3EDV

Hallo zusammen,

wir haben vor Jahren mal eine Access 97 Datenbank für unsere Krankenstatistik geschrieben. Im laufe der Jahre hat sich die natürlich gefüllt. Leider hat der Programmierer einige Fehler eingebaut, die die ganze Statistik kaputt macht bzw. falsch ausrechnet. Die meisten Fehler wurden vonuns schon behoben, nur einer nicht...

Folgendes:
Es werde ganz simpel die Krankheitstage einer Person bei einer Krankmeldung ausgerechtet z.B. 01.10.2010 - 08.10.2010 war die Person krank... Das sind nach Adam Riese 8 Tage ;) Soweit so gut, die Berechnung klappt wunderbar bei NEUEN Einträgen. Bei alten leider nicht.

Also:

Wie können wir nun die restlichen/alten Daten aktuallisieren?

Noch ein paar Infos:
- Access 97 Datenbank
- Anfangsdatum nennt sich [E_von]
- Enddadtum nennt sich [E_bis]
- Differenz der Tage kommt in [E_Tage]

Vielen Dank im Voraus.

PS: Wäre nett wenn ihr das genau beschreibt und nicht einfach irgendwelche Formeln oder Codeschnipsel postet, mit denen wir nichts anfangen können.

DF6GL

#1
Hallo,

PS:   tja, da wäre dann vorerst zu klären, mit was Ihr überhaupt etwas anfangen könnt.. ?


1) Berechnete Ergebnisse (hier Krankheitstage)  sollten nicht in der Tabelle gespeichert werden. (Merkst Du ja selber , warum  ;D )

2) WIE lautet denn die "Berechnung", d. h. der Code, der die Berechnung ausführt und WO  (hinter welchem Ereignis) steht der?

3) Um dieses Problem dauerhaft zu eliminieren, sollte Punkt 1) umgesetzt werden, d. h. die Berechnung der Tage findet aktuell immer dann und dort statt, wann und wo man das Ergebnis braucht.

4) Als Vorschlag der Quick&Dirty-Lösung soll folgender xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
auszuführen:


Updaten der tblNameDerTabelle set [E_Tage]=Datumsdiffernz  zwischen [E_Von] und   [E_Bis])


sofern die Datumsfelder den Datentyp xxxxxxxxxxxxxxx  haben..


PS:

http://www.ms-office-forum.net/forum/showthread.php?t=270616
http://www.office-loesung.de/ftopic418718_0_0_asc.php
Crosspostings, dazu mit akt. Bearbeitung , sind nicht erwünscht....  >:(

MzKlMu

Gruß Klaus

I3EDV

Hi,

Zu 1) Ja da hast du recht... Aber was solls. Doof gelaufen. Wollen wir aber nicht mehr ändern.

Zu 2) Der Code lautet wie folgt:
gesTage = DateDiff("d", Date1, Date2)
[E_Tage] = gesTage + 1

Der befindet sich in der Ereignisprzedur, wenn ein Formular geöffnet wird. Siehe Bild:

bildupload.com/index.php?image=7a684680cd3fa7740cf5371bfd9ee0c3

Zu 3) s. 1 ;)

Zu 4) Ja haben wir schon drüber nachgedacht... Aber entweder wir machens falsch oder es geht nicht. Eine Quick&Dirty-Variante wäre ambesten.

I3EDV

Sorry wegen DP. Ich habe es nun mit diesem Befehl in einer Aktualisierungsabfrage hinbekommen.

UPDATE t_Erkrankung SET E_Tage = DateDiff("d", E_von, E_Bis) + 1;

database

Fremde Lösungsvorschläge (ms-office-forum.net, hcscherzer um 13:09) in 2 Foren (hier und auf office-loesung.de, 15:49) dann auch noch

als die Eigenen zu präsentieren - da kann man sich dann auch was dazu denken.  :o