meer dan 24 uur

Status
Niet open voor verdere reacties.

Theveritas

Gebruiker
Lid geworden
31 mrt 2009
Berichten
16
Hallo,


Ik maak een database waar ik o.a. werkuren in verwerk. Aangezien men in totaal vaak meer dan 24 uur werk vind ik het handig dat ie dit gewoon door telt. Als iemand nu 36 uur gewerkt heeft krijg ik dit:

1-1-1900 6:00:00

Hoe kan ik dit verhelpen?
 
Op welke manier sla jij die werktijden op?
Hoe kom je aan die 1-1-1900 6:00:00?
 
Het veld dat je importeert heeft dan de waarde 2,25. Geconverteerd wordt dat de datum die jij noemt. Weet je zeker dat dat het goede veld is?

HTH:D
 
Als je de volgende code uitvoert in je immediate window dan zie je dat de datum t.o.v. de eerste dag wordt geteld omdat je geen datum opgeeft maar alleen de tijd.
Code:
?datediff("h",cdate(1),cdate("1-1-1900 12:00:00"))
36
In Access wordt die dan omgezet naar een volledige datum notatie.
Ik neem aan dat je de datum in een ander veld opslaat.
Als je voor de starttijd en de eindtijd ook de datum opslaat dan wordt het een stuk eenvoudiger.
 
Ik krijg dit niet helemaal voor elkaar. Ben niet erg bedreven in VBA. Heb 't immediate window gevonden alleen krijg 't niet voor elkaar om hem uit te laten voeren.

Wat betreft het opslaan: ik exporteer de gegevens van een tijdelijke database (waaruit ik rapporten draai) naar een database waar ik al mijn gegevens in wil opslaan. Daarin wil ik dus ook de tijden bij elkaar op tellen en dus op een totaal aantal uren komen. Misschien is bij het exporten van de gegevens al een mogelijkheid om de tijd aan te passen?
 
Laatst bewerkt:
als je 1 database maakt waarin je je rapportage functionaliteit opneemt samen met de opslag van nieuwe gegevens dan hoef je ook niet all je data heen en weer te schuiven.

Immediate window:
druk op control-g en tik in:
Code:
?datediff("h",cdate(1),cdate("1-1-1900 12:00:00"))
werkt altijd.
Je kan je spreadsheet koppelen aan Access en dan je gegevens met een insert query van de ene tabel naar de andere kopieren.

Wordt de datum ook nog ergens opgeslagen?

HTH:D
 
Ik krijg hierdoor geen verandering. Als ik hem kopieer in immediate dan krijg ik geen reactie en als ik hem daaroboven kopieer dan krijg ik een compileerfout omdat ie hem dan automatisch aanpast naar:

Print DateDiff("h", CDate(1), CDate("1-1-1900 12:00:00"))

Ik kan dit inderdaad allemaal in 1 database plaatsen. Alleen omdat er meerdere mensen in werken wil ik dit graag gescheiden houden. Ben nog even aan het nadenken wat ik precies ga doen :D
 
Ben er al een tijdje niet mee bezig geweest. Het is me wel gelukt dit in de VBA te laten aanpassen.
Nou is mijn vraag hoe ik dit in een query implementeer. Want hij past de gegevens nog niet zelf aan. Tevens loop ik er tegen aan dat als iemand een 36,5 uur heeft gewerkt dat dit wordt afgerond naar 36. Alvast bedankt voor een reactie.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan