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 :

[Access2003] Mettre à jour une liste déroulante dans un formulaire continu


Sujet :

IHM

  1. #1
    Membre régulier

    Inscrit en
    Juin 2006
    Messages
    320
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 320
    Points : 97
    Points
    97
    Par défaut [Access2003] Mettre à jour une liste déroulante dans un formulaire continu
    Bonjour,
    Pour remplir un formulaire (mode continu), je voudrais qu'une zone de liste (lst_Code_inventaire) soit mise à jour selon le choix réalisé avec une 1e zone de liste (lst_type_inventaire). Cette 1e liste déroulante permet de déterminer dans quelle table va être lancée la requête qui donne le choix de l'inventaire.

    Le problème, c'est que quand je lance la mise à jour du controle lst_type_inventaire, la source de ce contrôle est mise à jour pour tous les lst_type_inventaire du formulaire continu. Or, je voudrais que ce soit seulement celui de la ligne en cours.

    J'ai vu que le sujet a déjà été levé par Gilles M (Mise à jour d'une liste déroulante dans un formulaire continue) mais ce sujet n'a eu aucune réponse.

    J'ai vu aussi dans la FAQ un rapide sujet sur la mise en forme conditionnelle dans un formulaire continu mais je dois avouer que je n'ai absolument rien compris (Dans un formulaire en mode continu, comment rendre invisible un bouton pour certaines lignes ?)

    Quelqu'un aura une solution?

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 631
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 631
    Points : 34 339
    Points
    34 339
    Par défaut
    salut,
    il y avait d'autres articles dans la qui peuvent t'aider :
    http://access.developpez.com/faq/?page=zdl#DepZdl

  3. #3
    Membre régulier

    Inscrit en
    Juin 2006
    Messages
    320
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 320
    Points : 97
    Points
    97
    Par défaut
    C'est une piste.
    Mais comment lui dire de piocher dans telle ou telle table? J'ai essayé de mettre en 3e colonne (non visible) le nom de la table mais la propriété RowSource n'a pas l'air d'apprécier
    SELECT * FROM Forms!F_Inventaire.INV_TYPE.Column(2)
    Question subsidiaire: selon les tables où je vais piocher mes données, j'ai besoin de les filtrer:
    1e table: critère = 1,
    2e table: critère = 2;
    3, 4 et 5e table: pas besoin de critères
    Dernière possibilité: y'a pas de table où piocher les données: c'est la possibilité "Autre" où on tape le n° d'inventaire + autres infos à la main.

    Chuis un peu coincée là...

  4. #4
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 631
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 631
    Points : 34 339
    Points
    34 339
    Par défaut
    pour prendre en compte une colonne en particulier dans une list, il faut passer par le BoundColumn (colonne liée)

  5. #5
    Membre régulier

    Inscrit en
    Juin 2006
    Messages
    320
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 320
    Points : 97
    Points
    97
    Par défaut
    pour prendre en compte une colonne en particulier dans une list, il faut passer par le BoundColumn (colonne liée)
    Ma liste présente 3 colonnes:
    numéro: 1 ==> inventaires Znieff 1e génération; 2 ==> inv Zieff 2e génération, 3==> Zico, etc. Ce chiffre doit être enregistré dans le champ correspondant. Ce doit donc être cette colonne qui doit être liée.
    texte: description du chiffre: "Znieff 1e génération", "Znieff 2e génération"; "ZICO", etc. C'est pour l'utilisateur
    texte: c'est le nom de la table dans laquelle je dois faire ma requête. C'est pour le fonctionnement du formulaire.

    Mon gros soucis, c'est que je ne peux pas modifier la structure de la table, lui dire qu'au lieu de stocker des chiffre qui ne veulent rien dire, je dois stocker les noms de tables ou, à la limite, le type d'inventaire. C'est une base de donnée qui est reprise d'une autre pour être améliorée et complétée. Sauf que cette autre base est un référentiel dans mon métier: la base à créer doit ABSOLUMENT rester ENTIEREMENT compatible.
    Casse bonbon, isn't it?

  6. #6
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 631
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 631
    Points : 34 339
    Points
    34 339
    Par défaut
    dans ton formulaire actuel, la listbox sert à titre indicatif, ou bien tu manipules des données derrière (autre que le formulaire dont on parle à côté) ?

  7. #7
    Membre régulier

    Inscrit en
    Juin 2006
    Messages
    320
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 320
    Points : 97
    Points
    97
    Par défaut
    dans ton formulaire actuel, la listbox sert à titre indicatif?
    Moi pas comprendre où tu veux en venir. cette listbox sert à choisir la table grâce à laquelle on va mettre à jour la liste déroulante suivante (numéro des inventaires). Une fois choisi l'inventaire sont mis à jour le nom de l'inventaire, sa couverture, le type de ZNIEFF (si c'en est un), etc. Pour pouvoir savoir si le numéro d'inventaire référencé est un znieff ou un zico, le n° correspondant à l'inventaire est lui aussi stocké: c'est la colonne liée de la 1e liste (celle qui est déroulée dans le jpg).
    Pour mieux voir ce dont je parle, voici une saisie d'écran de mon formulaire.

    , ou bien tu manipules des données derrière (autre que le formulaire dont on parle à côté)
    Ce formulaire, une fois que ça fonctionnera mieux, sera intégré en tant que sous-formulaire à un formulaire décrivant des sites. Pour chacun de ces sites, il est important de savoir s'il y a déjà eu des inventaires et, si oui, lesquels.

    Vu qu'il y a plusieurs sortes d'inventaires, chacun enregistré dans un dictionnaire séparé, c'est miséroïdissime pour enregistrer les données... (Bon, le référentiel est fichu ainsi, on peut pas le refaire. Hélas.)

    (j'espère avoir répondu à ta question...)
    Images attachées Images attachées  

Discussions similaires

  1. Réponses: 2
    Dernier message: 02/12/2013, 16h11
  2. Réponses: 4
    Dernier message: 26/02/2013, 11h58
  3. Soucis pour mettre à jour une liste déroulante.
    Par Fbzn_office dans le forum VBA Access
    Réponses: 1
    Dernier message: 06/03/2008, 19h22
  4. Réponses: 5
    Dernier message: 27/08/2006, 14h18
  5. impossible de mettre à jour une liste déroulante
    Par nicolovitch dans le forum Access
    Réponses: 3
    Dernier message: 02/08/2006, 11h31

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