Probleme code VBA pour access 2007

Résolu/Fermé
griffouiris Messages postés 17 Date d'inscription vendredi 15 juin 2012 Statut Membre Dernière intervention 29 juin 2012 - Modifié par griffouiris le 18/06/2012 à 08:58
griffouiris Messages postés 17 Date d'inscription vendredi 15 juin 2012 Statut Membre Dernière intervention 29 juin 2012 - 18 juin 2012 à 11:52
Bonjour,

Voici ce qui me préoccupe en ce moment à mon stage en entreprise.
Je dois créer une base de données avec access 2007 mais il y a une chose qui me coince.

J'ai un formulaire "saisie_reunion" dans lequel il y a une liste deroulante "instance"avec comme contenu "DP","CE-normal",etc ... puis un sous-formulaire "question_reponse_sous_formulaire".
Selon le choix de la liste deroulante différents champs apparaissent sous forme de zone de texte donc je les rend visible ou invisible.
C'est la que arrive l'ennui, dans mon sous-formulaire un des champs est un champs lien hypertexte "rapport_CE".
Tant que je ne clique pas dans ce dernier tout ce passe bien les champs ce camoufle et reviennent selon l'instance mais si par malheur je clique dans le champs hypertexte et que par la suite je change d'instance. C'est le gros BUG ! il me dit quel'on ne peut pas rendre un controle actif invisible. J'ai d'abord penser à réinitialiser le champ hypertexte a chaque clic dans la liste deroulante mais je ne trouve pas de synthax qui convienne voici une partie de mon code en esperant avoir votre précieuse aide.

Private Sub instance_Click() 

If instance = "CE-normal" Then 'Si dans  instance(liste deroulante) il y a la valeur "CE-normal" 
     Me.num_DP.Visible = False 'la zone texte num_DP est invisible 
     Me.num.Visible = False ' num invisible 
     Me.num_PV.Visible = True ' num_PV visible 
     Me.CE_partie.Visible = True ' CE_partie visible 
     Forms![saisie_reunion]![question_reponse_sous_formulaire].Form![rapport_CE].Visible = True 'rend visible la zone de saisie hypertext(rapport_CE) du sous-formulaire des questions depuis le formulaire principal (saisie_reunion) 
     Forms![saisie_reunion]![question_reponse_sous_formulaire].Form![reponse].Visible = False 'rend invisible la zone de saisie(reponse) du sous-formulaire des questions depuis le formulaire principal (saisie_reunion) 
        Else 
            If instance = "DP" Then  ' comme précédement Mais selon la valeur de la liste "DP" 
                Forms![saisie_reunion]![question_reponse_sous_formulaire].Form![rapport_CE] = Null 
                Me.num_DP.Visible = True 
                Me.num.Visible = False 
                Me.num_PV.Visible = False 
                Me.CE_partie.Visible = False 
                Forms![saisie_reunion]![question_reponse_sous_formulaire].Form![rapport_CE].Visible = False 
                Forms![saisie_reunion]![question_reponse_sous_formulaire].Form![reponse].Visible = True 
                 Else 



merci a ceux qui aurons du temps a me consacrer ^^
A voir également:

2 réponses

blux Messages postés 26008 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 26 avril 2024 3 289
Modifié par blux le 18/06/2012 à 11:29
Salut,

ce qu'il faudrait faire, c'est passer le focus à un autre champ avant de le remasquer...

ma_zone.SetFocus
A+ blux
 "Les cons, ça ose tout.    
C'est même à ça qu'on les reconnait"
0
griffouiris Messages postés 17 Date d'inscription vendredi 15 juin 2012 Statut Membre Dernière intervention 29 juin 2012 3
Modifié par griffouiris le 18/06/2012 à 11:52
Merci, ça fonctionne.
Je n'avais pas du tout penser à cela.

Encore merci, j'ai enfin fini cette partie de mon projet.
0