IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

IHM Discussion :

Propriété AllowEdits d'un formulaire non prise en compte


Sujet :

IHM

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    56
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 56
    Points : 41
    Points
    41
    Par défaut Propriété AllowEdits d'un formulaire non prise en compte
    Bonjour,

    J'ai un formulaire frmCOMMANDES qui doit s'afficher en lecture ou en écriture en fonction du bouton sur lequel on clique pour le lancer.

    Le code de l'évènement "Sur clic" du Bouton "Ouverture du formulaire en lecture seule" est le suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.OpenForm "frmCOMMANDES", , , , acFormReadOnly, acWindowNormal
    Comme vous pouvez le voir, le paramètre acFormReadOnly devrait normalement faire en sorte que mon formulaire s'ouvre en lecture seule.

    Eh bien cela ne marche pas. Non seulement les champs sont éditables, mais lorsque je quitte le formulaire, les modifications ont été sauvegardées dans la base de donnée.

    Il y a pas mal de traitements à l'ouverture du formulaire, mais j'ai ouvert le formulaire en mode débuggage pas à pas, et j'ai constater que la propriété AllowEdits est toujours positionnée à False.

    J'ai même essayé de mettre AllowEdits à false directement dans le formulaire, voir dans le code de l'ouverture du formulaire, mais cela ne change rien.

    Je pense donc qu'il y a un autre paramètre qui prend le pas sur la propriété AllowEdits, ou un truc dans le genre.

    Est-ce que quelqu'un aurait une idée ?

    Merci d'avance !

  2. #2
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 281 907
    Points
    281 907
    Par défaut
    Bonjour,

    Je n'ai pas Access2010 pour tester.

    Si cela ne fonctionne pas avec l'instruction que tu montres, ouvre plutôt le formulaire avec un paramètre. Et dans l'événement "Sur ouverture" tu testes la valeur du paramètre pour positionner Me.AllowEdits à la valeur souhaitée.
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    56
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 56
    Points : 41
    Points
    41
    Par défaut
    Bonjour,

    Merci pour ta réponse. J'ai déjà fait le test dont tu parles, et j'ai le même résultat

  4. #4
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 281 907
    Points
    281 907
    Par défaut
    Cela m'étonne !

    Ton formulaire n'est sans doute pas physiquement modifié, mais si tu as positionné dans l'événement "Sur ouverture", l'utilisateur ne peut certainement pas encoder.
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    56
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 56
    Points : 41
    Points
    41
    Par défaut
    Eh oui, je suis tout à fait d'accord avec toi, d'où ma stupeur...

    Je ne comprends pas pourquoi, alors que Me.AllowEdits est bien positionné à "True", les utilisateurs peuvent modifier un enregistrement.

  6. #6
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 281 907
    Points
    281 907
    Par défaut
    Ça c'est normal ! C'est à "False" que tu dois positionner pour empêcher les modif !
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    56
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 56
    Points : 41
    Points
    41
    Par défaut
    Euh, pardon, j'ai fait une faute de frappe...

    J'ai bien positionné Me.AllowEdits à "False"

  8. #8
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 281 907
    Points
    281 907
    Par défaut
    ... et tu peux encore modifier ? Si oui, je mange mon chapeau !
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    56
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 56
    Points : 41
    Points
    41
    Par défaut
    Mais oui !

    C'est tout simplement incroyable.

    Ce que je vais faire, c'est mettre progressivement en commentaire le traitement qui a lieu à l'ouverture du formulaire pour voir ce qui prend la main sur ce paramètre.

  10. #10
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 281 907
    Points
    281 907
    Par défaut
    Fais d'abord ceci.

    Tu crées un nouveau formulaire avec un contrôle et Propriété "Modif autorisée" = OUI.

    Constate que tu peux modifier le contrôle.

    Dans l'événement "Sur Ouverture" ce code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Form_Open(Cancel As Integer)
    Me.AllowEdits = False
    End Sub
    Essaie de modifier.

    Résultat ?
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    56
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 56
    Points : 41
    Points
    41
    Par défaut
    Je n'ai même pas besoin de coder ça, car j'ai déjà dans mon application un autre formulaire pour lequel cela fonctionne parfaitement.

    La seule différence, c'est que sur l'autre formulaire, il y a beaucoup de traitements à l'ouverture, qui cachent des champs en fonction de certains paramètres, et qui calculent des champs non modifiables par l'utilisateur.

    Je pense que c'est l'un de ces traitements qui pose problème.

  12. #12
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    56
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 56
    Points : 41
    Points
    41
    Par défaut
    Donc voilà, j'ai trouvé d'où cela venait.

    Quelque part dans la procédure "Sur Activation" du formulaire, je modifie la valeur d'un champ de l'enregistrement en cours. Eh bien cela a pour effet de rendre le formulaire modifiable, quel que soit l'état du paramètre AllowEdits...

  13. #13
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 281 907
    Points
    281 907
    Par défaut
    Tu m'étonnes !

    Tu peux évidemment modifier à l'aide de code, mais l'utilisateur ne peut rien modifier.

    En d'autres mots, si Modif autorisée est à NON et que tu modifies la valeur d'un champ par le code, Modif autorisée reste à NON et l'utilisateur ne peut rien modifier.
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  14. #14
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    56
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 56
    Points : 41
    Points
    41
    Par défaut
    Oui, c'est ce que je croyais aussi, mais je t'assure que c'est l'inverse qui se produit.

  15. #15
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 281 907
    Points
    281 907
    Par défaut
    Es-tu certain que dans tout ton code, tu n'as pas un

    qui, lui, modifierait la propriété.
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  16. #16
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    56
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 56
    Points : 41
    Points
    41
    Par défaut
    Non non, je suis formel.

    J'ai mis tout le code en commentaire, à l'exception de la ligne qui modifie la valeur du champ.

  17. #17
    Nouveau Candidat au Club
    Homme Profil pro
    Amateur en VBA
    Inscrit en
    Octobre 2005
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Amateur en VBA
    Secteur : Transports

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Relance pour donner une solution
    Bonjour,

    J'ai rencontré le même problème sur les formulaires qui contiennent un code vba modifiant les champs ou des enregistrements à l'activation ou à l'ouverture d'un Formulaire.
    Le code vba désactive les propriétés :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
            Me.AllowAdditions = False
            Me.AllowDeletions = False
            Me.AllowEdits = False
    et remet tout à True.

    Pour contourner ce problème il faut mettre les lignes de commandes à la fin du code et rajouter Me.refresh pour remettre le tout à false.
    ex:
    <Votre code vba>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     Me.AllowAdditions = False
     Me.AllowDeletions = False
     Me.AllowEdits = False
     Me.Refresh
    Si ça peut aider...

Discussions similaires

  1. [IP-2010] Données externes non prises en compte dans le formulaire
    Par ateppaz dans le forum InfoPath
    Réponses: 4
    Dernier message: 13/01/2014, 09h20
  2. [Flex4] Propriétés de style non prises en compte
    Par Aleim dans le forum MXML
    Réponses: 5
    Dernier message: 12/08/2011, 13h20
  3. Variable non prise en compte dans un formulaire
    Par stomerfull dans le forum Langage
    Réponses: 2
    Dernier message: 04/08/2008, 14h36
  4. Formulaire : Données non prise en compte
    Par marco_fot_hxc dans le forum ASP
    Réponses: 8
    Dernier message: 27/05/2008, 09h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo