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 :

Formulaire et .AllowEdits


Sujet :

IHM

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 64
    Points : 33
    Points
    33
    Par défaut Formulaire et .AllowEdits
    Bonjour,

    J'ai un petit soucis de code.

    Explications : J'ai un formulaire F_FACTURATION et un sous-Formulaire SsF_FACTURATION_Détails
    Si le champ oui/non "Imprimée"du formulaire F_FACTURATION est coché je ne veux pas autoriser les modification du sous formulaire SsF_FACTURATION_Détails

    voilà le code que j'ai mis sur activation du formulaire F_FACTURATION en utilisant la faq (http://access.developpez.com/faq/?pa...dirModifssForm)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub Form_Current()
        If Me.Imprimée = True Then
            Me.SsF_FACTURATION_Détails.AllowEdits = False
        Else
            Me.SsF_FACTURATION_Détails.AllowEdits = True
     
    End Sub
    Sur ".AllowEdits =" il me mets :
    Erreur de compilation :
    Membre de méthode ou de données introuvables
    Comment corriger la fonction pour arriver au résultat voulu

    Merci
    mais cela ne fonctionne pas

  2. #2
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 006
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 006
    Points : 24 598
    Points
    24 598
    Par défaut
    Bonjour,

    Je te conseille de suivre à la lettre la syntaxe données par la FAQ !

    Après correction tu verras que ça fonctionne.

    Cordialement,
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 64
    Points : 33
    Points
    33
    Par défaut
    Citation Envoyé par loufab
    Je te conseille de suivre à la lettre la syntaxe données par la FAQ !
    Après correction tu verras que ça fonctionne.
    Quel con je fais !!!! ok plus de problème de débogage

    Par contre cela ne fonctionne pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub Form_Current()
        If Me.Coche_Imprimee = True Then
            Me.SsF_FACTURATION_Détails.Form.AllowEdits = False
        Else
            Me.SsF_FACTURATION_Détails.Form.AllowEdits = True
        End If
     
    End Sub
    Quand Coche_Imprimee est coché je peux toujours faire des modification dans mon sous-formulaire SsF_FACTURATION_Détails !!!

    pourquoi ma fonction ne bloque pas ces modifications ?

    Merci de votre aide

  4. #4
    jnore
    Invité(e)
    Par défaut
    essaie comme ceci

    Private Sub Form_Current()
    If Me!Coche_Imprimee = True Then
    Me!SsF_FACTURATION_Détails.Form.AllowEdits = False
    Else
    Me!SsF_FACTURATION_Détails.Form.AllowEdits = True
    End If

    End Sub

  5. #5
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub Coche_imprimee_Afterupdate()
      If Me.Coche_Imprimee = True Then  Me.SsF_FACTURATION_Détails.Form.AllowEdits = False  
    Else  Me.SsF_FACTURATION_Détails.Form.AllowEdits = True  
    End If  
    End Sub
    Le test doit être refait lors de la mise à jour du checkbox.
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 64
    Points : 33
    Points
    33
    Par défaut
    je comprends pas bien.

    Il faut faire le code de jnore ET de Heureux-oli ?
    Parce que pour l'instant je les ai testé séparément et ça ne fonctionne pas

    Si vous souhaitez je peux vous mettre la base à disposition ...

  7. #7
    jnore
    Invité(e)
    Par défaut
    il faut faire les 2
    tu insère le code


    If Me!Coche_Imprimee = True Then
    Me!SsF_FACTURATION_Détails.Form.AllowEdits = False
    Else
    Me!SsF_FACTURATION_Détails.Form.AllowEdits = True
    End If

    dans l'événement "after update" de ton controle.

    Fais attention aux points d'exclamation

  8. #8
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Le code s'exécute à certains moments.

    Si tu le mets sur le OnCurrent du formulaire, il va s'exécuter lors de l'activation du formulaire, (ouverture, changement d'enregistrement) ce qui fait que si tu modifie l'enregistrement en cours, il ne se passera rien.
    Il faut donc trouver un autre "déclencheur pour exécuter le code.
    Comme dans ton cas c'est un test lorsqu'un checkbox est cochée ou nom, il est judicieux de refaire le test après la mise à jour de ce contrôle, d'où ma proposition de le faire Afterupdate du contrôle.

    Pourquoi faire le test logique, si tu décoches, tu retrouve la possibilité de le mettre à jour.
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 64
    Points : 33
    Points
    33
    Par défaut
    Merci de vous penchez sur mon problème

    Bon j'ai fais les modifications que vous m'avez donné mais cela ne focntionne toujours pas !!!

    J'ai bien mis les points d'exclamation
    J'ai bien mis les 2 fonctions
    J'ai vérifié les nom de champ et de sous formulaire

    Mon formulaire F_FACTURATION est standard et le sous-Formulaire est en en mode feuille de données.
    je ne sais pas si ça peut changer quelque chose

    Voulez-vous que je vous mette la base à disposition pour y controler ce que j'ai fait ?

    Merci

    Citation Envoyé par Heureux-oli
    Pourquoi faire le test logique, si tu décoches, tu retrouve la possibilité de le mettre à jour.
    C'est bien e que je souhaite

  10. #10
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Mets la db, on y verra plus clair.
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

  11. #11
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 64
    Points : 33
    Points
    33
    Par défaut
    merci heureux oli

    Bon ma bdd est sécurisée mais j'ai créé un compte tous droits
    login : forum
    pass : forum

    url : modif

    Au passage si tu sais comment "désécuriser" ma base pour que ce soit plus simple pour travailler

  12. #12
    jnore
    Invité(e)
    Par défaut
    tu ne peux pas la desecuriser.

    Par contre, tu peux créer une nouvelle base de données et importer tous les objets de ta base sécurisée (formulaire, tables, modules, macros, requete...)

    1) ouvre ta base securisée
    2) crée une nouvelle base
    3) tu importes. (fichier/données externes/importer/selection de ta base)

  13. #13
    jnore
    Invité(e)
    Par défaut
    ben ça a l'air de fonctionner!!!

    Quand je coche, le sous formulaire devient en lecture seule et quand je décoche il devient modifiable.
    Peut-être n'ai je pas bien compris ton prob!

  14. #14
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 64
    Points : 33
    Points
    33
    Par défaut
    Citation Envoyé par jnore
    ben ça a l'air de fonctionner!!!

    Quand je coche, le sous formulaire devient en lecture seule et quand je décoche il devient modifiable.
    Peut-être n'ai je pas bien compris ton prob!
    Eh bien écoute quand imprimée est coché et que je souhaite rajouter un élément de facturation dans le sous formulaire j'y arrive sans problème !!!
    Comment vois tu si le ss form est en lecture seule ou pas ?

  15. #15
    jnore
    Invité(e)
    Par défaut
    je vois.
    En fait tu verrouilles les données déjà enregistrées mais pas les nouvelles.

    Essaie ca:


    If Me!Coche_Imprimee = True Then
    Me!SsF_FACTURATION_Détails.Locked = True
    Else
    Me!SsF_FACTURATION_Détails.Locked = False
    endif

  16. #16
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 64
    Points : 33
    Points
    33
    Par défaut
    YESSSSSSSSSSSSSSSSSSS

    C'est axactement ça !!!

    Merci beaucoup pour ton aide précieuse ainsi que celle de Heureux-oli et de loufab

  17. #17
    jnore
    Invité(e)
    Par défaut
    Ok

    Félicitation pour l'aspect graphique de ta DBB

    Moi je suis nul question esthétisme.

    N'oublie pas de cocher "résolu"

  18. #18
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 64
    Points : 33
    Points
    33
    Par défaut
    Citation Envoyé par jnore
    Ok

    Félicitation pour l'aspect graphique de ta DBB

    Moi je suis nul question esthétisme.

    N'oublie pas de cocher "résolu"
    puis-je en même temps empecher les modif sur les autres champs (date facture, date paiement etc ...) du formulaire via la même fonction ou il faut que je créé une fonction par champ

  19. #19
    jnore
    Invité(e)
    Par défaut
    Citation Envoyé par Guizbizet
    puis-je en même temps empecher les modif sur les autres champs (date facture, date paiement etc ...) du formulaire via la même fonction ou il faut que je créé une fonction par champ

    Pour ma part dans ce genre de circonstance je crée une ligne de code pour chacun des controles.

    Peut-être y a t-il moyen de verrouiller tous les controles en même tps via une formule magique unique,.....mais je ne la connais pas!

    Désolé

  20. #20
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 006
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 006
    Points : 24 598
    Points
    24 598
    Par défaut
    pour le code pseudo magique le voici.

    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
    Function VerrouControl(frm As Form, Testctrl As Control)
    Dim i, booLock
    ' verrouille ou dévérouille avant saisie.
    On Error Resume Next
     
    booLock = True
    If Testctrl.Locked = True Then booLock = False
     
    For i = 0 To frm.Controls.Count - 1
        frm.Controls.Item(i).Locked = booLock
        'Debug.Print frm.Controls.Item(i).Name & "=" & frm.Controls.Item(i).Locked
    Next
    ' N'oubliez pas de dévérrouiller les controles independant
    ' Zl de recherche...
    ' Me.Modifiable20.Locked = False
    VerrouControl = booLock
    End Function
    Si ça peut vous faire avancer dans votre réflexion.

    Cordialement,
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [AC-2010] Propriété AllowEdits d'un formulaire non prise en compte
    Par nde1303 dans le forum IHM
    Réponses: 16
    Dernier message: 13/03/2015, 11h12
  2. Réponses: 3
    Dernier message: 06/03/2013, 13h53
  3. [CR][Access] intégrer un viewer dans un formulaire access
    Par nicolak dans le forum SAP Crystal Reports
    Réponses: 7
    Dernier message: 13/01/2003, 15h52
  4. [VB6][Formulaire]Appliquer un Scrollbar a une Form
    Par Boil dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 09/11/2002, 03h51
  5. [CR] Tranfert de formulaire a travers une page HTMl
    Par LIEU dans le forum SAP Crystal Reports
    Réponses: 3
    Dernier message: 12/09/2002, 08h37

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