Bonjour,
J'ai besoin d'aide pour résoudre un problème avec la fonction AllowEdit.
J'utilise cette fonction pour restreindre les modifications à un certain groupe d'usagers.
Selon le niveau d'accès attribué à l'usager, je souhaite ouvrir un formulaire (qui comporte un contrôle de navigation dont chaque onglet comporte un sous-formulaire.)
J'utilise ce code pour ouvrir le formulaire à partir de la page d'accueil, où le no_dossier correspond au numéro de dossier à ouvrir dans le formulaire:
Code : Sélectionner tout - Visualiser dans une fenêtre à part DoCmd.OpenForm "F_pt_ID_edit", , , "no_dossier = '" & no_dossier.Value & "'"
Dans le Form_load du formulaire qui s'ouvre j'ai:
Quand le formulaire s'ouvre, le sous-formulaire qui se trouve dans l'onglet ouvert par défaut va chercher le numéro de dossier du premier rentré dans la table plutôt que d'aller chercher celui qui est demandé.
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 Private Sub Form_Load() 'Transfert du nom d'usager de l'accueil au formulaire Me.txtUser = Forms!F_accueil!txtUser.Value 'Transfert du niveau d'accès de l'usager au formulaire Me.txtLevel = Forms!F_accueil!txtLevel.Value If Me.txtLevel.Value = 1 Then Me.AllowEdits = False Else Me.AllowEdits = True End If DoCmd.Close acForm, "F_accueil" End Sub
Quand je clique sur le 2e onglet, c'est le bon numéro de dossier.
Et quand je reviens par la suite sur l'onglet par défaut, c'est le bon numéro de dossier...
Par essais-erreurs, j'ai trouvé que si j'enlève le code ce-haut dans le Form_Load, ça marche.
Comment je pourrais faire pour régler ce problème?
Merci!
Partager