Access past waarden uit Excel aan???!!!

Status
Niet open voor verdere reacties.

Benthouse

Gebruiker
Lid geworden
15 jan 2003
Berichten
71
Hallo,

Ik wil graag een registratie van bedrijfsuren vastleggen in access. Het loggen van de waarden gebeurt in CSV formaat. Deze CSV file lees ik in in Excel, en sla het bestand dan op in XLS formaat. In Excel ziet de waarde in de kolom bedrijfsuren er bijvoorbeeld zo uit: 143:23:17. (Formaat in Excel:Aangepast (u):m:s).

Als ik nu deze XLS file inlees als tabel in Access, dan converteert Access dit naar eenheden in 24 uur, gerekend vanaf 1 januari 1900. Het resultaat in de tabel is dan: 6 januari 1900 23:23:17.
Dit wil ik uiteraard niet. Ik wil gewoon de werkelijke waarde (die in de Excel tabel staat).

Het is de bedoeling dat met deze waarden een rapport per tijdseenheid gemaakt wordt.
Bijv: Bedrijfsuren dieselmotor 28 april 2004: 2:34:56
Totaal bedrijfsuren dieselmotor: 45:12:41

Dit is om te bepalen wanneer onderhoud noodzakelijk is.
Dit moet toch kunnen in Acces?

Grroeten Cas
 
Als je het veld als datum/tijd aangeeft in access zal er gerekend worden met 24 uur, je kan toch de uren en minuten en seconden als numeriekevelden binnen halen?
 
Oké, Ik lees de variabelen nu los in vanuit een CSV bestand. (Makkelijker, want dan sla ik de Excel conversie over).

Dus 1 kolom met uren, 1 kolom met minuten en 1 kolom met seconden.

Nu wil ik het volgende bereiken:

Begintijd: 34:56:23 (eerste waarden)
Eindtijd: 36:12:45 (Laatste waarden)
Bedrijfstijd: 01:16:22

Nu heb ik de volgende problemen:

1. Access ziet de seconden en minuten onder de 10 als 0,1,2,3,4,5,6,7,8,9 i.p.v. 00,01,02,03,04,05,06,07,08,09.

Dit komt door het inlezen van het CSV bestand. Hier worden de waarden nu eenmaal zonder 0 geschreven.

2. Het berekenen van de bedrijfstijd gaat mij niet makkelijk af. Ik heb geprobeerd om alles naar seconden terug te rekenen, zodat de bedrijstijd in seconden weergegeven wordt. Nu moet alleen deze waarde weer omgerekend worden naar UU:MIN:SEC.

(In het voorbeeld dus: 4582 seconden=> moet worden 01:16:22)

Daarnaast MOET de notatie van de uren boven de 24 niet in dagen plaatsvinden, maar meot hij gewoon doortellen.

Wie o wie kan mij aan een querie voor dit probleem helpen?

Ik heb de volgendetabel met meetwaarden:
Tabelnaam: 2904
met kolom: Uur
met kolom: Min.
met kolom: Sec

Groeten Benthouse
 
O, ja,

de waarden van Uur, minuut en seconden worden nu ingelezen als NUMERIEKE waarden. Dit maakt volgens mij het rekenen makkelijker.

Groeten Benthouse
 
Ik begrijp nog niet precies wat je wil maar dat zal wel aan mij liggen :D
Om van seconde uren, min, sec te maken moet je het volgende doen deel het getal door 3600 dan zijn de getallen voor de komma de uren, het getal dat overblijft delen door 60 en weer de getallen voor de komma zijn de minuten en het restant van het getal de seconde.
Verder kun je in een query aangeven dat je 1 als 01 wil zien door in het veld format te zetten 00
 

Bijlagen

Het wekt goed alleen....

Bedankt voor de hulp. De waarden worden inderdaad berekend zoals ik dat graag wilde hebben, alleen het formaat van de berekening is nog niet helemaal naar het zin.

De variabelen worden per stuk berekend, d.w.z. Uur in een kolom, minuten in een kolom en seconden in een kolom. Ook is er een totalisatie met u:min:sec.

In de totalisatie, zit mijn probleempje nu.

Het formaat van de eenheden is niet helemaal naar mijn zin. Bijvoorbeeld:

In de kolom uren : 3
In de kolom minuten: 04
in de kolom seconden: 07
geeft in de totaal kolom: 3:4:7 ik wil dit graag zo hebben:

3:04:07. Dit lukt wel in de losse eenheden (Minuten en seconden), maar zodra deze 'samengenomen' wordt, dan verdwijnt de 'voorloop' nul.

Is hier misschien ook een oplossing voor. Ik heb het formaat van de losse eenheden wel weten aan te passen, maar dit lukt niet bij de 'samengenomen' waarden in de totalisatie kolom.

Groeten Cas
:thumb:
 
Ik denk dat je voor de oplossing van je probleem eerst begrip moet krijgen voor de verschillende manieren waarop Excel en Acces met datum/tijd omgaan.

Excel: werkt vanaf 31 december 1899
Access: gaat terug tot in de vroege middeleeuwen.

Daarom rekent Access keurig je tijd om naar 6 januari + tijd. Zoals eerder geantwoord is elke dag 24 uur, dus 6 x 24 uur (6 januari niet te letterlijk nemen = is gewoon de 6e dag, dus 6 x 24 uur). En tel daar dan de overige uren bij op. Heb je je 143 uur terug.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan