Avatar billede Slettet bruger
20. januar 2005 - 09:57 Der er 8 kommentarer og
1 løsning

Hvorfor virker koden ikke

Jeg har 3 felter i min formular; start2, slut2 og skylletid2. Jeg kan skrive eksempelvis 123, 222, 5 og det vises så som 01:23, 02:22, 00:05

Nedenstående kode skal så udfylde felterne start, slut og skylletid. Start og slut skal desuden have en dato på, som tager højde for evt. datoskift, men koden virker ikke. Der stoppes når standarddatoen forsøges sat sammen.

If start2 > 0 And slut2 > 0 And skylletid > 0 Then

    If start2 > slut2 Then 'Datoskift
       
        If Len(Me!start2) < 3 Then
            Me!start = Me!dato - 1 & TimeSerial(0, Me!start2, 0)
        Else
            Me!start = Me!dato - 1 & TimeSerial(Left(Me!start2, Len(Me!start2) - 2), Right(Me!start2, 2), 0)
        End If
       
        If Len(Me!slut2) < 3 Then
            Me!slut = Me!dato & TimeSerial(0, Me!slut2, 0)
        Else
            Me!slut = Me!dato & TimeSerial(Left(Me!slut2, Len(Me!slut2) - 2), Right(Me!slut2, 2), 0)
        End If
       
        If Len(Me!skylletid2) < 3 Then
            Me!skylletid = TimeSerial(0, Me!skylletid2, 0)
        Else
            Me!skylletid = TimeSerial(Left(Me!skylletid2, Len(Me!skylletid2) - 2), Right(Me!skylletid2, 2), 0)
        End If
       
    Else 'Uden datoskift

        If Len(Me!start2) < 3 Then
            Me!start = Me!dato & TimeSerial(0, Me!start2, 0)
        Else
            Me!start = Me!dato & TimeSerial(Left(Me!start2, Len(Me!start2) - 2), Right(Me!start2, 2), 0)
        End If
       
        If Len(Me!slut2) < 3 Then
            Me!slut = Me!dato & TimeSerial(0, Me!slut2, 0)
        Else
            Me!slut = Me!dato & TimeSerial(Left(Me!slut2, Len(Me!slut2) - 2), Right(Me!slut2, 2), 0)
        End If
       
        If Len(Me!skylletid2) < 3 Then
            Me!skylletid = TimeSerial(0, Me!skylletid2, 0)
        Else
            Me!skylletid = TimeSerial(Left(Me!skylletid2, Len(Me!skylletid2) - 2), Right(Me!skylletid2, 2), 0)
        End If

    End If

End If


Hvad er problemet og hvordan løses det.
20. januar 2005 - 10:06 #1
Skal der ikke stå:

If start2 > 0 And slut2 > 0 And skylletid2 > 0 Then
i første linie? (Skylletid2 i stedet for Skylletid)
20. januar 2005 - 10:08 #2
Du mangler desuden også et mellemrum de stedet, hvor du sætter dato og tid sammen:

f.eks.:

Me!start = Me!dato & TimeSerial(0, Me!start2, 0)

skal være:

Me!start = Me!dato & " " & TimeSerial(0, Me!start2, 0)
20. januar 2005 - 10:08 #3
Og hvorfor skal Skylletid ikke have dato med?
Avatar billede Slettet bruger
20. januar 2005 - 10:25 #4
Jeg prøver lige at få de ting med. Skylletid behøver ikke dato da det normalt er 5 min. som bliver lagt til tid=slut-start, som er KortKlokkeslæt.
Avatar billede Slettet bruger
20. januar 2005 - 10:32 #5
Der står den indtastede værdi passer ikke til dette felt og så standser debug i Me!start = Me!dato & TimeSerial(Left(Me!start2, Len(Me!start2) - 2), Right(Me!start2, 2), 0)
20. januar 2005 - 10:34 #6
Du mangler stadig mellemrummet på den linie. Måske er det det?
Avatar billede Slettet bruger
20. januar 2005 - 10:36 #7
Nej, jeg så det.. Der ligger den samme kode på alle 3 felter og den var gået videre til en, som jeg ikke havde opdateret. Dine forslag virkede, tak!~)
Avatar billede Slettet bruger
20. januar 2005 - 10:37 #8
10:34:41> Øhh.. Ja, det er det
20. januar 2005 - 10:38 #9
Super :)
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