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 :

Activer Désactiver un bouton de commande [AC-2007]


Sujet :

IHM

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Controleur de gestion
    Inscrit en
    Octobre 2014
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Allier (Auvergne)

    Informations professionnelles :
    Activité : Controleur de gestion
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2014
    Messages : 82
    Points : 39
    Points
    39
    Par défaut Activer Désactiver un bouton de commande
    Bonjour à tous,

    Voici mon problème. J'ai un Formulaire Devis sur lequel est posé un contrôle onglet avec 3 sous formulaires. Le 1er sous formulaire s'intitule commandes, le 2ème sous formulaire s'intitule bon de livraison et le 3ème sous formulaire s'intitule factures.
    je souhaiterais que tant qu'un numéro de commande n'est pas saisie dans le champ N°commande du sous formulaire commande le bouton de création d'un bon de livraison du sous formulaire bon de livraison ne soit pas disponible. J'ai réussi à le faire sur une autre appli mais sur le même sous formulaire. Pouvez vous m'aider SVP ?

    Merci pour vos réponses

    GERALD

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Bonjour.

    Tu peux faire cela de 2 manières :
    1. Relative :
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      1
      2
      3
      4
      5
      if isnull(me.Parent.NomControlTonSousFormCommand.Form![IdCommand]) then
          me.TonBouton.enabled=false
        else
          me.TonBouton.enabled=true
      end if
    2. Absolue
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      1
      2
      3
      4
      5
      if isnull([Forms]![NomTonForm]![NomControlTonSousFormCommand].Form![IdCommand]) then
          me.TonBouton.enabled=false
        else
          me.TonBouton.enabled=true
      end if


    J'ai mis NomControlTonSousFormCommand car le contrôle qui contient le sous-formulaire peut ne pas porter le nom du sous-formulaire. Habituellement c'est le cas mais ce n'est pas une obligation.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Controleur de gestion
    Inscrit en
    Octobre 2014
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Allier (Auvergne)

    Informations professionnelles :
    Activité : Controleur de gestion
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2014
    Messages : 82
    Points : 39
    Points
    39
    Par défaut Activer Désactiver un bouton de commande Access 2007
    Bonjour,

    Merci pour votre réponse rapide.
    Je viens de tester le code mais cela ne fonctionne pas.
    Voici mon code.
    Message : "la référence d'une expression à la propriété Form/report n'est pas valide !"


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    If IsNull([Forms]![Flm-devis]![Sflm-commandes].Form![N°Commande]) Then
        Me.Btn_Créer_le_bon_de_livraison.Enabled = False
      Else
        Me.Btn_Créer_le_bon_de_livraison.Enabled = True
    End If
    GERALD

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Controleur de gestion
    Inscrit en
    Octobre 2014
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Allier (Auvergne)

    Informations professionnelles :
    Activité : Controleur de gestion
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2014
    Messages : 82
    Points : 39
    Points
    39
    Par défaut Activer Désactiver un bouton de commande Access 2007
    Petites précisions

    Mon formulaire principale se nomme "Flm-devis", le nom du contrôle onglet sur lequel est posé le sous formulaire commandes se nomme "controleonglet", le sous formulaire commandes se nomme "Sflm-commandes" et le champ du n° de commande se nomme "N°Commande".
    J'ai insérer le code dans l’évènement sur activation du sous formulaire bon de livraison.

    MERCI
    GERALD

  5. #5
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 648
    Points : 14 626
    Points
    14 626
    Par défaut
    bonjour,

    - tout le code créé dans un formulaire appartient à ce formulaire donc inutile de mettre le nom à chaque fois, on peut donc remplacer [Forms]![Flm-devis]! par Me!

    - je pense qu'il faut aussi préciser la page de l'onglet contenant le sous-formulaire, soit par son index de 0 à n, soit par son nom entre guillemets :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    If IsNull([me!controleonglet.Pages(n).controls("Sflm-commandes").Form![N°Commande]) Then
        Me.Btn_Créer_le_bon_de_livraison.Enabled = False
      Else
        Me.Btn_Créer_le_bon_de_livraison.Enabled = True
    End If
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    Controleur de gestion
    Inscrit en
    Octobre 2014
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Allier (Auvergne)

    Informations professionnelles :
    Activité : Controleur de gestion
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2014
    Messages : 82
    Points : 39
    Points
    39
    Par défaut Activer Désactiver un bouton de commande
    Bonjour,

    Désolé mais le code ne fonctionne pas, il ne "trouve pas le champ auquel il est fait référence dans l'expression"

    Voici le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If IsNull([Me.controleonglet.Pages(0).controls("Onglet mes commandes")].Form![N°Commande]) Then
    GERALD

  7. #7
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 648
    Points : 14 626
    Points
    14 626
    Par défaut
    bonjour,
    Désolé mais le code ne fonctionne pas, il ne "trouve pas le champ auquel il est fait référence dans l'expression"
    désolé, mais le code fonctionne, il suffit de mettre le nom des contrôles à leur bonne place :
    Citation Envoyé par Gérald03
    Mon formulaire principale se nomme "Flm-devis", le nom du contrôle onglet sur lequel est posé le sous formulaire commandes se nomme "controleonglet", le sous formulaire commandes se nomme "Sflm-commandes" et le champ du n° de commande se nomme "N°Commande".
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If IsNull([Me.controleonglet.Pages(0).controls("Onglet mes commandes")].Form![N°Commande]) Then
    je ne crois pas que ton sous-formulaire "Sflm-commandes" ait changé de nom: .
    Je suppose que "Onglet mes commandes" est le nom de la page, donc, soit tu le mets à la place de 0 (si c'est bien son index), soit tu mets le nom, mais ne le mets pas n'importe où:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    If IsNull([Me.controleonglet.Pages("Onglet mes commandes").controls("Sflm-commandes").Form![N°Commande]) Then
    ' ou :
    If IsNull([Me.controleonglet.Pages(0).controls("Sflm-commandes").Form![N°Commande]) Then
    la syntaxe reste toujours:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me!NomControleOnglet.Pages(Index ou "NomdelaPage").Controls("NomduSousFormulaire").Form![NomduChamp]
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  8. #8
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Bonjour tee_Grandbois,

    Selon mon expérience les contrôles onglets sont invisibles dans la hiérarchie Form donc on n'a pas besoin de spécifier sur quelle page se trouve le contrôle sous-formulaire.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  9. #9
    Nouveau membre du Club
    Homme Profil pro
    Controleur de gestion
    Inscrit en
    Octobre 2014
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Allier (Auvergne)

    Informations professionnelles :
    Activité : Controleur de gestion
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2014
    Messages : 82
    Points : 39
    Points
    39
    Par défaut Activer Désactiver un bouton de commande
    Bonsoir,

    merci pour votre aide mais cela ne fonctionne toujours pas !
    I
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    f IsNull([Me.controleonglet.("Onglet mes commandes").Controls("Sflm-commandes")].Form![N°Commande]) Then
    Toujours le meme msg d'erreur. il ne "trouve pas le champ auquel il est fait référence dans l'expression"

    GERALD

  10. #10
    Nouveau membre du Club
    Homme Profil pro
    Controleur de gestion
    Inscrit en
    Octobre 2014
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Allier (Auvergne)

    Informations professionnelles :
    Activité : Controleur de gestion
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2014
    Messages : 82
    Points : 39
    Points
    39
    Par défaut Activer Désactiver un bouton de commande
    Voici la suite,

    j'ai modifié le code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If IsNull(Me.Controleonglets.Pages("Onglet mes commandes").Controls("Sflm-commandes").Form![N°Commande]) Then
    Msg d'erreur différent " membre de méthode ou de données introuvables"
    visiblement il ne reconnais pas "Me.Controleonglets"

    GERALD

  11. #11
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 648
    Points : 14 626
    Points
    14 626
    Par défaut
    comme on tourne en rond, peut-on avoir une impression d'écran en mode création du contrôle onglet et de la page contenant le sous-formulaire montrant la feuille de propriétés comme dans les exemples suivants ? :

    Nom : frm_ctrlOnglet.JPG
Affichages : 262
Taille : 40,5 Ko

    Nom : frm_CtrlPage.JPG
Affichages : 291
Taille : 40,8 Ko
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  12. #12
    Nouveau membre du Club
    Homme Profil pro
    Controleur de gestion
    Inscrit en
    Octobre 2014
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Allier (Auvergne)

    Informations professionnelles :
    Activité : Controleur de gestion
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2014
    Messages : 82
    Points : 39
    Points
    39
    Par défaut Activer Désactiver un bouton de commande
    Voici une copie d'écran

    Nom : copie écran.jpg
Affichages : 295
Taille : 405,0 Ko


    GERALD

  13. #13
    Nouveau membre du Club
    Homme Profil pro
    Controleur de gestion
    Inscrit en
    Octobre 2014
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Allier (Auvergne)

    Informations professionnelles :
    Activité : Controleur de gestion
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2014
    Messages : 82
    Points : 39
    Points
    39
    Par défaut Activer Désactiver un bouton de commande
    Ce n'est pas très lisible mon image,

    Mais le nom du contrôle d'onglet est bien "Controleonglets", l'onglet "Onglet mes commandes" index de page 0, sous formulaire "Sflm-commandes" nom du champ "N°Commande".

    Le débogueur s'arrête systématiquement sur (Me.Controleonglets).

    Je pense qu'il y a une erreur sur cette partie du code.

    gerald

  14. #14
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 648
    Points : 14 626
    Points
    14 626
    Par défaut
    désolé c'est illisible car beaucoup trop grand, j'aurai préféré un zoom sur les feuilles de propriétés
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  15. #15
    Nouveau membre du Club
    Homme Profil pro
    Controleur de gestion
    Inscrit en
    Octobre 2014
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Allier (Auvergne)

    Informations professionnelles :
    Activité : Controleur de gestion
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2014
    Messages : 82
    Points : 39
    Points
    39
    Par défaut Activer Désactiver un bouton de commande
    Nom : ecran1.jpg
Affichages : 267
Taille : 140,4 KoNom : ecran2.jpg
Affichages : 242
Taille : 110,9 Ko

    VOILA

    gerald

  16. #16
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 648
    Points : 14 626
    Points
    14 626
    Par défaut
    j'aurai préféré un zoom sur les feuilles de propriétés complètes pas tronquées
    mon exemple d'impression me semblait pourtant clair ...
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  17. #17
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 648
    Points : 14 626
    Points
    14 626
    Par défaut
    - ton onglet s'appelle Controleonglets
    - la page "Onglet mes commandes" a l'index 0
    - comment se nomme le sous-formulaire ? (et je parle de la propriété Nom, pas Objet source)
    en attendant la confirmation du nom du sous-formulaire, cette syntaxe reste la bonne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If IsNull(Me.Controleonglets.Pages(0).Controls("Sflm-commandes").Form![N°Commande]) Then
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  18. #18
    Nouveau membre du Club
    Homme Profil pro
    Controleur de gestion
    Inscrit en
    Octobre 2014
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Allier (Auvergne)

    Informations professionnelles :
    Activité : Controleur de gestion
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2014
    Messages : 82
    Points : 39
    Points
    39
    Par défaut Activer Désactiver un bouton de commande
    Il se nomme

    "Sflm-commandes"

    JE VIENS DE TESTER DE NOUVEAU CELA NE MARCHE PAS. Toujours le message "membre de méthode ou de données introuvable"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If IsNull(Me.Controleonglets.Pages(0).Controls("Sflm-commandes").Form![N°Commande]) Then
    GERALD

  19. #19
    Nouveau membre du Club
    Homme Profil pro
    Controleur de gestion
    Inscrit en
    Octobre 2014
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Allier (Auvergne)

    Informations professionnelles :
    Activité : Controleur de gestion
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2014
    Messages : 82
    Points : 39
    Points
    39
    Par défaut Activer Désactiver un bouton de commande
    Je pense que la syntaxe n'est pas la bonne. Ce n'est pas grave, je trouverais une autre solution

    Merci quand même pour votre aide.

    GERALD

  20. #20
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 648
    Points : 14 626
    Points
    14 626
    Par défaut
    peux-tu poster ta base avec uniquement le formulaire et les sous-formulaires ?
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

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

Discussions similaires

  1. [XL-2003] Activer/Dsactiver un bouton suivant valaur d'un TextBos dans un formulaire.
    Par jeff1494 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 25/10/2010, 21h39
  2. activé/désactivé un bouton
    Par Elmotardo dans le forum Eclipse Platform
    Réponses: 2
    Dernier message: 20/04/2009, 09h52
  3. Réponses: 2
    Dernier message: 03/12/2008, 07h32
  4. Réponses: 10
    Dernier message: 19/03/2007, 15h37
  5. [Win32] activer/désactiver un bouton
    Par gdpasmini dans le forum MFC
    Réponses: 2
    Dernier message: 07/06/2006, 18h10

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