Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > IHM
IHM Ce forum est dédié aux questions relatives à la création de formulaires et d'états, avec ou sans code VBA, et macros.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 11/01/2012, 13h58   #1
Futur Membre du Club
 
Homme
Technicien maintenance
Inscription : août 2008
Messages : 67
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : Technicien maintenance

Informations forums :
Inscription : août 2008
Messages : 67
Points : 18
Points : 18
Par défaut Probleme de verrouillage de champs dans un formulaire

Bonjour et bonne année 2012

Je verrouille l'accés aux champs de données en modification en fonction du niveau d'habilitation de l'utilisateur avec la propriété AllowEdits (Me.AllowEdits = False).
J'ai 6 formulaire differents qui fonctionnent selon ce principe, dans 5 des 6 cas cela fonctionne parfaitement dans un des formulaires, malgré que la ligne de code ai été lu, les champs sont toujours accessibles en modifications. Pourquoi c'est de la science fiction là j'ai comparé le code avec les autre formulaires (le test est fait dans Private Sub Form_Open) a l'ouverture du formulaire. Les codes sont strictement identiques !
Ca m'énerve je ne comprent pas !!!! Merci pour les réponse éventuelles, mieux si c'est la solution

Jean Pierre
Jeanpierre71 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/01/2012, 14h12   #2
Rédacteur/Modérateur
 
Avatar de Domi2
 
Homme
Inscription : juin 2006
Messages : 6 225
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 52
Localisation : Suisse

Informations professionnelles :
Secteur : Administration - Collectivité locale

Informations forums :
Inscription : juin 2006
Messages : 6 225
Points : 9 928
Points : 9 928
Envoyer un message via Skype™ à Domi2
Bonjour,

Dans ce formulaire, à l'ouverture, tu ne modifierais pas la valeur d'un champ avec du code, par hasard ?

Domi2
__________________
Vous avez des montres, nous avons le temps ! (citation attribuée à L.-S. Senghor)

Ici, on ne perd pas de temps ! On en passe...


Access : créer des codes-barres 128 en VBA
Access : les commandes intégrées des menus

Ce message (ou un autre) vous a aidé ? Votez pour lui avec
Domi2 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/01/2012, 11h51   #3
Futur Membre du Club
 
Homme
Technicien maintenance
Inscription : août 2008
Messages : 67
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : Technicien maintenance

Informations forums :
Inscription : août 2008
Messages : 67
Points : 18
Points : 18
Ben si justement
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Private Sub Form_Open(Cancel As Integer)               ' a L'ouverture du formulaire
 Dim Monformulaire As Form
 Dim rc As DAO.Recordset
  Set Monformulaire = Forms("FModifsPiecesStockElec")  ' Initialisation du formulaire
  DoCmd.OpenForm ("FModifsPiecesStockElec")            ' ouverture du formulaire
  Set rc = Me.Recordset                                ' on pointe sur le premier enregistrement
  rc.MoveFirst
  BtSupprimePiece.Enabled = False            ' verrouille le bouton supprimer
    Select Case NiveauHabilit
    Case Is < 2
        Me.AllowEdits = False                ' verrouillage du formulaire en modification
    Case Is = 2
        Me.AllowEdits = True                 ' deverrouillage du formulaire en modification
    Case Is > 2
        Me.AllowEdits = True                ' deverrouillage du formulaire en modification
        BtSupprimePiece.Enabled = True      ' deverrouille le bouton supprimer
    End Select
  ChangeCouleur (Me)                      '  (*) gestion couleurs cases à cocher
  CalculStock                                 '  (*) calcul du stock cumulé des deux locaux
 End Sub
Les 2 subroutines que j'ai marqué dans le commentaire par (*) vont modifiés de champs du formulaires. ChangeCouleur pas trop car il n'y a que des test sur des cases à cocher.
Mais CalculStock lui modifie un champ du formulaire. Faut-il bouter hors de cette procedure ces deux intrus ?

Jean Pierre
Jeanpierre71 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/01/2012, 13h54   #4
Rédacteur/Modérateur
 
Avatar de Domi2
 
Homme
Inscription : juin 2006
Messages : 6 225
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 52
Localisation : Suisse

Informations professionnelles :
Secteur : Administration - Collectivité locale

Informations forums :
Inscription : juin 2006
Messages : 6 225
Points : 9 928
Points : 9 928
Envoyer un message via Skype™ à Domi2
Si tu modifies une valeur de champ, ton formulaire devient modifiable. Extrait de l'aide :

Citation:
Modifier par programme la valeur d'un champ rend l'enregistrement en cours modifiable, indépendamment de la valeur de la propriété AllowEdits. Si vous voulez empêcher l'utilisateur de modifier un enregistrement (AllowEdits est égal à Non) que vous devez modifier par programme, enregistrez l'enregistrement après toutes les modifications par programme ; la valeur de la propriétéAllowEdits sera respectée à nouveau après l'enregistrement de toutes les modifications à l'enregistrement en cours qui n'avaient pas été enregistrées.
Donc, essaye de forcer l'enregistrement des données après avoir modifié la valeur de ton champ et vérifie si cela ne te crée pas un autre souci.
__________________
Vous avez des montres, nous avons le temps ! (citation attribuée à L.-S. Senghor)

Ici, on ne perd pas de temps ! On en passe...


Access : créer des codes-barres 128 en VBA
Access : les commandes intégrées des menus

Ce message (ou un autre) vous a aidé ? Votez pour lui avec
Domi2 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/01/2012, 10h40   #5
Futur Membre du Club
 
Homme
Technicien maintenance
Inscription : août 2008
Messages : 67
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : Technicien maintenance

Informations forums :
Inscription : août 2008
Messages : 67
Points : 18
Points : 18
Merci le probléme est solutionner. C'etait la subroutine CalculStock qui posait probléme. J'ai mis un test de niveau d'habilite dans les 3 appels a cette procedure dans le code du formulaire.
Merci encore

Jean Pierre
Jeanpierre71 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 22h52.


 
 
 
 
Partenaires

Hébergement Web