bonjour,
j'ai trouver une solution a mon problème que voici
Private Sub PeExpert_AfterUpdate()
' vérifie si le type d'expert corespond a ouvrier spécialiser (id=4) ou fournisseur (id=5) de matériaux pour permette l'affichage du champ metier si ce la est vrai sinon il le masque
If (PeExpert.Value = 4) Or (PeExpert.Value = 5) Then
peMetier.Visible = True
Else
peMetier.Visible = False
peMetier.Value = ""
peSpecialisation.Visible = False
peSpecialisation.Value = ""
End If
DoCmd.RunCommand acCmdSaveRecord 'enregistre le record
'permet d'afficher la liste des métier selon le type d'expert choisi
peMetier.RowSource = "Select MeId, MeDesc, ExId from Metier where ExId = " & PeExpert.Value & ";"
'applique la requete
peMetier.Requery
End Sub
Private Sub peMetier_AfterUpdate()
If (peMetier.Value <> 7) Then 'vérifie si le métier est différent de entrepreneur généraux (id = 7)car celui ci n'a pas de spécialisation donc il ne permet pas l'affichage du champ spécialisation
peSpecialisation.Visible = True
Else
peSpecialisation.Visible = False
peSpecialisation.Value = ""
End If
DoCmd.RunCommand acCmdSaveRecord ' enregistre le record
'permet d'afficher seulement la liste des spécialisation du métier choisis
peSpecialisation.RowSource = "Select [SpId], [SpDesc], [MeId] from Specialisation where MeId = " & peMetier.Value
'applique la requete
peSpecialisation.Requery
End Sub