[VBA] Probleem met format van een double naar hhmm *

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Masch
  • Registratie: Augustus 2002
  • Laatst online: 15:56
Hallo,

Ik heb in Excel een volgens mij redelijk simpel probleempje, maar er gebeurt iets wat ik niet helemaal kan verklaren. Wat ik wil is het onderstaande.

Ik heb in een database waar ik naartoe connect een double in een tabel staan, bijvoorbeeld 7,5. In de daarbij behorende applicatie wordt dit geconverteerd naar een tijdstip in dit geval dus 07:30. Ik moet dit in mijn tool ook voor elkaar zien te krijgen, maar ik weet niet hoe ik dit moet doen. Ik dacht dat dit via de format functie moest, maar dit werkt niet met een double. Even een voorbeeld:

AO_clockstart is een datumveld met de waarde 1-3-2012 07:30
Format(tblUren.getfield("datumveld"), "hhmm")
Geeft netjes 0730 terug

GR_1AW is echter een double veld met de waarde 7,5
Format(tblRooster.getfield("GR_1AW"), "hhmm")
deze geeft echter 1200 terug

Enig idee hoe ik van die 7,5 een waarde 0730 terug kan krijgen? Zit ik verkeerd te denken?

(\__/) Ik wist totaal niet wat hier neer te zetten....
(='.'=) Dus het werd....
("")("") Een konijn!!


Acties:
  • 0 Henk 'm!

  • pedorus
  • Registratie: Januari 2008
  • Niet online
Excel werkt in dagen, niet in uren. Delen door 24 geprobeerd? :p

Vitamine D tekorten in Nederland | Dodelijk coronaforum gesloten


Acties:
  • 0 Henk 'm!

  • Masch
  • Registratie: Augustus 2002
  • Laatst online: 15:56
Volgens mij heeft het niet echt met Excel te maken, maar meer met VBA. Er is vast wel een functie welke de double 7,5 kan vertalen naar 0730. Ik weet alleen niet welke functie ;)

(\__/) Ik wist totaal niet wat hier neer te zetten....
(='.'=) Dus het werd....
("")("") Een konijn!!


Acties:
  • 0 Henk 'm!

  • Coffeemonster
  • Registratie: Juli 2000
  • Laatst online: 03-09 19:08
Een hele simpele functie, zoals Pedorus al zegt: "var/24" (waarbij var je uitgelezen tijd is).

Excel (en VBA for Excel) ziet een datum of een tijd als een getal, waarbij het deel voor de komma de dagen zijn (gerekend vanaf 1 januari 1900 00:00 uur) en het deel na de komma de tijd. 7,5 wordt dan 7 januari 1900 12:00 uur.

Look for something long enough and you will find it; look for something without understanding, and it will find you.
A normal day at the stock exchange


Acties:
  • 0 Henk 'm!

  • Masch
  • Registratie: Augustus 2002
  • Laatst online: 15:56
Dat las ik er ff niet uit sorry :)

Ik ga het morgen gelijk uitproberen, zal de update hier posten.

(\__/) Ik wist totaal niet wat hier neer te zetten....
(='.'=) Dus het werd....
("")("") Een konijn!!


Acties:
  • 0 Henk 'm!

  • Masch
  • Registratie: Augustus 2002
  • Laatst online: 15:56
Het werd een dag later, maar de oplossing klopte inderdaad:

Format(tblRooster.getfield("GR_2AW")/24, "hhmm") geeft 0730

Thanks!

[ Voor 3% gewijzigd door Masch op 29-03-2012 10:16 ]

(\__/) Ik wist totaal niet wat hier neer te zetten....
(='.'=) Dus het werd....
("")("") Een konijn!!

Pagina: 1