• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Datum vergelijken in textboxen

Status
Niet open voor verdere reacties.

allard1

Gebruiker
Lid geworden
5 dec 2006
Berichten
314
Geachte Dames en Heren,

Ik heb een formulier met daarop twee textboxen. In textbox 1 (tb1) staat de systeemdatum in textbox2(tb2) vul ik naar eigen inzicht een datum. Nu wil ik dat, wanneer de datum in het verleden ligt, ik een melding krijg. Nu heb ik hiervoor de volgende code gemaakt. Bij het activeren:
Code:
Private Sub UserForm_activate()
Dim Mydate, myshortdate
Mydate = Date
myshortdate = CDate(Mydate)
Me.tbdatum1.Value = Mydate
End Sub

Na het vullen van de tweede textbox (tbdatum2) heb ik de volgende code

Code:
Private Sub tbdatum2_Afterupdate()

Dim datumnieuw
datumnieuw = CDate(Me.tbdatum2.Value)
If datumnieuw < Me.tbdatum1 Then
MsgBox "Hij doet ut"
End If
End Sub

Hij doet het prima gedurende 2008 maar zodra ik enige datum in 2009 invul krijg ik automatisch waarschuwing "Hij doet ut", maar hij doet ut dus niet :) Heeft iemand een idee hoe dit op te lossen?

Groet,
Allard
 
In dit voorbeeld kijkt hij of ingevulde datum ouder is dan 6 weken
Code:
Sub controleer()
Dim mydate
mydate = DateValue(TextBox2.Value) + 42
If Not mydate > Date Then
TextBox2.BackColor = ConvertColor("red")
Else
TextBox2.BackColor = ConvertColor("white")
Exit Sub
End If
End Sub
Hier geeft hij textbox1 de systeem datum
Code:
Private Sub UserForm_Activate()
TextBox1.Value = Date
End Sub

Zorgt voor het verkleuren van de cel als de datum is verstreken.
Code:
Function ConvertColor(Kleur As String) As Long

Select Case LCase(Kleur)
Case "red"
    ConvertColor = RGB(255, 0, 0)
Case "white"
    ConvertColor = RGB(255, 255, 255)
End Select
End Function

Misschien kun je hier uithalen wat je nodig hebt om de datums te vergelijken. Deze code werkt voor de gene waar ik hem voor heb gemaakt om te kijken of een order al langer dan 6 weken geleden is.
 
In dit voorbeeld kijkt hij of ingevulde datum ouder is dan 6 weken
Code:
Sub controleer()
Dim mydate
mydate = DateValue(TextBox2.Value) + 42
If Not mydate > Date Then
TextBox2.BackColor = ConvertColor("red")
Else
TextBox2.BackColor = ConvertColor("white")
Exit Sub
End If
End Sub
Hier geeft hij textbox1 de systeem datum
Code:
Private Sub UserForm_Activate()
TextBox1.Value = Date
End Sub

Zorgt voor het verkleuren van de cel als de datum is verstreken.
Code:
Function ConvertColor(Kleur As String) As Long

Select Case LCase(Kleur)
Case "red"
    ConvertColor = RGB(255, 0, 0)
Case "white"
    ConvertColor = RGB(255, 255, 255)
End Select
End Function

Misschien kun je hier uithalen wat je nodig hebt om de datums te vergelijken. Deze code werkt voor de gene waar ik hem voor heb gemaakt om te kijken of een order al langer dan 6 weken geleden is.

Hoi Relleboer,

Ik heb de code wat aangepast, maar hij werkt fantastisch :) Dankbaar ben ik en onderstaand de nieuwe code
Code:
Private Sub tbdatum2_afterupdate()
Dim mydate
mydate = DateValue(tbdatum2.Value)
If Not mydate < Date Then
Else
MsgBox "Hij doet ut"
Exit Sub
End If

End Sub

Groet en nogmaals bedankt!

Allard
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan