Avatar billede juks Novice
01. august 2001 - 19:51 Der er 6 kommentarer og
1 løsning

validering af tid

jeg har en underformular der binder sig til et datofelt. I underformularen skal man så indtaste start og slut tid og hvis slut- eller starttiden overlapper en tidligere indtastet tid skal der så komme en popup box der spørge om man er skikker på man vil overlapper den. hvis man så siger ja skal den fortsætte det vil sige gemme den ellers skal bare sidder forcus tilbage på fx sluttiden ...

håber der er nogen der har nogle idere...
Avatar billede terry Ekspert
01. august 2001 - 19:59 #1
what part do you have problems with?
Avatar billede mugs Novice
01. august 2001 - 20:10 #2
Enig med Terry - det er svært at hjælpe når du ikke definerer dit problem bedre.

Men et skud i tågen:
du kan lave en If..Then sætning / Select Case der måler på felterne i underformularen. hvis denne periode overlapper den tidligere indtastede tid, så laver du en MsgBox der siger sådan og sådan. Hvis den ikke overlapper Then Exit sub.

Mvh / Mugs
Avatar billede juks Novice
02. august 2001 - 09:05 #3
jeg ville gerne have nogle idere til koden ...
da jeg ikke helt gangennemskue det .......
Avatar billede mugs Novice
02. august 2001 - 09:31 #4
If Start >= Tidligere indtastet And <= Tidligere indtastet tid Then
MsgBox skriv noget
Else:
gør noget andet

Det er kort og ikke fuldendt, men jeg skal til et møde nu.

Mugs
Avatar billede mugs Novice
05. oktober 2001 - 07:28 #5
Behøver du stadig hjælp?
Ellers vær venlig at afslutte spørgsmålet.
Avatar billede terry Ekspert
05. oktober 2001 - 08:14 #6
Private Sub txtStartDate_BeforeUpdate(Cancel As Integer)
    If Not DateOverlap(Me.txtStartDate) Then
        If IsDate(Me.txtStartDate) Then Me.txtEndDate = Me.txtStartDate
    Else
        Cancel = True
    End If

End Sub

Private Sub txtEndDate_BeforeUpdate(Cancel As Integer)
    If Me.txtEndDate < Me.txtStartDate Then
        msgBox \"End date less than start date.\", vbInformation
        Cancel = True
    Else
        If DateOverlap(Me.txtEndDate) Then
            Cancel = True
        End If

    End If
End Sub

Function DateOverlap(TheDate As Date) As Boolean
\'If chkCheckForOverlap = True.
\'Checks to see if TheDate overlaps in an existing period.

    If Me.chkCheckDateOverlap Then
        If DCount(\"openPeriodID\", \"tblLocalDefaultOpenCalendar\", \"#\" & Format(TheDate, \"mm-dd-yyyy\") & \"# Between StartDate and Enddate\") Then
            msgBox \"The date overlaps with an existing period.\", vbInformation
            DateOverlap = True
           
        End If
    Else
        DateOverlap = False
    End If

End Function
Avatar billede terry Ekspert
05. oktober 2001 - 08:15 #7
There is a bit of code which isnt necessary but hopefully it will give you some ideas!

terry
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