Vba .visble

Résolu
codortis -  
acuao Messages postés 1306 Statut Membre -
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

  1. acuao Messages postés 1306 Statut Membre 266
     
    Bonjour,

    fais voir ton bout de code stp
    0
    1. codortis
       
      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
  2. acuao Messages postés 1306 Statut Membre 266
     
    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
    1. codortis
       
      merci quand même ! en tout cas j'essaie ça lundi à la première heure !!
      0
    2. acuao Messages postés 1306 Statut Membre 266
       
      le Me. c'est pour dire qu'on parle bien de la fenêtre active en vb.net
      0
    3. codortis
       
      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
    4. codortis
       
      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
    5. acuao Messages postés 1306 Statut Membre 266
       
      content que tu aies trouvé la solution de ton problème :)

      peux tu passer le sujet en résolu?
      0
  3. acuao Messages postés 1306 Statut Membre 266
     
    Oui en effet, tu as raison...
    0