Avatar billede n_riber Nybegynder
04. juli 2001 - 09:42 Der er 7 kommentarer og
2 løsninger

Konvertering af et tal felt til dato/klokkeslæt

Kan det lade sig gøre at konvertere værdierne af et talfelt til kort klokkeslæt?
Avatar billede The Real Yoda Juniormester
04. juli 2001 - 11:14 #1
ja, men hvordan ser dine talfelter ud ?
Avatar billede n_riber Nybegynder
04. juli 2001 - 11:37 #2
feltstørrelse: reelt tal
format: fast
antal decimaler 1

er det oplysninger nok?
Avatar billede faroe Nybegynder
04. juli 2001 - 11:55 #3
du kan lave et modul som ser sodan ud

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


det skule klare dete.
Avatar billede n_riber Nybegynder
04. juli 2001 - 12:09 #4
faroe>> kan jeg placere den som en hændelse i feltet [røretid]?
04. juli 2001 - 15:10 #5
Hej Niels,

Jeg fik din mail og har kigget lidt på det:

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)

Håber, det hjælper!?

/Thomas
Avatar billede n_riber Nybegynder
05. juli 2001 - 14:04 #6
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.

Niels
05. juli 2001 - 14:12 #7
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

Er det bedre?

/Thomas
Avatar billede n_riber Nybegynder
05. juli 2001 - 14:23 #8
Ikke helt,

Jeg får en runtime error\'13\'
type mismatch, på denne linie
Me![a] = TimeSerial(Left(Y, 2), Mid(Y, 3, 2), 0)
Avatar billede n_riber Nybegynder
05. juli 2001 - 16:54 #9
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)
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester