• 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.

Controle juiste datum invoer

Status
Niet open voor verdere reacties.

uchhie

Gebruiker
Lid geworden
29 jan 2009
Berichten
34
Hallo allemaal,

Ik heb een userform gemaakt waarbij de gebruikers ook een datum moet invoeren. Dit is meestal niet de huidige datum, maar een datum uit het verleden. Op het moment dat de de gebruiker op de knop toevoegen klikt van het formulier worden de gegevens toegevoegd aan een database. Voordat de gegevens toegevoegd worden aan de database wil ik graag dat er eerst een controle plaatstvindt of er een datum is ingevoerd en of juiste datumnotering is gebruikt. Bij de juiste datumnotatie, wil ik graag dat de gebruiker de volgende notering gebruikt dd-mm-jj (26-10-10).

Het is me wel gelukt om een controle uit te voeren op de datuminvoer, zie deel van de code onder. Maar nog niet voor de juiste datumnotering. Ik heb heel wat op het internet zitten afpluizen, maar niets kunnen vinden hoe ik dat kan aanpakken. Hopelijk dat jullie mij een eind op weg kunnen helpen.

Code:
Private Sub cmdAdd_Click()
Dim lRow As Long
Dim ws As Worksheet
Set ws = Worksheets("Database")

Application.ScreenUpdating = False
ActiveWorkbook.Save

lRow = ws.Cells(Rows.Count, 2) _
  .End(xlUp).Offset(1, 2).Row

If Trim(Me.cboDatummail.Value) = "" Then
  Me.cboDatummail.SetFocus
 MsgBox "Geef datum van de mail op?"
  Exit Sub
End If

With ws
  .Cells(lRow, 2).Value = Me.cboUser.Value
  .Cells(lRow, 3).Value = Me.txtDate.Value
  .Cells(lRow, 4).Value = Me.cboDatummail.Value
End With

Me.cboUser.Value = ""
Me.txtDate.Value = Format(Date, "Medium Date")
Me.cboDatummail.Value = ""
Me.cboDatummail.SetFocus
Application.ScreenUpdating = True
ActiveWorkbook.Save
Unload Me
End Sub
 
Laatst bewerkt:
Waarom niet de uitvoer controleren(bijsturen) bij het wegschrijven ?
Code:
.Cells(lRow, 4).Value = Format(Me.cboDatummail.Value,"dd-mm-yy")
 
Laatst bewerkt:
Opgelost

Waarom niet de uitvoer controleren(bijsturen) bij het wegschrijven ?
Code:
.Cells(lRow, 4).Value = Format(Me.cboDatummail.Value,"dd-mm-yy")

Daar had ik nog niet aangedacht, dit is veel eenvoudige en je valt de gebruiker er ook niet mee lastig. Bedankt Warme bakkertje :thumb:
 
correct ingevoerde datum toch aangepast

Ik heb de controle op de uitvoer gezet, maar ik loop regelmatig tegen het volgende probleem aan. Als de datum invoer 01-11-10 is dan wordt deze bij de uitvoer aangepast in 11-01-10, dit blijkt in de begin van een maan dte gebeuren. Hoe kan ik voorkomen dat een correct ingevoerde datum bij de uitvoer alsnog aangepast wordt?
 
Opgelost

Waarschijnlijk een foutje in XL97. De uitvoer wordt telkens mm-dd-yy. Heb de datumnotatie omgedraaid in de code en de uitvoer wordt nu dd-mm-yy.

Code:
.Cells(lRow, 4).Value = Format(Me.cboDatummail.Value,"mm-dd-yy")
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan