Vba .visble

Résolu/Fermé
codortis - 18 nov. 2011 à 09:29
acuao Messages postés 1098 Date d'inscription mardi 8 décembre 2009 Statut Membre Dernière intervention 17 juillet 2013 - 24 nov. 2011 à 23:56
Bonjour,

J'ai fait des formulaires dans lesquels je cache des champs (on current) qui ne s'ouvrent qu'en fonction du choix fait via un champs x ( x on click )
jusqu'ici tout marche.
Je veux en refaire un mais access refuse mon .visible (il ne me propose que .value dans les v) hors les autres fonctionnent toujours !
Quelqu'un aurait-il une idée du pourquoi du comment ?

3 réponses

acuao Messages postés 1098 Date d'inscription mardi 8 décembre 2009 Statut Membre Dernière intervention 17 juillet 2013 259
18 nov. 2011 à 09:43
Bonjour,

fais voir ton bout de code stp
0
Voici les .visible qui fonctionnent derrière un de mes formulaire

Private Sub Form_Current()

If ref_rt_ta = 1 Then
sf_emp_pap.Visible = True
sf_emp_elec.Visible = False
ElseIf ref_rt_ta = 2 Or ref_rt_ta = 3 Then
sf_emp_pap.Visible = False
sf_emp_elec.Visible = True
Else
sf_emp_pap.Visible = False
sf_emp_elec.Visible = False
End If

If ref_rt_type_dossier = 1 Then
ref_p_nom.Visible = True
ref_p_prenom.Visible = True
ref_intitule.Visible = False
Else
ref_intitule.Visible = True
ref_p_nom.Visible = False
ref_p_prenom.Visible = False
End If
End Sub

Private Sub Modifiable287_AfterUpdate()
Modifiable287.Requery
If ref_rt_type_dossier = 1 Then
ref_p_nom.Visible = True
ref_p_prenom.Visible = True
ref_intitule.Visible = False
Else
ref_intitule.Visible = True
ref_p_nom.Visible = False
ref_p_prenom.Visible = False
End If
End Sub

Private Sub Modifiable277_AfterUpdate()
If ref_rt_ta = 1 Then
sf_emp_pap.Visible = True
sf_emp_elec.Visible = False
ElseIf ref_rt_ta = 2 Or ref_rt_ta = 3 Then
sf_emp_pap.Visible = False
sf_emp_elec.Visible = True
Else
sf_emp_pap.Visible = False
sf_emp_elec.Visible = False
End If
End Sub
0
acuao Messages postés 1098 Date d'inscription mardi 8 décembre 2009 Statut Membre Dernière intervention 17 juillet 2013 259
18 nov. 2011 à 19:30
heu j'avoue ne pas trop savoir, en fait je vais du vb.net mais sans acces

ça ne se fait peut être pas avec acces mais as tu essayé me faire
Me.sf_emp_elec.Visible = False?
0
merci quand même ! en tout cas j'essaie ça lundi à la première heure !!
0
acuao Messages postés 1098 Date d'inscription mardi 8 décembre 2009 Statut Membre Dernière intervention 17 juillet 2013 259
19 nov. 2011 à 15:58
le Me. c'est pour dire qu'on parle bien de la fenêtre active en vb.net
0
ouais merci mais à mon avis ça ne vient pas de là parce que le code que je t'ai mis là ce sont tous les .visible qui marchent. Voilà tout le VBA peut être que j'ai fait quelque chose qui a eu pour effet qu'il n'accepte plus de .visible (il dit que .visible ne correspond pas à la méthode) si je veux ajouter

(on current)
ref_tri_precision.visible=false
ref_an_tri.visible=false
(ref_rt_destination_finale_click)
if ref_rt_destination_finale=1 then
ref_tri_precision.visible=true
ref_an_tri.visible=true
end if

Sinon voilà tout ce qui est fait en VBA et qui marche.
(Peut être que ça peut aider mais il y a des onglets dans mon formulaire)

Option Compare Database


Private Sub Form_Current()

If ref_rt_ta = 1 Then
sf_emp_pap.Visible = True
sf_emp_elec.Visible = False
ElseIf ref_rt_ta = 2 Or ref_rt_ta = 3 Then
sf_emp_pap.Visible = False
sf_emp_elec.Visible = True
Else
sf_emp_pap.Visible = False
sf_emp_elec.Visible = False
End If

If ref_rt_type_dossier = 1 Then
ref_p_nom.Visible = True
ref_p_prenom.Visible = True
ref_intitule.Visible = False
Else
ref_intitule.Visible = True
ref_p_nom.Visible = False
ref_p_prenom.Visible = False
End If
End Sub



Private Sub Modifiable277_AfterUpdate()
If ref_rt_ta = 1 Then
sf_emp_pap.Visible = True
sf_emp_elec.Visible = False
ElseIf ref_rt_ta = 2 Or ref_rt_ta = 3 Then
sf_emp_pap.Visible = False
sf_emp_elec.Visible = True
Else
sf_emp_pap.Visible = False
sf_emp_elec.Visible = False
End If
End Sub

Private Sub Modifiable287_AfterUpdate()
Modifiable287.Requery
If ref_rt_type_dossier = 1 Then
ref_p_nom.Visible = True
ref_p_prenom.Visible = True
ref_intitule.Visible = False
Else
ref_intitule.Visible = True
ref_p_nom.Visible = False
ref_p_prenom.Visible = False
End If
End Sub


Private Sub modifiable287_NotInList(NewData As String, Response As Integer)
Dim rst As DAO.Recordset
If MsgBox("L'élément [" & NewData & "] ne figure pas dans la liste. Voulez-vous l'ajouter ?", vbQuestion + vbYesNo) = vbYes Then
Set rst = CurrentDb.OpenRecordset("t_type_dossier")
rst.AddNew
rst!td_nom = NewData
rst.Update
rst.Close
Set rst = Nothing
End If
Response = acDataErrAdded
End Sub

Private Sub Modifiable317_AfterUpdate()
Me.Requery
End Sub

Private Sub Modifiable317_NotInList(NewData As String, Response As Integer)
Dim rst As DAO.Recordset
If MsgBox("L'élément [" & NewData & "] ne figure pas dans la liste. Voulez-vous l'ajouter ?", vbQuestion + vbYesNo) = vbYes Then
Set rst = CurrentDb.OpenRecordset("t_langue")
rst.AddNew
rst!lang_nom = NewData
rst.Update
rst.Close
Set rst = Nothing
End If
Response = acDataErrAdded
End Sub
0
J'ai la solution !!! Enfin j'ai trouvé mon erreur : En fait j'avais fait un formulaire et ensuite des copies pour d'autre formulaires donc le nom de mon champs n'était plus ref_tri_precision mais modifiable_275 c'est pour cela qu'il n'acceptait pas le .visible !!! Encore merci d'avoir réfléchi à mon mon problème ;-)
0
acuao Messages postés 1098 Date d'inscription mardi 8 décembre 2009 Statut Membre Dernière intervention 17 juillet 2013 259
22 nov. 2011 à 21:52
content que tu aies trouvé la solution de ton problème :)

peux tu passer le sujet en résolu?
0
acuao Messages postés 1098 Date d'inscription mardi 8 décembre 2009 Statut Membre Dernière intervention 17 juillet 2013 259
19 nov. 2011 à 20:10
Oui en effet, tu as raison...
0