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

Access Discussion :

Controles Champs vide et focus


Sujet :

Access

  1. #1
    Membre régulier Avatar de hugo69
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    512
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 512
    Points : 122
    Points
    122
    Par défaut Controles Champs vide et focus
    Bonjour,

    J'ai une fonction qui me construit un objet control à partir de statiques.

    Je ne prends pas depuis le debut, car l'objet est bien crée.

    L'objet créé en question se nommera Ctl.

    Si je fais un Ctl.Value="01/01/2006" ca me met bien la valeur.
    Ainsi j'écarte l'hypothese que mon Ctl soit incorrecte.

    Mon probleme est que si je fais un Ctl.SetFocus, ca ne fait rien.

    je ne comprends pas la raison, j'ai testé pas mal de chose.

    Voici le code:

    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
    24
    25
    26
    27
    28
    29
    30
     
    Sub doEstVide "[CommissionSurTransaction],[CommissionSurTransaction_SF],[DateFinCommission]"
     
     
    Public Sub doEstVide(frm As String)
     
    Dim T() As String
    Dim Ctl As Variant
     
        'on met les noms de formulaire, sous-formulaire et control dans un tableau
        T() = Split(setConst(frm), ",")
     
        If T(2) = "" Then
     
            'si t2 est null, on a pas de sous-formulaire
            Set Ctl = Forms(T(0)).Controls(T(1))
     
        Else
     
            'On construit le controle formulaire
            Set Ctl = Forms(T(0)).Controls(T(1)).Form.Controls(T(2))
     
        End If
     
     
            Ctl.SetFocus 'la rien ne se passe
     
        End If
     
    End Sub
    merci pour votre aide

  2. #2
    Membre éclairé Avatar de ft035580
    Profil pro
    Inscrit en
    Août 2004
    Messages
    689
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 689
    Points : 812
    Points
    812
    Par défaut
    Salut,

    Juste une remarque:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    ....
    Ctl.SetFocus 'la rien ne se passe
    End If
    Pourquoi ce "End if" ?

  3. #3
    Membre régulier Avatar de hugo69
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    512
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 512
    Points : 122
    Points
    122
    Par défaut
    j'ai une condition sur le setfocus.

    Javais virer la petite condition pour simplifie le pb.
    Il nest pas en jeu, si je met un msgbox (quand ma condition est la) jai bien mon message box, donc je parcours bien la ligne setfocus.

    idem, si je met Ctl.Value = "xxx"
    Il me met bien la valeur xxx

    cest avec le Ctl.SetFocus qua jai un souci.

    Je precise que derriere mon Ctl.Value j'ai mis un "End"

  4. #4
    Membre éclairé Avatar de ft035580
    Profil pro
    Inscrit en
    Août 2004
    Messages
    689
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 689
    Points : 812
    Points
    812
    Par défaut
    Citation Envoyé par hugo69
    'On construit le controle formulaire
    Set Ctl = Forms(T(0)).Controls(T(1)).Form.Controls(T(2))
    Juste une idée,

    Si tu "construis" le contrôle , peut-être qu' un refresh ou requery seraient nécessaires avant de donner le focus à ton contrôle.

  5. #5
    Membre régulier Avatar de hugo69
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    512
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 512
    Points : 122
    Points
    122
    Par défaut
    non ca na aps lair de fonctionner.

    Tu parles d'un Ctl.Requery ?

    Quand je dis construire, c'est uniquement trouver le nom du controle et me faire une varibale objet.

Discussions similaires

  1. [AC-2010] Controle des champs vides dans un formulaire
    Par prosper02 dans le forum VBA Access
    Réponses: 3
    Dernier message: 06/07/2013, 00h04
  2. Réponses: 8
    Dernier message: 06/03/2013, 06h22
  3. Controle des champs vides - IF ELSE
    Par Jamaboss dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 24/07/2009, 20h04
  4. [Access 2000] Menu déroulant - controle du champ vide
    Par debdev dans le forum VBA Access
    Réponses: 2
    Dernier message: 20/06/2008, 12h09
  5. Test de controle champ vide
    Par jevany dans le forum Access
    Réponses: 14
    Dernier message: 27/05/2006, 17h34

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