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

Modélisation Discussion :

Problème remplissage de champ automatique par rapport à un autre champ.


Sujet :

Modélisation

  1. #1
    Candidat au Club
    Homme Profil pro
    Santé Prothésiste
    Inscrit en
    Juin 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Aube (Champagne Ardenne)

    Informations professionnelles :
    Activité : Santé Prothésiste

    Informations forums :
    Inscription : Juin 2016
    Messages : 4
    Points : 2
    Points
    2
    Par défaut Problème remplissage de champ automatique par rapport à un autre champ.
    Bonjour,

    J'essaye depuis plusieurs jours maintenant à étoffer mon fichier Access (j'utilise Access 2016) avec une nouvelle fonctionnalité. Pour faire simple, cette fonctionnalité ressemblerait au fait de choisir une ville dans une liste à choix multiple qui serait trié par rapport au code postal rentré précédemment, lorsque je rentre un nouvel enregistrement. J'ai trouvé par mal d'articles sur le Web de personnes qui voulait faire la même chose, mais les solutions ne m'ont pas résolu le problèmes. Je tiens à préciser que je n'ai pas des connaissances avancé en VB ou autres.

    En fouillant j'ai trouvé cette article qui était pas mal : http://www.developpez.net/forums/d10...e-code-postal/. Néanmoins, lorsque je fais ce qui est marqué, je me retrouve à avoir une liste déroulante ou tout est vide, et quand j'essaye de rentrer un code postal il me marque que ce n'est pas possible car il n'existe pas dans la base... (ce qui est faux). J'ai essayé plusieurs fois et un peu différemment mais pareil. C'est dommage car C'était assez simple à faire, mais soit il y a un truc que j'ai pas suivi, soit l'article n'est plus d'actualité....

    J'ai regardé cela aussi : http://www.developpez.net/forums/d12...t-code-postal/ mais a vrai dire j'ai pas bien compris et le fichier joint a l'air assez compliqué.

    Les articles qui font 8 pages avec 80 lignes de codes comme j'ai vu je pense qu'on peut oublié pour moi (surtout qu'il y a des articles qui font bcp plus simple et qui a l'air de marché pour certaines personnes, mais pas pour moi !).

    J'ai trouvé cela aussi qui avait l'air pas mal : http://www.developpez.net/forums/d15...hamp-partir-d/ mais j'arrive pas à bien comprendre ce qu'il a fait (quand je fais ce que je pense ça ne marche pas)

    Je pense que la solution se trouve dans les paramètres de formulaires avec les source contrôle et contenu + VBL comme sur le premier lien ou dernier lien, mais je bloque (surtout que ça a l'air tout bête au final...)


    Un grand merci si vous avez une réponse...

  2. #2
    Modérateur

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

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

    Je pense que la solution que tu cherches est là :

    Comment faire en sorte que le contenu d'une zone de liste déroulante dépende de la valeur d'une autre liste ?
    http://access.developpez.com/faq/?page=zdl#DepZdl

    Et c'est 1 requête et 1 ligne de code.

    A+

  3. #3
    Candidat au Club
    Homme Profil pro
    Santé Prothésiste
    Inscrit en
    Juin 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Aube (Champagne Ardenne)

    Informations professionnelles :
    Activité : Santé Prothésiste

    Informations forums :
    Inscription : Juin 2016
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Bonjour,

    Merci de m'avoir répondu. Cependant j'étais déjà tombé sur ce "tuto" mais il ne correspond pas à ce que je veux. Effectivement, déjà il faut qu'il y ai deux listes situées dans 2 tables différentes, puis il faut qu'elles soient reliées entre elles par une clé étrangère.

    Moi j'ai deux tables, une avec les clients qui donne pour résumer le nom, code postal, ville et une autre table avec les codes postales et en face les villes correspondantes (des fois, un même code postal peut correspondre à différentes villes aussi).

    Dans le formulaire relié à la table client, j'aimerai que lorsque je rentre le code postal, le champ ville se remplie tout seul grâce aux données contenues dans la seconde table (avec les CP et villes correspondantes).

    En réalité, ce n'est pas pour les code postal que je souhaite faire cela mais le raisonnement est le même...

    Merci pour vos réponses

  4. #4
    Modérateur

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

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 365
    Points : 23 835
    Points
    23 835
    Par défaut
    En réalité, ce n'est pas pour les code postal que je souhaite faire cela mais le raisonnement est le même...
    En fait ma réponse pouvait être adaptée à ton problème, il n'y a pas d'obligation à ce que le champ de filtrage soit une liste déroulante. Ce peut être un champ texte.

    Mais si l'élément dont tu vas te servir est unique je te suggère de l'utiliser comme clef étrangère et de simplement afficher le nom de la ville mais de ne pas le stocker.

    Voici comment je te suggère de procéder :

    1. Créer une liste déroulante qui présente ton élément d'identification unique. Cette liste va servir à la sélection.
    2. Créer une liste déroulante qui présente ton élément et la ville associée.
      La requête qui l'alimente est un truc du genre
      Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
      select [taSource].[Identifiant], [taSource].[Ville]
      Définir la largeur des colonnes à 0;. Cela va masquer l'affichage de l'identifiant et ne garder que le nom.


    A+

  5. #5
    Candidat au Club
    Homme Profil pro
    Santé Prothésiste
    Inscrit en
    Juin 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Aube (Champagne Ardenne)

    Informations professionnelles :
    Activité : Santé Prothésiste

    Informations forums :
    Inscription : Juin 2016
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Bonjour, merci encore de la réponse,

    Cependant je n'ai pas bien compris la procédure que vous m'indiquez. Je suis novice en Access... J'ai essayer plusieurs marche à suivre sur d'autre tuto mais il y a toujours un truc qui ne marche pas . Vraiment je sèche totalement et je ne sais plus quoi faire.

    Je désespère totalement et pourtant il est impératif que je trouve comment réaliser ce système

  6. #6
    Modérateur

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

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 365
    Points : 23 835
    Points
    23 835
    Par défaut
    OK l'idée est d'utiliser les listes déroulantes pour faire le travail à notre place.

    1. Avec l'assistant de création de liste déroulante, fait une liste pour la sélection de ton élément unique basée sur ta table d'identifiant unique.
      Je vas supposer que cette liste déroulante alimente le champ IdUnique et que la liste s'appelle lstIdUnique.
    2. Une fois cela fait tu crées une seconde liste déroulante encore basée sur ta table d'identifiant unique qui présente : l'identifiant unique et la ville qui lui est associée.
      Lors de la création l'assistant te demande quel sont les tailles des colonnes affichées. Pour la colonne qui correspond à l'identifiant unique, tu mets 0.
      Cela va faire disparaître la colonne de l'affichage mais les données vont rester là.
      Cette liste alimente aussi le champ IdUnique.
      Je vas supposer que cette liste s'appelle lstVille.


    Donc au final on a 2 listes (lstIdUniqueet lstVile) qui pointent sur le même champ (IdUnique) .
    La ville va s'afficher automatiquement dés que tu auras choisi l'identifiant unique.

    J'espère avoir été plus clair, sinon n'hésite pas a poser d'autres questions.

    A+

  7. #7
    Expert éminent sénior
    Avatar de Domi2
    Homme Profil pro
    Gestionnaire
    Inscrit en
    Juin 2006
    Messages
    7 194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : Suisse

    Informations professionnelles :
    Activité : Gestionnaire
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 194
    Points : 16 044
    Points
    16 044
    Par défaut
    Bonjour,

    Un tutoriel qui devrait répondre exactement à ton besoin, et sans VBA.

    Bonne journée.

  8. #8
    Candidat au Club
    Homme Profil pro
    Santé Prothésiste
    Inscrit en
    Juin 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Aube (Champagne Ardenne)

    Informations professionnelles :
    Activité : Santé Prothésiste

    Informations forums :
    Inscription : Juin 2016
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Bonjour, merci encore pour vos réponses.

    J'ai pris qq jours pour comprendre mieux le VBA et le SQL et j'ai trouver un truc qui a marché.

    Merci en tout cas !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Calcul d'un champ par rapport à un autre champ
    Par nomamy dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 12/07/2008, 22h52
  2. hauteur <div> automatique par rapport à un autre <div>
    Par arnaud_verlaine dans le forum Mise en page CSS
    Réponses: 11
    Dernier message: 08/05/2008, 19h38
  3. Réponses: 1
    Dernier message: 08/01/2008, 17h01
  4. Réponses: 3
    Dernier message: 17/01/2007, 09h33
  5. Désactiver un champ input par rapport à un autre
    Par guilhemr dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 11/04/2006, 16h35

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