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 :

Mise a jour d'un contrôle en fonction de la valeur d'un autre contrôle


Sujet :

IHM

  1. #1
    Membre à l'essai
    Homme Profil pro
    Directeur commercial
    Inscrit en
    Juin 2013
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Directeur commercial

    Informations forums :
    Inscription : Juin 2013
    Messages : 20
    Points : 14
    Points
    14
    Par défaut Mise a jour d'un contrôle en fonction de la valeur d'un autre contrôle
    Bonjour à tous,


    je tente vainement d'éditer un formulaire de la base de donnée de mon agence immobilière : je demande donc votre aide.

    Le but de cette opération, c'est de sélectionner une semaine dans le contrôle liste déroulante nommé 'SelectSem' situé dans l'entête d'un formulaire, ce contrôle faisant appel à une table T_SEMAINE construite comme suit !
    Nom : Capture-10.JPG
Affichages : 97
Taille : 22,2 Ko

    L'idée c'est d'arriver à mettre à jour 2 contrôles ('txtdatedeb' et 'txtdatefin') en fonction de la sélection de l'enregistrement sélectionné dans 'SelectSem'. Ci-dessous voila ce que cela donne :
    Nom : Capture-9.JPG
Affichages : 91
Taille : 13,1 Ko

    et voila ce que j'aimerai :
    Nom : Capture-11.JPG
Affichages : 90
Taille : 16,2 Ko


    L'étape d'aprés est de créer un bouton qui permette de trier les enregistrement de la table T_CONTACT (le formulaire actuel est crée pour afficher les enregistrements de cette table) en fonction de la semaine dans laquelle ils nous ont contactés. La aussi je galère parce que je ne maitrise pas bien le VBA. La date de prise de contact (CONT_DATE-APPEL de la table T_CONTACT) devant être encadrée entre les 2 dates présélectionnées dans l'entête de formulaire (txtdatedeb et txtdatefin).

    Je ne sais pas si je suis clair dans mes explications et mes attentes, mais c'est difficile d'expliquer ce que l'on veut réaliser quand on ne sait pas comment faire.

    Bref merci beaucoup par avance pour votre aide.

    Bonne journée à tous.


    J'ai tenté plusieurs chose qui n'ont pas abouties et je ne sais pas si ce que je souhaite est possible.

  2. #2
    Membre éprouvé
    Femme Profil pro
    Service informatique presque à moi seule (TPE), ex-architecte fonctionnel
    Inscrit en
    Août 2017
    Messages
    358
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 56
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Service informatique presque à moi seule (TPE), ex-architecte fonctionnel
    Secteur : Finance

    Informations forums :
    Inscription : Août 2017
    Messages : 358
    Points : 931
    Points
    931
    Par défaut Bonjour Gigap_1971,
    Dans la mesure où l'on sélectionne l'identifiant de la semaine dans la première liste déroulante : il faut que les deux autres listes aient elles aussi pour source de données une requête sur la table des semaines, et comportent 2 colonnes. La première est l'identifiant de la semaine, ce doit être la colonne liée, la seconde est la colonne "date de début", c'est la colonne affichée. Pour cela la taille de la première colonne doit être à zéro => est-ce déjà bien comme cela que les listes déroulantes sont définies ?

    Si oui, il ne reste plus qu'à "synchroniser" les listes déroulantes.
    Lorsque la première est sélectionnée (sur l'événement AfterUpdate du contrôle), il suffit de faire :
    Code VBA : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Me.[ici le nom de la liste qui contient la date de début]= Me.[ici le nom de la liste qui contient le n° de semaine]
    Me.[ici le nom de la liste qui contient la date de fin] = Me.[ici le nom de la liste qui contient le n° de semaine]
    C'est tout

    D'après la copie d'écran il s'agit bien de trois listes déroulantes, donc ce n'est pas très logique d'en avoir nommé deux "txtdatedeb" et "txtdatefin".
    Les problèmes sont des opportunités en vêtements de travail. Henry H. Kaiser
    Il n'est pas de problème dont une absence de solution ne finisse par venir à bout. Henri Queuille

  3. #3
    Membre à l'essai
    Homme Profil pro
    Directeur commercial
    Inscrit en
    Juin 2013
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Directeur commercial

    Informations forums :
    Inscription : Juin 2013
    Messages : 20
    Points : 14
    Points
    14
    Par défaut Bonjour PARAFFINE
    Merci pour ta réponse,

    c'est bien comme ça que j'ai fait.

    Sur la liste 'SelectSem' (la ou on sélectionne le N° de la semaine) voici la requête (affichage 2 colonne la première à 0) :
    Nom : Capture-12.JPG
Affichages : 81
Taille : 17,5 Ko
    J'avais inséré une procédure évenementielle aprés mise à jour :
    Nom : Capture-13.JPG
Affichages : 83
Taille : 20,1 Ko

    Aprés sur la liste déroulante 'txtdatedeb' ou doit être renseignée la date de début voici la requête :
    Nom : Capture-14.JPG
Affichages : 86
Taille : 17,5 Ko

    avec la procédure événementielle "aprés maj" que tu m'as conseillée :
    Nom : Capture-15.JPG
Affichages : 84
Taille : 18,7 Ko

    J'ai du mal comprendre car ça ne marche pas.

  4. #4
    Membre éprouvé
    Femme Profil pro
    Service informatique presque à moi seule (TPE), ex-architecte fonctionnel
    Inscrit en
    Août 2017
    Messages
    358
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 56
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Service informatique presque à moi seule (TPE), ex-architecte fonctionnel
    Secteur : Finance

    Informations forums :
    Inscription : Août 2017
    Messages : 358
    Points : 931
    Points
    931
    Par défaut Dans l'autre sens ;)
    Quand on modifie SelectSem, on met à jour les deux autres listes déroulantes :
    Code VBA : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Private Sub SelectSem_AfterUpdate()
        Me.txtdatedeb = Me.SelectSem
        Me.txtdatefin = Me.SelectSem
    End Sub

    Nota : je te conseille aussi dans tous les modules d'ajouter après Option Compare DatabaseDe cette façon la compilation détectera toutes les variables qui ne sont pas déclarées.
    Les problèmes sont des opportunités en vêtements de travail. Henry H. Kaiser
    Il n'est pas de problème dont une absence de solution ne finisse par venir à bout. Henri Queuille

  5. #5
    Membre à l'essai
    Homme Profil pro
    Directeur commercial
    Inscrit en
    Juin 2013
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Directeur commercial

    Informations forums :
    Inscription : Juin 2013
    Messages : 20
    Points : 14
    Points
    14
    Par défaut EUREKA !!!
    Merci beaucoup PARAFFINE, ça fonctionne Nickel.

    Bien sur votre remarque était logique, mais je n'ai pas encore tout a fait intégré la logique de la programmation des modules de formulaire (je crois que ça se voit).
    Une bonne chose de faite.

    Reste plus maintenant qu’à arriver à trier les enregistrements dont les dates d'appel (champ [CONT_DATE-APPEL] dans la table T_CONTACT) sont intervenus entre les bornes txtdatedeb et txtdatefin.
    Il faut intégrer un code dans le module du formulaire et l'activer par un bouton de commande.

    J'ai essayé plusieurs solutions mais la encore ça ne marche pas et je patauge.

    Auriez vous une solution à me proposer. Je ne veux pas abuser vous m'avez déjà bien dépanné, mais si j'arrive à mes fins sur cette commande, je pourrais la dupliquer sur une dizaine de formulaires et ça va me changer la vie ainsi que celle de tous mes collaborateurs.

    On dit qu'il faut forger pour être forgeron, c'est vrai aussi pour la programmation.

    Merci à toi et bonne journée.

Discussions similaires

  1. Réponses: 4
    Dernier message: 02/06/2015, 02h28
  2. [XL-2010] Problème de mise à jour d'une textbox en fonction de la valeur d'une combobox
    Par benadry dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 05/06/2014, 10h22
  3. mise a jour d'un champ en fonction d'un autre champ
    Par roland34 dans le forum Requêtes
    Réponses: 2
    Dernier message: 15/03/2013, 16h25
  4. mise a jour d'une listbox en fonction d'une textbox
    Par goredo dans le forum Windows Forms
    Réponses: 35
    Dernier message: 02/03/2010, 12h32
  5. Mise a jour d'une table en fonction d'une base distante
    Par Thor Tillas dans le forum Access
    Réponses: 1
    Dernier message: 11/01/2007, 09h27

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