Automatische datum in formulier

Status
Niet open voor verdere reacties.

IngeJ

Gebruiker
Lid geworden
23 jun 2016
Berichten
72
Beste VBA wizzards,

Kunnen jullie mij helpen met het volgende:
Ik heb een database gebouwd in Excel (wij hebben geen Acces). In de database heb ik een aantal formulieren gemaakt, onder andere 1 om nieuwe participanten toe te voegen. In het formulier moet een aanvangsdatum ingevuld worden en een einddatum.

Nu krijg ik van de gebruikers de vraag of de einddatum in het formulier automatisch een jaar na de aanvangsdatum kan worden. Kan iemand mij daarmee helpen?

Alvast bedankt!

Inge
 

Bijlagen

In welk formulier moet dat komen?
 
Dan is het duidelijk:
Code:
Private Sub txtaanmelding_AfterUpdate()
    Me.txtuitstroom = DateAdd("yyyy", 1, CDate(Me.txtaanmelding))
End Sub
 
Of met foutcontrole:
Code:
Private Sub txtaanvang_Exit(ByVal Cancel As MSForms.ReturnBoolean)
    On Error GoTo Fout
    txtuitstroom.Text = DateAdd("yyyy", 1, CDate(txtaanvang.Text))
    Exit Sub
    
Fout:
    If txtaanvang.Text <> "" Then
        MsgBox "Incorrecte datum: " & txtaanvang.Text, vbCritical
        Cancel = True
    End If
End Sub

In dit geval gebruik ik de Datum aanvang.
De textbox wordt niet verlaten als er geen geldige datum is ingegeven.
 
Laatst bewerkt:
Bedankt voor het meedenken ook Edmoor, heb de code van Octafish al in mijn bestand gezet maar ga die van jouw ook nog even proberen!

Inge
 
Ik zou, als je toch een foutafvanging inbouwt, niet checken op een leeg tekstveld, maar of het veld ook daadwerkelijk een datum bevat. Je hebt namelijk niks aan een veld dat de tekst "abd" bevat; dat is niet leeg maar zal toch geen datum opleveren.
Code:
Private Sub txtaanmelding_Exit(ByVal Cancel As MSForms.ReturnBoolean)
    On Error GoTo Fout
    Me.txtuitstroom.Text = DateAdd("yyyy", 1, CDate(Me.txtaanmelding.Text))
    Exit Sub
    
Fout:
    If Not IsDate(txtaanvang.Text) Then
        MsgBox "Incorrecte datum: " & Me.txtaanvang.Text, vbCritical
        Me.txtaanmelding = Null
        Cancel = True
    End If
End Sub
 
Helemaal correct :)
 
Altijd het laatste woord :D
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan