Limité un champ date

Bonjour,
Dans un formulaire ,un champ date ,j'utilise la fonction Date()
mais aussi des date a 4 jours .
Je voudrai limité les enrgistrements avec un message d' avertissement.A
Au 5 ieme le message apparait que vous avez depassez le delai autorissé.
Quelqu'un peut il m'écrire cette procedure de mise a jour.
Je vous remercie pour l'aide que vous m'apportez.

5 réponses

  1. Contributeur
    Bonjour,
    Pas fort claire, pourais tu déposé un classeur exemple (sans donnée confidentielle) sur Cjoint.com par exemple et mettre le lien dans un poste suivant.
    A+
    1. Bonjour
      Merci d'avoir repondu.
      Mon probleme se pose dans un formulaire d'access 2003
      Ce que je voudrai réalisé ,c'est de pouvoir faire des enregistrements avec la date du jour.
      J'utilise la fonction Date() mais aussi saisir Date()+4. Interdire le 5 ieme jour et +
  2. Contributeur
    Peut être comme ça..
    Entree étant la variable a tester.
    Dim D As Date
        D = DateSerial(Year(Now), Month(Now), Day(Now) + 4)
        If Entree > D Then
            MsgBox "Date invalide"
            Exit Sub
        End If


    A+
    Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
    Note: Je ne répond pas aux MP pour les questions techniques. Et ma boule de cristal est cassée .
    1. Bonjour
      Private Sub DateAchat_AfterUpdate()
      Dim D As Date
      D = DateSerial(Year(Now), Month(Now), Day(Now) + 4)
      If DateAchat > D Then
      MsgBox "Date invalide"
      DateAchat = False
      Exit Sub
      End If
      
      End Sub


      Comme tu vois j'ai fait une modif et cela fonctionne.
      Maintenant comment realiser une autre condition
      de ne pas prendre compte un enregistrement inferieur a la date du jour dans la meme procedure.
      je te remercie
  3. je te remercie de ton aide
    1. j'ai modifié comme ceci
      Private Sub DateAchat_AfterUpdate()
      Dim D As Date
      Dim A As Date
      
      D = DateSerial(Year(Now), Month(Now), Day(Now) + 4)
      A = DateSerial(Year(Now), Month(Now), Day(Now) - 1)
      If DateAchat > D Or DateAchat < A Then
      DateAchat = False
      MsgBox "Date invalide"
      
      Exit Sub
      End If
      
      End Sub

      Cela enregistre bien les dates dans la fourchette
      mais lorsque c'est en dehors le message d'erreur apparrait mais iinserre une date bidon comme 30/12/1889
      Je voudrai avoir le message d'erreur avec refus de l'enregistrement
      Comment Faire?
      Merci
  4. Contributeur
    de ne pas prendre compte un enregistrement inferieur a la date du jour dans la meme procedure. 
    Avec ton système tu test une date 2 jours AVANT la date du jour.
    Met EXACTEMENT ce que j'ai mis.

    DateAchat c'est quoi exactement. ?

    PS : Tu est allergique aux accents ?

    Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
    Note: Je ne répond pas aux MP pour les questions techniques. Et ma boule de cristal est cassée .