none
[access] Valide si année en cours RRS feed

  • Question

  • Bonjour,

    je bute encore sur un petit problème.

    J'ai un formulaire dans lequel j'ai une liste déroulante qui prend sa nourriture dans une table "Clients". Sous cette liste déroulante une zone de texte dans laquelle je dois entrer une date.

    C'est dans cette zone de texte que je souhaiterai mettre une condition "Valide si". Ce que je n'arrive pas faire c'est renvoyer un message d'erreur si je tape une date dont l'année est différente de celle du système.

    J'ai essayé:

    Valide si: Année(date())

    Mais ça ne fonctionne pas.

    Par contre si je check la date complète du système:

    Valide si: date()

    La je suis obligé d'entrer la date système.

    Avez-vous une idée?

    Merci.

    jeudi 9 mai 2013 14:25

Réponses

  • C'est bon j'ai réussi à résoudre mon problème en passant par du VB.

    J'ai oublié la fonction Valide si.

    Dans l'évènement après mise à jour de ma zone de texte j'y ai mis le code:

    Private Sub Test_AfterUpdate()
    If DatePart("yyyy", Test) > DatePart("yyyy", Date) Then
       MsgBox "Date invalide"
       Cancel = False
    ElseIf DatePart("yyyy", Test) < DatePart("yyyy", Date) Then
       MsgBox "Date invalide"
       Cancel = False
    End If
    End Sub

    Et maintenant ça fonctionne, je ne peux plus mettre de date dont l'année est < ou > à l'année système. Il ne me reste plus qu'à trouver le moyen de retourner sur mon champ après l'erreur et ne plus passer à l'instruction suivante.

    jeudi 9 mai 2013 16:23
  • J'ai un peu amélioré le code:

    Private Sub Test_AfterUpdate()
    If DatePart("yyyy", Test) <> DatePart("yyyy", Date) Then
       MsgBox "Date invalide"
    End If
    End Sub

    Par contre toujours impossible de rester sur le même champ pour modifier l'erreur, je passe automatiquement au champ suivant.

    Avez-vous une idée pour rester sur le même champ afin de le modifier avant de passer au suivant?

    Merci

    jeudi 9 mai 2013 18:10

Toutes les réponses