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

VBA Access Discussion :

zones de liste dans une table


Sujet :

VBA Access

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2007
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2007
    Messages : 35
    Points : 23
    Points
    23
    Par défaut zones de liste dans une table
    Bjr!

    Mon problème n'est peut être pas bien nommé, mais en gros, je ne parviens pas à faire correspondre deux zones de liste dans une table.

    C'est le cas de la ville et du code postal. Dans mon formulaire, aucun problème, si je sélectionne la ville, le code postal est repris automatiquement. Cependant, dans la table principale (tblClients) je retrouve uniquement la ville, et le code postal n'est pas recopié. Pourquoi?

    Dans mon formulaire, j'ai repris un champ pour la ville qui contient

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT tblCodesPostaux.Name, tblCodesPostaux.Code FROM tblCodesPostaux;
    le code postal est alors =Ville.column(1)

    Je voudrais alors que dans la table tblClients se retrouvent le code postal et la ville correspondante à chaque client. Que dois je mettre dans les propriétés des champs Ville et CodePostal de ma table clients?

    Si ce n'est pas clair, faites le moi savoir...

    D'avance merci !

    Recap :
    * Table tblClients qui contient entre autres les champs Ville et CodePostal
    * Table tblCodesPostaux qui contient les champs Code et Ville (l'ensemble des codes postaux du pays)
    * Formulaire formClients qui contient un champ Ville et un CodePostal également

  2. #2
    Membre chevronné Avatar de Renardo
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 648
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 648
    Points : 2 019
    Points
    2 019
    Par défaut
    La source du champ code postal(Formulaire) est elle relier au champ de ta table(Code postal)

  3. #3
    Membre expérimenté Avatar de bernardmichel
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2004
    Messages
    1 181
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 181
    Points : 1 591
    Points
    1 591
    Par défaut
    Citation Envoyé par Willygramme Voir le message
    Bjr!
    le code postal est alors =Ville.column(1)

    Recap :
    * Table tblClients qui contient entre autres les champs Ville et CodePostal
    * Table tblCodesPostaux qui contient les champs Code et Ville (l'ensemble des codes postaux du pays)
    * Formulaire formClients qui contient un champ Ville et un CodePostal également
    Selon moi, la formule "=Ville.column(1)" ne fait qu'afficher le N° postal, si tu veux qu'il soit enregistré, je ferais sur "évènement Maj" un truc du style
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me!CodePostal = Me!Ville.Column(1)

  4. #4
    Rédacteur/Modérateur
    Avatar de Jeannot45
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2004
    Messages
    3 871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 871
    Points : 8 489
    Points
    8 489
    Par défaut
    Bonjour,

    Quel est l'intéret de stocker le Code Postal dans la table Clients alors que par une requete il est possible de reconstruire l'information. (Ville + Code Postal) ?
    En stockant l'un ou l'autre cela devrait suffire.

  5. #5
    Membre expérimenté Avatar de bernardmichel
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2004
    Messages
    1 181
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 181
    Points : 1 591
    Points
    1 591
    Par défaut
    Citation Envoyé par Jeannot45 Voir le message
    Bonjour,

    Quel est l'intéret de stocker le Code Postal dans la table Clients alors que par une requete il est possible de reconstruire l'information. (Ville + Code Postal) ?
    En stockant l'un ou l'autre cela devrait suffire.
    La démarche que propose Jeannot est parfaitement correcte et répond exactement à "l'esprit base de donnée" sans données redondantes.
    Par contre, j'attire ton attention sur le fait que parfois un N° postal correspond à plusieurs localité. Je te suggère donc de favoriser l'emploi d'un N° d'identification unique, par exemple IdLocalité qui serait un numéroauto.

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2007
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2007
    Messages : 35
    Points : 23
    Points
    23
    Par défaut
    j'essaie de résoudre mon problème avec la requête, merci pour toutes vos idées !

    Je crie dès que j'ai trouvé...

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2007
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2007
    Messages : 35
    Points : 23
    Points
    23
    Par défaut
    je ne parviens pas à attribuer une ville et un code postal à mes clients. Je n'y arrive pas avec la requête. Des pistes peut être?

    je suis assez novice en access. J'ai réussi à attribuer des entretiens de chaudière à chaque client, mais pour les codes postaux, j'y arrive pas. Je dois faire de nouvelles relations?

  8. #8
    Membre expérimenté Avatar de bernardmichel
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2004
    Messages
    1 181
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 181
    Points : 1 591
    Points
    1 591
    Par défaut
    Donnes-moi la description de ta table clients et de ta table Codes postaux
    Nom des champs et types
    De cette façon, je pourrai te donner une piste pour afficher la ville et le N° postal

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2007
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2007
    Messages : 35
    Points : 23
    Points
    23
    Par défaut
    la table tblClients contient un paquet de champs, ceux qui nous intéressent sont :

    IdClient = numérique à 5 chiffres
    Ville = texte
    CodePostal = texte, (mais pq pas numérique !)

    VilleFactur = texte
    CodePostalFactur = texte

    VilleLoc = texte
    CodePostalLoc = texte

    rem : un IdClient peut avoir plusieurs adresses (facturation, locataire/propriétaire)

    La table tblCodesPostaux contient jusqu'à présent 2 champs :

    Codes = texte (4 chiffres en fait)
    Villes = texte

    Donc il faudrait que je puisse afficher et modifier les codes postaux liés aux clients dans un formulaire...

    Merci pour ces réponses rapides, ce forum et le site qui va avec sont tout simplement géniaux !

  10. #10
    Membre expérimenté Avatar de bernardmichel
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2004
    Messages
    1 181
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 181
    Points : 1 591
    Points
    1 591
    Par défaut
    A priori, il manque un IdVille dans "tblCodesPostaux"
    Cela te permettrait d'afficher dans ton form une liste déroulante qui va rechercher de façon sûre le code et le nom de la ville à créer avec l'assistant ad'hoc en n'oubliant pas d'attribuer la valeur de la liste au champ de destination.

    Dans la liste déroulante lstNum tu afficherais 3 champs :
    IdVille - NumPostal - Localité
    Largeur des colonnes : 0cm;2,5cm;4cm

    Dans la liste déroulante lstVilles tu afficherais également 3 champs :
    IdVille - Localité - NumPostal
    Largeur des colonnes : 0cm;4cm;2.5cm

    La largeur des primières colonnes étant réglé à : 0cm tu ne verras pas s'afficher "IdVille"
    Par contre, tu peux directement sélectionner d'un seul coup, la ville et son numéro postal (un N° postal concerne souvent plusieurs localités)
    Une foix la sélection faite, tu peux - sur l'action "Après MAJ" - créer une ligne de code qui remplit le second champ :

    Pour mettre à jour le champ "Ville" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub lstNum_AfterUpdate()
        Me!lstVilles = Me!lstNum.Column(2)
    End Sub
    Et Pour mettre à jour le champ "Numéro postal" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub lstVille_AfterUpdate()
        Me!lstNum = Me!lstVille.Column(2)
    End Sub
    Tu peux bien entendu répéter cela à l'envi en fonction du nombre d'adresse de tes clients (facturation, domicile, etc)

    Je ne sais pas si cela répond à ton attente ???

  11. #11
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2007
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2007
    Messages : 35
    Points : 23
    Points
    23
    Par défaut
    je teste, merci beaucoup !

  12. #12
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2007
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2007
    Messages : 35
    Points : 23
    Points
    23
    Par défaut
    Ca marche ! Merci beaucoup !!!

    un tout grand merci !

  13. #13
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2007
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2007
    Messages : 35
    Points : 23
    Points
    23
    Par défaut
    Citation Envoyé par bernardmichel Voir le message
    en n'oubliant pas d'attribuer la valeur de la liste au champ de destination.
    C'est ca qu'il me manquait et que je n'avais pas trouvé dans un tuto, et en suivant l'assistant, j'ai compris ce que ca voulait dire.

    Encore merci...

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

Discussions similaires

  1. [AC-2013] Mise à jour des valeurs d'un champ zone de liste dans une table
    Par GILLES_M dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 19/03/2014, 21h00
  2. Réponses: 2
    Dernier message: 14/07/2009, 08h45
  3. Réponses: 5
    Dernier message: 23/08/2006, 19h42
  4. recuperation de liste dans une table
    Par poosh dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 17/08/2006, 20h17
  5. Réponses: 7
    Dernier message: 23/06/2006, 14h52

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