Access
Résoluj ai crée une table access toute simple avec nom prenom cp ville
j ai cree une requete pour avoir tous les cp en liste de choix.. ok
je voudrais que mon champ ville marque automatiquement la ville en fonction de l'entree du code postal...
comment faire?
merci a tous
Configuration: Windows XP Firefox 2.0.0.6
27 réponses
Afficher automatiquement la ville à partir du code postal dans une table Access requiert une relation ou une logique de lookup lorsque l'utilisateur choisit CP. Plusieurs réponses indiquent qu'Access ne peut pas déterminer automatiquement la ville après la saisie du CP et proposent l'ouverture d'un formulaire ou l'usage d'une macro pour sélectionner puis fermer la fenêtre. Des alternatives incluent une liste déroulante affichant CP et nom de ville, ou la création d'une liaison entre les tables Client et Ville via une clé étrangère IDVille, afin d'utiliser une requête de jointure. En pratique, la solution repose sur l'utilisation d'une table Ville avec CP et NomVille, puis sur une requête de jointure et un champ Lookup lié à IDVille, apportant une précision nouvelle.
-
j'ai renconteree le meme probleme , et il m'affiche le message :la définition du champ "Id" non valide dans la défition de l'index ou la relation, et merci d'avance j'ai essaye de suivre les étapes mais ce message m'empeche d'avancer
-
de rien
-
ouf!!!!!!!!!!!
merci PereDeNuit...
ca y est ca fonctionne...
un grand merci pour la patience et les explications claires!!!!!
merci... merci... merci... merci...
au plaisir d'un prochain probleme....rire
gil -
ne prends pas en consideration l'étape (Par PèreDeNuit, le mercredi 3 octobre 2007 à 08h03:12) car je veux le rectifier.
maintenet reprenant vraiment cet etape:
(((((
maintenant tu dois creer une requette entre tes tables (Client et Ville)
Requete /Nouveau/Mode Creation/Ok
Ajout des Tables, utilise les champs (CodeClient,Nom, Prenom,IDVille) ceux de tables Client ET le champ (NomVille) celui de table Ville
peut etre tu te trompes ici,
***Assure toi que tu es en <Mode Creation> et pas en mode SQL. pour le faire: Affichage/Mode Creation
-Selectionne le champ IDVille (où c'est marqué Field,Table Sort, show,Criteria .....) ( où c'est marqué Champs, Table, Tri, Affichers Ou...)
-clique droite sur la souris/Properties/Lookup (Liste de choix)
Display Contro: Combo Box (Zone de liste déroulante)
Row Source Type: Table/Query
Row Source (Contenu): SELECT Ville.CP, Ville.NomVille, Ville.IDVille FROM Ville ORDER BY Ville.CP;
NB: Tu ne dois pas modifier les emplacements des champs dans ta requette
Bound Column (Colonne liée): 3
Column Count: 2
Column Heads:
Column Widths: 0.5";5"
List Rows:
List Width:
Limit To List: Yes
puis souvegarde ta requette sous le nom RqVille.
)))))))
Courage gile83 et excuse moi pour l'erreur de l'etape precedant -
reprenant cet etape:
(((((
maintenant tu dois creer une requette entre tes tables (Client et Ville)
Requete /Nouveau/Mode Creation/Ok
Ajout des Tables, utilise les champs (CodeClient,Nom, Prenom,IDVille) ceux de tables Client ET le champ (NomVille) celui de table Ville
peut etre tu te trompes ici,
***Tu ne dois pas modifier les emplacements des champs c.à.d. CodeClient est le 1er champ dans ta requette, Nom est le 2ème, IDVille est le 3ème, NomVille est le 4ème.
***Assure toi que tu es en <Mode Creation> et pas en mode SQL. pour le faire: Affichage/Mode Creation
**** continue ca doit marchee......
-Selectionne le champ IDVille (où c'est marqué Field,Table Sort, show,Criteria .....) ( où c'est marqué Champs, Table, Tri, Affichers Ou...)
-clique droite sur la souris/Properties/Lookup (Liste de choix)
Display Contro: Combo Box (Zone de liste déroulante)
Row Source Type: Table/Query
Row Source (Contenu): SELECT Ville.CP, Ville.NomVille, Ville.IDVille FROM Ville ORDER BY Ville.CP;
Bound Column (Colonne liée): 3
Column Count: 2
Column Heads:
Column Widths: 0.5";5"
List Rows:
List Width:
Limit To List: Yes
puis souvegarde ta requette sous le nom RqVille.
)))))))
Courage gile83 -
hello pere de nuit...
genial pour la construction et les relations
mais j ai encore un soucis avec la requete
ma liste deroulante de id_ville n affiche rien malgre avoir repris ton sql a la lettre...????????????
mais j ai deja fait un grand pas grace a toi
a bientot -
Bon, cette solution, je l'ai testé. et ca marche, Applique la telle q'elle est.
1- table < Client(CodeClient, Nom, Prenom, IDVille) avec la clef primaire CodeClient>
Type de donnée de CodeClient est Text
DataType de Nom est Text
DataType de Prenom est Text
DataType de IDVille est Number-Long Integer c.à.d Numérique-Entier Long
2- table < Ville(IDVille, CP, NomVille) avec la clef primaire IDVille
Type de donnée de IDVille est AutoNumber
Type de donnée de CP est Text
DataType de NomVille est Text
une fois tu a terminé, tu dois creer une relation entre ces deux tableaux:
Outils/Relation
Relation/Affiche la table
faire ajouter les deux tables, et cree une relation entre les deux tables (clique sur le <IDVille du table Ville> reste appuyer et passe ta
souris sur le <IDVille de client>, coche (Applique integrite referencielle) et coche (mettre a jour en cascade les champs correspondants),
clique sur le bouton creer.
maintenant tu dois creer une requette entre tes tables (Client et Ville)
Requete /Nouveau/Mode Creation/Ok
Ajout des Tables, utilise les champs (CodeClient,Nom, Prenom,IDVille) ceux de tables Client ET le champ (NomVille) celui de table Ville
Attention Maintenant c'estl'astuce (pour selectionner le CP par une liste deroulente )faire:
-Selectionne le champ IDVille (où c'est marqué Field,Table Sort, show,Criteria .....)
-clique droite sur la souris/Properties/Lookup (Liste de choix)
Display Contro: Combo Box (Zone de liste déroulante)
Row Source Type: Table/Query
Row Source (Contenu): SELECT Ville.CP, Ville.NomVille, Ville.IDVille FROM Ville ORDER BY Ville.CP;
Bound Column (Colonne liée): 3
Column Count: 2
Column Heads:
Column Widths: 0.5";5"
List Rows:
List Width:
Limit To List: Yes
puis souvegarde ta requette sous le nom RqVille.
d'abord, tu dois remplir le table Ville (ex: 75000 paris, 57000 Metz, ....)
IDVille CP NomVille
1 57000 Metz
2 75000 Paris
3 75000 Paris 1
4 75000 Paris2
6 54000 Nancy
puis pour remplir les different clients, tu devrais utiliser la requette déjà construit par toi <RqVille>
ex:
CodeClient Nom Prenom IDVille NomVille
C3 Nom3 P 75000 Paris
C1 Nom1 P1 75000 Paris 1
CC NomC P 75000 Paris 1
C2 Nom2 P2 75000 Paris2
C4 Nom4 P4 54000 Nancy
C5 Nom5 P5 54000 Nancy
maintenant, si tu veux bien regader le contenu de la table Client, tu trouveras
CodeClient Nom Prenom IDVille
C1 Nom1 P1 3
C2 Nom2 P2 4
C3 Nom3 P 2
C4 Nom4 P4 6
C5 Nom5 P5 6
CC NomC C 3
Courage -
Dans la mesure où Access ne sait pas quelle ville afficher après la saisie du code postal, ce que tu cherches à faire n'est pas facilement réalisable. A première vue, après la saisie du CP, il faudrait qu'un formulaire s'ouvre et affiche la liste des villes correspondant au CP, et que lorsque tu en sélectionnes un, le formulaire se referme et affiche la ville choisie. Je ne sais pas si c'est réalisable sans programmation, car il en faudra au moins macro pour la partie de sélection et fermeture du formulaire de choix.
Tu aurais une solution de contournements, c'est d'afficher une liste déroulante comportant le code postal ET le nom de villes. Mais alors ça te fait une liste de choix ou déroulante de près de 36000 entrées, ce qui risque d'alourdir le fonctionnement de ton formulaire.
A moins que qqun d'autre ait une idée plus simple ? -
je recapitule
table1 code client numeroauto cprimaire
nom texte
cp numerique
table 2 id ville numeroauto cprimaire
cp numerique
ville texte
je voudrais lier les 2 et faire une requete afin de pouvoir remplir ma table et que quand je rentre le cp une liste de choix se presente dans les villes........
help!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! je deviens fou!!!-
Bonjour,
Je souhaiterai savoir si vous avez pu résoudre votre problème avec les codes postaux.
Je suis en train de faire la même chose, à savoir :
J'ai une table CONTACTS qui contient:
- Nom
- Code postal
- Ville
Actuellement, lorsque je tape le nom, puis le code postal, le champ ville
n'est pas pre-rempli.
J'ai une seconde table "reference_codes_postaux" qui contient l'ensemble des
codes postaux et villes de France.
Cette table a 2 champs:
- code_postal
- ville
A noter: 2 villes peuvent avoir le même code postal (par ex, les petits
villages).
Pour m'aider dans la saisie de la ville, dans ma table CONTACTS, j'ai défini
une liste de choix, avec comme source la table reference_codes_postaux.
J'obtiens donc l'ensemble de toutes les villes, pour tous les codes postaux
dans la liste déroulante.
L'étape que je ne parviens pas à faire est la suivante: lorsque je tape le
code postal dans la table CONTACTS, je souhaite que le champ "ville" soit
automatiquement pré-rempli.
Comment faire?
Si vous avez besoin de plus d'informations pour répondre à cette question,
merci de m'aiguiller.
Cordialement,
-
-
j y arrive tres bien si je prend des cp uniques .. la ok
mais pour ce que je veux faire j ne comprend pas quoi lier avec quoi et surtout
ca ne me donne pas les villes en tapant le cp... pfffffffffffffffffffffff -
Bonjour,
vraiment j y arrive pas....
help!!! -
j ai lie... ok ville en numerique table1 a id_ville table2
ok c est bon
mais la requete
la voila
SELECT client.nom, client.prenom, client.cp, cp.Villes
FROM cp INNER JOIN client ON cp.id_ville=client.ville;
et je ne peux rien entrer nulle part.. ca fait cling... -
ContributeurHeu...
table1 nom texte prenom texte cp numerique ville texte j ai rajouté id_ville en numeroauto cle primaire
moi j'ai rien écrit de tel...
il faut un id_client... et que ville soitr numérique pour le lier à l'id_ville NumAuto de la table2 -
Bonjour a tous...
non j ai pas resolu mon probleme.. et je galere grave.
je vais essayer d etre plus clair sur mes tables
table1 nom texte
prenom texte
cp numerique
ville texte
j ai rajouté id_ville en numeroauto cle primaire
comme le disais grizzly
table2 id_ville en numeroauto cle primaire
cp en numerique
villes en texte
quand je veux relier id_ville a id_ville ca me dit definition non valide dans la definition de l index...
voila je seche toujours.... et je desespere d y arriver....
question idiote... les valeurs de id_ville doivent etre les memes?
je nage!!!
help -
Tu as toujour raison GRYZZLY, c'est complique, j'ai cru qu'il y avait pour chauque ville un code unique.
En reponse au notre <gil83, le mardi 25 septembre 2007 à 18h42:42>
(((mais il est impossible de mettre la cle primaire sur cp car il existe plusieurs villes correspondant au meme cp
meme en rajoutant un champ ref en numerique auto dans la table ville j arrive pas a faire la liaison entre les 2 tables!!! )))
==> utilise le shema proposé Par gryzzly daté du mardi 25 septembre 2007 à 19h28:02
==> et essaie de prendre le type <numerique auto > qui sera relier à un champ de type <Entier long> -
ContributeurNon, encore une fois, c'est faux. Pour la même raison que précédemment annoncée.
Code postal 05000
→
05000 CHATEAUVIEUX Hautes-Alpes Provence-Alpes-Côte-d'Azur
05000 PELLEAUTIER Hautes-Alpes Provence-Alpes-Côte-d'Azur
05000 LA BATIE VIEILLE Hautes-Alpes Provence-Alpes-Côte-d'Azur
05000 RAMBAUD Hautes-Alpes Provence-Alpes-Côte-d'Azur
05000 LA ROCHETTE Hautes-Alpes Provence-Alpes-Côte-d'Azur
05000 GAP Hautes-Alpes Provence-Alpes-Côte-d'Azur
05000 LA FREISSINOUSE Hautes-Alpes Provence-Alpes-Côte-d'Azur
05000 ROMETTE Hautes-Alpes Provence-Alpes-Côte-d'Azur
05000 NEFFES Hautes-Alpes Provence-Alpes-Côte-d'Azur
=9 villes/communes correspondant au CP 05000. Donc, CP ne peut PAS être une clé primaire.
Enfin, depuis le temps, j'espère qu'il s'en est sorti, sinon c'est pas gagné :s -
Bonjour,
NB: souligné c.a.d.que c'est une clef primaire
cree les deux tableaux:
Table <Client>
CodeClient
Nom
Prenom
CP
Table <Ville>
CP
NomVille
dans ta relation faire:
Table <Client>
CodeClient
Nom
Prenom Table <Ville>
CP -------------- ∞ -------------------------------------------------- 1 ------- CP
NomVille
quand tu fais ta saisie:
dans table ville
CP Ville
75000 paris
57000 Metz
dans table client
ColdeClient Nom Prenom CP
1 DUPONT Jean 75000
2 DADA Jacques 57000
3 TOTO Moris 75000
4 TUTU Joseph 75000
maintenant tu as 3 client habittant la ville de Paris et un seul client habittant la ville de Metz
courage -
slut moi je suis guinéen de conakry et j'aimerais avoir es premières notions en ACCESS
-
Contributeur
Table 1 : Table 2 : id_ville * ---- id_client * cp \ nom ville \ prenom ---- id_ville
-
merci peredenuit
mais il est impossible de mettre la cle primaire sur cp car il existe plusieurs villes correspondant au meme cp
et meme en rajoutant un champ ref en numerique auto dans la table ville j arrive pas a faire la liaison entre les 2 tables!!!
help!!!
merci d avance
- 1
- 2