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 auto adaptable [AC-2007]


Sujet :

IHM

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 20
    Points : 5
    Points
    5
    Par défaut Formulaire auto adaptable
    Bonjour à tous et à toutes.

    Je ne sais pas si Access 2007 me permet de réaliser l'opération suivante. Si oui, j'aimerais savoir comment.

    Je souhaite créer un formulaire qui s'adapte automatiquement en fonction des informations à rentrer.
    Concrètement, j'ai une table "Site internet" contenant (entre autres) un champ Oui/Non intitulé "Présence de régie pub", et une table "Contacts régie pub" rassemblant toutes les infos de contact desdites régies. J'ai créé un formulaire après avoir lié mes deux tables, et je souhaite maitenant qu'il me soit possible de compléter les champs de la table "Contacts régie pub" UNIQUEMENT si le champ Oui/Non est sélectionné (donc si la réponse est Oui).

    Pourriez-vous svp eclairer ma lanterne ?

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour
    Une solution consiste à jouer sur la propriété "Enabled" de la zone de texte de ton formulaire correspondant à ton champ "Contact Regie Pub"

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 20
    Points : 5
    Points
    5
    Par défaut
    Je suis désolé, mais je suis vraiment un novice en ce qui concerne l'utilisation d'Access : Pourrais tu être plus précis stp ? Quelle est cette fonction, comment y accède-t-on ?

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    282
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2008
    Messages : 282
    Points : 356
    Points
    356
    Par défaut
    BOnjour,

    Ou alors, car je pense qu'il y a plusieurs champs a afficher pour la table [Contacts régie pub] : inclure un sous-formulaire lie pour la table [Contacts régie pub] et jouer sur la propriete VISIBLE du sous-formulaire en fonction de la valeur du champ [Présence de régie pub]...

  5. #5
    Invité
    Invité(e)
    Par défaut
    Et bien en gros sur l'évènement Mise à jour de la Case à cocher Oui/Non
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Private Sub NomDelaCocheOuiNon_AfterUpdate()
    If Me.NomDelaCocheOuiNon.value = True Then
      Me.NomDeTaZoneContact.Enabled = True
    Else
     Me.NomDeTaZoneContact.Enabled = False
    End If
    End Sub
    Tu peux traduire cela par:
    Si ma case à cocher = Oui alors
    ma zone de texte est active
    Sinon
    ma zone de texte est inactive.

    Mais comme le dit SSJconsult, il y a plusieurs façons de faire.

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 20
    Points : 5
    Points
    5
    Par défaut
    Je vais m'orienter vers la direction de SSJconsult, étant donné que je vais effectivement avoir plusieurs champs de contacts à rentrer (nom, email, tel, ...).
    Malheureusement, je ne peux que choisir Oui ou Non dans la propriété "Visible" de mon Sous-formulaire ...

  7. #7
    Expert éminent sénior

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Points : 32 311
    Points
    32 311
    Par défaut
    Malheureusement, je ne peux que choisir Oui ou Non dans la propriété "Visible" de mon Sous-formulaire ...
    La valeur de la propriété visible du sous formulaire est à définir sur la mise à jour de la zone de saisie Oui/Non (case à cocher peut être), à l'instar du code de Gayot concernant la propriété enabled d'un controle.

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 20
    Points : 5
    Points
    5
    Par défaut
    Je suis désolé, mais encore une fois, je suis vraiment un débutant notoire J'ai essayé de taper ce code en mode création dans la case Après de l'évènement de ma coche Oui/Non, mais je ne comprend pas s'il faut valider quelque chose, où si j'ai tappé ce code dans le mauvais formulaire ... bref, je n'y arrive toujours pas

    Un screeshot vous explicitera peut être mon souci.

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    282
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2008
    Messages : 282
    Points : 356
    Points
    356
    Par défaut
    Bonjour,

    Dans ton code, tu modifies la propriete ".enabled" alors que tu dois mettre ".Visible". De plus, il y avait une petite erreur dans les valeurs TRUE/FALSE...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    If Me.NomDelaCocheOuiNon.value = True Then
       Me.NomDeTaZoneContact.Visible = True
    Else
      Me.NomDeTaZoneContact.Visible = False
    End If
    Copier/Coller en "pensant tres fort" aux adaptations a faire ne suffit pas toujours... il faut malheureusement parfois les faire soi-meme...

    D'ailleurs, ci-dessus, j'ai modifie le code de GAYOT... alors fais bien attention qu'il soit bien adapte a ton cas (impossible de reprendre le code du fichier image)

  10. #10
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par SSJconsult Voir le message
    D'ailleurs, ci-dessus, j'ai modifie le code de GAYOT... alors fais bien attention qu'il soit bien adapte a ton cas (impossible de reprendre le code du fichier image)
    Oups. J'avais tapé un peu vite. Merci.

    Attention pour les noms de contrôle ou d'objets ayant des espaces il faut mettre des crochets:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.[Régie Publicité].Enabled = True

  11. #11
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 20
    Points : 5
    Points
    5
    Par défaut
    Toujours pas Ai-je mal tappé quelque chose, où ai-je oublié de valider un détail ? Je vous ai joint un nouveau screenshot. Je ne sais pas ce que j'ai pu oublier ou mal faire ... après, au cas où vous ne l'auriez pas déjà remarqué, tout ce qui est code et programation n'entre pas vraiment dans le cadre des compétences que je maîtrise mais j'ai vraiment envie de comprendre au moins comment faire les opérations dont j'ai besoin. Je reste attentifs à vos conseils ...

  12. #12
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    282
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2008
    Messages : 282
    Points : 356
    Points
    356
    Par défaut
    Bonjour,

    Pourrais-tu expliquer en détail ce qui ne va pas ?
    Car, à première vue, ça devrait te donner satisfaction...

    Sauf peut-être, si tu désire que le sous-formulaire ne soit pas affiché lorsque ton formulaire principal s'ouvre... Dans ce cas, il suffit d'ajouter le code qui suit dans l'évènement "On open" du formulaire principal
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Form_Open(Cancel As Integer)
    Me.[Régie Publicité].visible = False
    End Sub

  13. #13
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 20
    Points : 5
    Points
    5
    Par défaut
    Re-Bonjour.

    Désolé si je me suis mal exprimé : tu as compris l'essentiel de l'idée SSJconsult : je voudrais que lorsque la personne qui remplira le formulaire Webzine cliquera sur la coche "Pub" (donc, lorsque que le Webzine en question offre la possibilité de mettre en ligne des banières publicitaires), alors et uniquement à partir de là, le sous formulaire "Régie Publicité" s'affiche.

    Au point où j'en suis, les codes que j'ai tappé n'ont aucune incidence sur le formulaire : il s'ouvre toujours avec le sous-formulaire visible, et je peux le remplir que la coche soit activée ou non.

    Un nouveau screenshot en guise d'illustration.

  14. #14
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    282
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2008
    Messages : 282
    Points : 356
    Points
    356
    Par défaut
    Si ,dans ton écran principal, [Régie Publicité] est bien le nom du contrôle qui contient le sous-formulaire, je ne vois à priori aucune raison pour laquelle ça ne fonctionnerait pas...

    En tout état de cause, ajoute les deux lignes suivantes tout au début de chacun des tes modules
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Option Compare Database
    Option Explicit
    Dans notre cas, c'est surtout la deuxième qui est intéressante car elle lui dit de vérifier, lors de la compilation, que les variables (et autres) doivent être déclarées(exister).
    En étant dans la fenêtre VBA, après avoir fait un changement quelconque, tu peux "compiler" ton application, ce qui aura comme résultat, qu'il te donnera toutes les erreurs qu'il est capable de repérer.

    Pour compiler, dans la fenêtre VBA, clique sur "Debug" dans la barre de menu et ensuite sur "Compiler...".

  15. #15
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 20
    Points : 5
    Points
    5
    Par défaut
    Peut être n'ai-je pas valider quelque chose, où ai-je oublié un détail dans mes opérations je ne sais pas. En tout cas, ces deux lignes de code ne veulent pas se rajouter au début de mes modules : elle se mettent automatiquement à la fin des modules précédents ... je comprend pas
    Quoi qu'il en soit, je reste au même point qu'au début ...

  16. #16
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    282
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2008
    Messages : 282
    Points : 356
    Points
    356
    Par défaut
    Peux-tu envoyer le code complet du module dans lequel tu as mis ces deux lignes de code ?

  17. #17
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 20
    Points : 5
    Points
    5
    Par défaut
    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
    Option Compare Database
    Option Explicit
    Private Sub Form_Open(Cancel As Integer)
    Option Compare Database
    Option Explicit
    Me.[Régie Publicité].Visible = False
    End Sub
    Option Compare Database
    Option Explicit
    Private Sub Pub_AfterUpdate()
    If Me.Pub.Value = True Then
       Me.[Régie Publicité].Visible = True
    Else
      Me.[Régie Publicité].Visible = False
    End If
    End Sub
    A savoir : un trait sépare les 2 "Option Explicit" et "Private Sub". Dans la première partie, les deux menus déroulants juste au dessus affichent "(Général)" et "(Déclarations)", dans la deuxième c'est "Form" et "Open", et dans la troisième "Pub" et "AfterUpdate".

  18. #18
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    282
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2008
    Messages : 282
    Points : 356
    Points
    356
    Par défaut
    Tu ne dois mettre les deux lignes qu'une seule fois tout en haut du module et pas entre chaque procédure/fonction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Option Compare Database
    Option Explicit
    Private Sub Form_Open(Cancel As Integer)
    Me.[Régie Publicité].Visible = False
    End Sub
    Private Sub Pub_AfterUpdate()
    If Me.Pub.Value = True Then
       Me.[Régie Publicité].Visible = True
    Else
      Me.[Régie Publicité].Visible = False
    End If
    End Sub

  19. #19
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 20
    Points : 5
    Points
    5
    Par défaut
    Non, rien n'y fait : j'ai beau cliquer et recliquer sur enregistrer, fermer et ouvrir mon formulaire, j'en suis toujours au même point : il continue à s'afficher et est toujours remplissable (si ce mot existe ...).
    Il y a-t-il quelque chose que je peux montrer pour essayer d'identifier la source du problème ? Ou peut être est-ce juste un bonton du style Appliquer ou je ne sais quoi que je n'ai pas cliqué ...
    Quoiqu'il en soit, la compilation n'a rien donné : tout va bien a priori ... à priori.

  20. #20
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    282
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2008
    Messages : 282
    Points : 356
    Points
    356
    Par défaut
    As-tu tenté de compiler ton projet comme décrit plus haut ?

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

Discussions similaires

  1. [MySQL] Probleme formulaires auto
    Par Larffas dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 11/10/2007, 14h47
  2. Formulaire auto submit post variables
    Par djanke dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 28/08/2007, 22h48
  3. formulaire auto ajustable
    Par dinette dans le forum IHM
    Réponses: 7
    Dernier message: 06/01/2007, 11h50
  4. [html] formulaires auto lançable
    Par scorpking dans le forum Balisage (X)HTML et validation W3C
    Réponses: 8
    Dernier message: 21/06/2006, 12h27
  5. Réponses: 2
    Dernier message: 18/01/2006, 18h19

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