Public Function BeregnDatoFraHeltal(X As Long) As Date If X > 0 Then Dim Y As String Y = Trim(Str(X)) BeregnDatoFraHeltal = DateSerial(Left(Y, 4), Mid(Y, 5, 2), Right(Y, 2)) Else BeregnDatoFraHeltal = DateSerial(1990, 1, 1) End If End Function
Funktioenen skal nok snarre se således ud (da det er klokkeslet og ikke datoer, du arbejder med):
Public Function BeregnDatoFraHeltal(X As Long) As Date If X > 0 Then Dim Y As String Y = Trim(Str(X)) BeregnDatoFraHeltal = TimeSerial(Left(Y, 2), Mid(Y, 3, 2), 0) Else BeregnDatoFraHeltal = 0 End If End Function
Denne kode placerer du så i et globalt modul, hvorefter du kan bruge funktioenen i en forespørgsel eller en formular (eller selvfølgelig i en anden VBA funktion)
Hej Thomas, Det jeg vil have funtionen til er når brugeren har indtastet et antal minutter i feltet [røretid] at omregne dette til timer og minutter som kan lægges til tidspunktet i feltet [hensat kl. dette skal ske i et tredje felt.
OK, så skal du lægge koden på EfterOpdatering på [Røretid]. Koden kan sø se således ud:
If Me!Røretid > 0 Then Dim Y As String Y = Trim(Str(Me!Røretid)) ME![Hensat kl] = TimeSerial(Left(Y, 2), Mid(Y, 3, 2), 0) Else Me![Hensat kl] = 0 End If
Jeg har løst runtime error\'en: den skal se sådan ud for at ændre et almindeligt tal til timer:minutter Y = Trim(Str(Me.Total_røretid)) Me.a = TimeSerial(0, Y, 0)
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.