IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

IHM Discussion :

Evénement AfterUpdate sur une zone de texte


Sujet :

IHM

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 101
    Points : 39
    Points
    39
    Par défaut Evénement AfterUpdate sur une zone de texte
    Bonjour,

    Dans une zone de texte, je fais des textes sur la date saisie, je veux que après le test, le curseur reste sur la même zone, j'ai essayé .SetFocus mais cela marche si je mets le nom d'une autre zone mais pas sur la zone testée.

    Auriez-vous une solution SVP?

    Merci d'avance.

  2. #2
    Membre expérimenté Avatar de Gabout
    Homme Profil pro
    Utilisateur autodidacte
    Inscrit en
    Mai 2006
    Messages
    1 404
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Utilisateur autodidacte

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 404
    Points : 1 683
    Points
    1 683
    Par défaut
    Bonjour,

    Montre-nous ce que tu testes et comment.

    A+
    Gabout

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 101
    Points : 39
    Points
    39
    Par défaut
    Bonjour,

    J'ai écris le code comme ci-dessous :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    Private Sub DateNaissance_AfterUpdate()
        Dim NbAnnée As Integer
        NbAnnée = DateDiff("yyyy", Me.DateNaissance, Date)
        Select Case NbAnnée
            Case Is > 80
                MsgBox "La date de naissance ne peut pas être supérieure à 80 ans de l'année en cours."
                Me.DateNaissance.SetFocus
                Me.DateNaissance = ""
            Case Is = 0
                MsgBox "La date de naissance ne peut pas être dans l'année en cours."
                Me.DateNaissance.SetFocus
                Me.DateNaissance = ""
            Case Is < 16
                MsgBox "La date de naissance ne peut pas être inférieure à 16 ans de l'année en cours."
                Me.DateNaissance.SetFocus
                Me.DateNaissance = ""
        End Select
     
    End Sub
    Dès que je saisie une date incorrecte, il focus passe à la zone de texte suivante, je ne sais pas comment faire autrement...

  4. #4
    Membre expérimenté Avatar de Gabout
    Homme Profil pro
    Utilisateur autodidacte
    Inscrit en
    Mai 2006
    Messages
    1 404
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Utilisateur autodidacte

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 404
    Points : 1 683
    Points
    1 683
    Par défaut
    Bonjour,

    Essaie de traiter tes tests Avant mise à jour
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Private Sub DateNaissance_BeforeUpdate()
        Dim NbAnnée As Integer
        NbAnnée = DateDiff("yyyy", Me.DateNaissance, Date)
        Select Case NbAnnée
            Case Is > 80
                MsgBox "La date de naissance ne peut pas être supérieure à 80 ans de l'année en cours."
            Case Is = 0
                MsgBox "La date de naissance ne peut pas être dans l'année en cours."
            Case Is < 16
                MsgBox "La date de naissance ne peut pas être inférieure à 16 ans de l'année en cours."
        End Select
        Me.DateNaissance.SetFocus
        Me.DateNaissance = "" 
    End Sub
    Gabout

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 101
    Points : 39
    Points
    39
    Par défaut
    Bonjour Gabout,

    J'ai fait ce que tu m'as dis, j'ai l'erreur suivante :

    "Erreur d'exécution '2108'. Vous devez enregistrer le champ avant d'exécuter la méthode SetFocus".

    Merci d'avance.

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 101
    Points : 39
    Points
    39
    Par défaut
    Après quelques recherches sur google, j'ai trouvé une solution avec Voici mon code de nouveau pour ceux qui pourrons avoir le même problème.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     
    Private Sub DateNaissance_BeforeUpdate(Cancel As Integer)
        DoCmd.SetWarnings False
        NbAnnée = DateDiff("yyyy", Me.DateNaissance, Date)
        Select Case NbAnnée
            Case Is > 80
                MsgBox "La date de naissance ne peut pas être supérieure à 80 ans de l'année en cours."
                DateNaissance.SelStart = 0
                DateNaissance.SelLength = Len(DateNaissance.Value)
                Cancel = True
            Case Is = 0
                MsgBox "La date de naissance ne peut pas être dans l'année en cours."
                DateNaissance.SelStart = 0
                DateNaissance.SelLength = Len(DateNaissance.Value)
                Cancel = True
            Case Is < 16
                MsgBox "La date de naissance ne peut pas être inférieure à 16 ans de l'année en cours."
                DateNaissance.SelStart = 0
                DateNaissance.SelLength = Len(DateNaissance.Value)
                Cancel = True
        End Select
        DoCmd.SetWarnings True
    End Sub
    Cordialement.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 0
    Dernier message: 25/05/2009, 10h56
  2. Afficher une condition sur une zone de texte
    Par jeje22 dans le forum Access
    Réponses: 2
    Dernier message: 05/07/2007, 10h51
  3. rester bloqué sur une zone de texte
    Par Pitou5464 dans le forum Access
    Réponses: 3
    Dernier message: 18/08/2006, 18h56
  4. test sur une zone de texte
    Par vaness59199 dans le forum ASP
    Réponses: 5
    Dernier message: 06/06/2006, 21h04
  5. menu popup sur une zone de text
    Par jesus144 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 26/05/2005, 23h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo