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 :

Retour dans un contrôle si le contenu est invalide


Sujet :

IHM

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 78
    Points : 45
    Points
    45
    Par défaut Retour dans un contrôle si le contenu est invalide
    Bonjour


    j'ai deux contrôles sur un formulaire, liée a une table. Dans le premier je test, par VBA et dans l'évènement AfterUpdate() ou Exit() , si la valeur saisie est valide. Si elle ne l'est pas je voudrais annuler la valeur saisie et retourner dans le premier contrôle.
    J'arrive a annuler cette valeur (avec me.undo), mais je ne parviens pas a retourner dans le premier contrôle, j'ai testé .setfocus et docmd.gotocontrol


    merci de votre aide.

  2. #2
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Si tu pouvais nous mettre ton code, ce serait plus pratique !

    Normalement, c'est avec un setfocus que l'on retourne sur un contrôle.
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 78
    Points : 45
    Points
    45
    Par défaut
    ok merci de ton aide.

    voici le code. Disons que la valeur invalide pourrait être la saisie de la chaine "test".

    J'ai "quoté" le DoCmd dans cet exemple, mais je l'ai également testé


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Private Sub Ctrl1_Exit(Cancel As Integer)
    If Me!Ctrl1 = "test" Then
        Me![Ctrl1].SetFocus
        'DoCmd.GoToControl "Ctrl1"
    End If
    End Sub
    j'ai mis le fichier .mdb en ligne ici :
    http://fredoh91.free.fr/Access/TestSortie.mdb

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 78
    Points : 45
    Points
    45
    Par défaut
    J'ai réussi a forcer le retour dans le contrôle contenant la valeur invalide (Ctrl1).
    Pour cela, j'ai déjà placé le focus sur le contrôle Ctrl2 puis je replace le focus sur le Ctrl1.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub Ctrl1_Exit(Cancel As Integer)
    If Me!Ctrl1 = "test" Then
        Me![Ctrl2].SetFocus
        Me![Ctrl1].SetFocus
    End If
    End Sub

  5. #5
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    J'ai regarde ce que tu as mis dans le post, mais effectivement, comme tu le fait ça marche, car on ne peut donner le focus à un contrôle qui le possède.

    Le fait de basculer le focus sur un autre contrôle et revenir ensuite fonctionne.
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 78
    Points : 45
    Points
    45
    Par défaut
    ok bien conclu, merci

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 13/05/2009, 09h19
  2. Réponses: 4
    Dernier message: 19/04/2009, 13h44
  3. Réponses: 5
    Dernier message: 12/03/2009, 17h25
  4. chercher les contrôles dans un usf lorsque son nom est dans une variable
    Par Jean-Pierre49 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 22/04/2008, 08h14
  5. Retour a la ligne dans un textarea quand le mot est trop long
    Par avogadro dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 27/11/2006, 15h35

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