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

Requêtes et SQL. Discussion :

source contrôle d'une zone de texte / code ?


Sujet :

Requêtes et SQL.

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    agent
    Inscrit en
    Septembre 2023
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : agent

    Informations forums :
    Inscription : Septembre 2023
    Messages : 24
    Par défaut source contrôle d'une zone de texte / code ?
    Bonjour,

    de façon naïve j'ai la question suivante qui j'imagine ne demande que des notions de bases en SQL ou autre. Mais comme je n'arrive pas à trouver cette info ailleurs ni à nommer cette manipulation, je me permets de schématiser ma situation ici pour y trouver une réponse. Si vous avez des références générales facilement accessible pour apprendre ce type de notion je suis preneur.

    Supposons qu'on a

    -une table "Table S" qui liste un ensemble de sites S_1,S_2,S_3... cette table n'a qu'un seul champ "nom_site" et contient environ 50 entrées.

    -une table "Table U" qui liste pour chaque site S_i un ensemble d'unités A_i, B_i, C_i, ... avec au max 7 unités pour chaque site. Cette table a 3 champs : un champ "nom_unité", un champ "site" qui renseigne le site associé à l'unité et un champ "rang" qui est un nombre entier entre 1 et 7 qui classe les unités d'un site.

    -un formulaire avec une zone de liste déroulante "modif_site" basée sur la Table S, qui liste mes sites.

    Dans ce formulaire je crée une zone de texte indépendante "modif_unite_1", puis en mode création, dans les propriétés cette zone de texte, dans "données" je clique sur "Source contrôle".

    Question : quelle est l'expression que je dois écrire dans source contrôle pour pouvoir afficher dans cette zone de texte l'unité de rang 1 du site sélectionné dans ma liste "modif_site" ?

    (sachant que l'on mettra un code "Me![modif_unite_1].Requery" en procédure évènementielle de "modif_site" pour pouvoir actualiser la zone de texte à chaque choix. )

    Merci d'avance

  2. #2
    Modérateur

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

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 443
    Par défaut
    Bonjour.

    Je pense que
    https://access.developpez.com/faq/?page=zdl#DepZdl
    Comment faire en sorte que le contenu d'une zone de liste déroulante dépende de la valeur d'une autre liste ?
    va répondre à ta question.

    Attention si tu utilises cette technique dans un formulaire en continu ou feuillle de données, les valeurs dans les autres lignes vont disparaître en fonction des choix.
    La seule solution que je connais c'est de mettre un champ pour la sélection et un champ pour l'affichage pointant sur le même champ de données.

    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
    Membre averti
    Homme Profil pro
    agent
    Inscrit en
    Septembre 2023
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : agent

    Informations forums :
    Inscription : Septembre 2023
    Messages : 24
    Par défaut
    Bonjour,

    merci pour cette réponse, je comprends l'idée mais je n'ai pas l'impression que cela fonctionne pour une zone de texte à la place d'une zone de liste. Ou alors j'ai loupé quelque chose.
    Si je reprends l'exemple du tuto que vous avez mis en lien, imaginons que la table TVille a un champ en plus qui est un entier et qui classe les villes par ordre de grandeur à l'intérieur du pays. Je voudrais donc, après sélection d'un pays dans une zone de liste déroulante, afficher dans une zone de texte la ville la plus grande (classée 1) parmi toutes les villes de ce pays. Cela diffère a priori d'une zone de liste car le type de code que l'on met dans "source contrôle" est différent ??

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2011
    Messages
    646
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2011
    Messages : 646
    Par défaut
    Champ 1 : CmbSite
    Source contrôle : Table S

    Champ 2 : CmbUnite
    Source contrôle : Table U

    Après avoir choisi le site, il faut mettre à jour la source de données du champ CmbUnite

    Sur événement "Après mise à jour" de CmbSite :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    me.CmbUnite.rowsource = "Select Unite, rang From Table U Where site = "  & chr(34) & me.CmbSite & chr(34)

  5. #5
    Membre averti
    Homme Profil pro
    agent
    Inscrit en
    Septembre 2023
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : agent

    Informations forums :
    Inscription : Septembre 2023
    Messages : 24
    Par défaut
    Merci,

    Citation Envoyé par fclus Voir le message
    Champ 1 : CmbSite
    Source contrôle : Table S

    Champ 2 : CmbUnite
    Source contrôle : Table U
    à quoi correspondent ces champs 1 et 2 ? des noms de zones de texte ou zones de liste ? j'ai essayé de mettre Table U comme source controle de la zone de texte CmbUnite mais il faut aussi sélectionner un champ de Table U... je n'y comprends rien...
    Et pourquoi Cmb ?


    Citation Envoyé par fclus Voir le message
    Après avoir choisi le site, il faut mettre à jour la source de données du champ CmbUnite

    Sur événement "Après mise à jour" de CmbSite :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    me.CmbUnite.rowsource = "Select Unite, rang From Table U Where site = "  & chr(34) & me.CmbSite & chr(34)
    j'ai aussi essayé de mettre ce code mais ça ne fonctionne pas, l'erreur est sur le rowsource.

    je vais reformuler ma question sur la création de mon formulaire dans le forum IHM.

  6. #6
    Expert éminent
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    9 021
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 9 021
    Par défaut
    bonsoir,
    personnellement je te conseillerai de lire ce tutoriel où on apprend à implémenter un sous-formulaire dans un formulaire simple: https://claudeleloup.developpez.com/...us-formulaire/

Discussions similaires

  1. Réponses: 10
    Dernier message: 22/12/2010, 16h28
  2. SQL comme source de contrôle d'une zone de texte
    Par voxov dans le forum VBA Access
    Réponses: 0
    Dernier message: 21/12/2010, 13h04
  3. Réponses: 12
    Dernier message: 03/12/2007, 19h41
  4. modifier source controle d'une zone de texte dans un état
    Par electrosat03 dans le forum Access
    Réponses: 3
    Dernier message: 20/03/2006, 11h04

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