j'ai un petit pb à vous soumettre. Voila donc mon soucci: j'ai crée un
formulaire avec des champs 'adresse', 'code postal' et 'ville' entre autres.
Les zones 'adresse' et 'code' postal font partie de la même table et j'ai
crée une table à part pour le code postal et la ville correspondante.
Si je définit le code postal comme clé primaire, je n'ai pas de souccis et
mon formulaire va correctement récupérer la valeur du champs 'ville' dans la
seconde table, via le code postal, par une requête.
En récupérant la liste complète des codes postaux de France, je me suis
apperçu que le code postal n'était pas unique et ne pouvait donc pas être
utilisé comme clé primaire. J'ai donc crée une nouvelle table des codes
postaux avec un numéro de référence comme clé primaire et dans mon formulaire
une liste déroulante pour le libellé de la ville (puisqu'un même code postal
peut correspondre à plusieures villes).
Et là, c'est le drâme : mon formulaire est complètement figé et je ne peux
plus modifier aucune valeur sur les champs de mon formulaire, tout est bloqué.
Voyez vous une explication et surtout un moyen de m'en sortir?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
david
salut,
1° : le code postal n'est pas le code commune. Il n'est pas unique. Il correspond au bureau distributeur (le plus souvent les communes de + de 2000 habitants ou tout les 10 Km maxi). De plus, l'inverse est aussi vrai. Les grandes villes (Paris, Lille, Marseille, ...) dispose d'arrondissement ayant chacun son propre code postal.Enfin, une même commune (si elle excéde 20000 habitants) dispose le plus souvent de plusieurs bureaux distributeurs, donc plusieurs Code postaux valide.
Sinon, pour en revenir à ton cas. Il faut stocker l'information de code postal et de ville dans ta table d'adresse (sous forme de clé étrangère). Ensuite, il faut représenter la saisie de cette clé (et non pas de la données qu'elle représente) Tu as deux possibilités : - utiliser une liste déroulante pour le choix du code postal (et de la ville) - utiliser une zone de texte (indépendante) pour la saisie du code postal - dans ce cas, il faut faire un code VBA pour rechercher la valeur de clé correspondant au code postal saisie. En fait tu devras ajouter un formulaire pour choisir le bon couple code postal/ville
A+
salut,
1° : le code postal n'est pas le code commune. Il n'est pas unique. Il
correspond au bureau distributeur (le plus souvent les communes de + de
2000 habitants ou tout les 10 Km maxi).
De plus, l'inverse est aussi vrai. Les grandes villes (Paris, Lille,
Marseille, ...) dispose d'arrondissement ayant chacun son propre code
postal.Enfin, une même commune (si elle excéde 20000 habitants)
dispose le plus souvent de plusieurs bureaux distributeurs, donc
plusieurs Code postaux valide.
Sinon, pour en revenir à ton cas. Il faut stocker l'information de
code postal et de ville dans ta table d'adresse (sous forme de clé
étrangère).
Ensuite, il faut représenter la saisie de cette clé (et non pas de la
données qu'elle représente)
Tu as deux possibilités :
- utiliser une liste déroulante pour le choix du code postal
(et de la ville)
- utiliser une zone de texte (indépendante) pour la saisie
du code postal
- dans ce cas, il faut faire un code VBA pour
rechercher la valeur de clé
correspondant au code postal saisie. En fait tu devras
ajouter un formulaire
pour choisir le bon couple code postal/ville
1° : le code postal n'est pas le code commune. Il n'est pas unique. Il correspond au bureau distributeur (le plus souvent les communes de + de 2000 habitants ou tout les 10 Km maxi). De plus, l'inverse est aussi vrai. Les grandes villes (Paris, Lille, Marseille, ...) dispose d'arrondissement ayant chacun son propre code postal.Enfin, une même commune (si elle excéde 20000 habitants) dispose le plus souvent de plusieurs bureaux distributeurs, donc plusieurs Code postaux valide.
Sinon, pour en revenir à ton cas. Il faut stocker l'information de code postal et de ville dans ta table d'adresse (sous forme de clé étrangère). Ensuite, il faut représenter la saisie de cette clé (et non pas de la données qu'elle représente) Tu as deux possibilités : - utiliser une liste déroulante pour le choix du code postal (et de la ville) - utiliser une zone de texte (indépendante) pour la saisie du code postal - dans ce cas, il faut faire un code VBA pour rechercher la valeur de clé correspondant au code postal saisie. En fait tu devras ajouter un formulaire pour choisir le bon couple code postal/ville
A+
tonio
Bonjour, Bonjour,
j'ai un petit pb à vous soumettre. Voila donc mon soucci: j'ai crée un formulaire avec des champs 'adresse', 'code postal' et 'ville' entre autres. Les zones 'adresse' et 'code' postal font partie de la même table et j'ai crée une table à part pour le code postal et la ville correspondante.
Si je définit le code postal comme clé primaire, je n'ai pas de souccis et mon formulaire va correctement récupérer la valeur du champs 'ville' dans la seconde table, via le code postal, par une requête.
En récupérant la liste complète des codes postaux de France, je me suis apperçu que le code postal n'était pas unique et ne pouvait donc pas être utilisé comme clé primaire. J'ai donc crée une nouvelle table des codes postaux avec un numéro de référence comme clé primaire et dans mon formulaire une liste déroulante pour le libellé de la ville (puisqu'un même code postal peut correspondre à plusieures villes). Utilise cette table qui contient en plus le N° INSEE de la ville qui
lui est unique http://officesystem.access.free.fr/ex_codes_postaux.htm bonus département et région
Et là, c'est le drâme : mon formulaire est complètement figé et je ne peux plus modifier aucune valeur sur les champs de mon formulaire, tout est bloqué.
Voyez vous une explication et surtout un moyen de m'en sortir?
Ensuite dans ton formulaire (dans mon exemple il s'appelle "Frm_Client" crée 2 listes déroulantes [Numero_Codepostal] et [Nom_Commune]
données Numero_Codepostal SELECT Tbl_Communes.Numero_Codepostal, Tbl_Communes.Nom_Commune, Tbl_Communes.Numero_Commune, Tbl_Départements.Nom_Departement, Tbl_Regions.Nom_Région FROM Tbl_Regions INNER JOIN (Tbl_Départements INNER JOIN Tbl_Communes ON Tbl_Départements.Numéro_Departement = Tbl_Communes.Numéro_Departement) ON Tbl_Regions.Numéro_Région = Tbl_Départements.Numéro_Région ORDER BY Tbl_Communes.Numero_Codepostal, Tbl_Communes.Nom_Commune;
données Nom_Communes SELECT Tbl_Communes.Nom_Commune, Tbl_Communes.Numero_Codepostal, Tbl_Communes.Numero_Commune, [Formulaires]![Frm_Client]![CodePostal] AS Expr1 FROM Tbl_Communes WHERE (((Tbl_Communes.Numero_Codepostal)=[Formulaires]![Frm_Client]![CodePostal])) OR ((([Formulaires]![Frm_Client]![CodePostal]) Is Null)) ORDER BY Tbl_Communes.Nom_Commune, [Formulaires]![Frm_Client]![CodePostal];
en code tu saisis Private Sub Numero_Codepostal_AfterUpdate() Me.Nom_Commune = Me.Numero_Codepostal.Column(1) Me.Numero_Commune = Me.Numero_Codepostal.Column(2) Me.Nom_Département = Me.Numero_Codepostal.Column(3) Me.Nom_Région = Me.Numero_Codepostal.Column(4) End Sub Private Sub Numero_Codepostal_Enter() Me.Numero_Codepostal.Dropdown End Sub Private Sub Nom_Commune_AfterUpdate() Me.Numero_Codepostal = Me.Nom_Commune.Column(1) Me.Numero_Commune = Me.Numero_Codepostal.Column(2) Me.Nom_Département = Me.Numero_Codepostal.Column(3) Me.Nom_Région = Me.Numero_Codepostal.Column(4) End Sub Private Sub Nom_Commune_Enter() Me.Nom_Commune.Dropdown End Sub
Merci d'avance de vos suggestions. De rien
Brinco.
-- Tonio Meilleurs noeuds et beaux nénés
Bonjour,
Bonjour,
j'ai un petit pb à vous soumettre. Voila donc mon soucci: j'ai crée un
formulaire avec des champs 'adresse', 'code postal' et 'ville' entre autres.
Les zones 'adresse' et 'code' postal font partie de la même table et j'ai
crée une table à part pour le code postal et la ville correspondante.
Si je définit le code postal comme clé primaire, je n'ai pas de souccis et
mon formulaire va correctement récupérer la valeur du champs 'ville' dans la
seconde table, via le code postal, par une requête.
En récupérant la liste complète des codes postaux de France, je me suis
apperçu que le code postal n'était pas unique et ne pouvait donc pas être
utilisé comme clé primaire. J'ai donc crée une nouvelle table des codes
postaux avec un numéro de référence comme clé primaire et dans mon formulaire
une liste déroulante pour le libellé de la ville (puisqu'un même code postal
peut correspondre à plusieures villes).
Utilise cette table qui contient en plus le N° INSEE de la ville qui
lui est unique
http://officesystem.access.free.fr/ex_codes_postaux.htm
bonus département et région
Et là, c'est le drâme : mon formulaire est complètement figé et je ne peux
plus modifier aucune valeur sur les champs de mon formulaire, tout est
bloqué.
Voyez vous une explication et surtout un moyen de m'en sortir?
Ensuite dans ton formulaire (dans mon exemple il s'appelle "Frm_Client"
crée 2 listes déroulantes
[Numero_Codepostal] et [Nom_Commune]
données Numero_Codepostal
SELECT Tbl_Communes.Numero_Codepostal, Tbl_Communes.Nom_Commune,
Tbl_Communes.Numero_Commune, Tbl_Départements.Nom_Departement,
Tbl_Regions.Nom_Région
FROM Tbl_Regions INNER JOIN (Tbl_Départements INNER JOIN Tbl_Communes
ON Tbl_Départements.Numéro_Departement =
Tbl_Communes.Numéro_Departement) ON Tbl_Regions.Numéro_Région =
Tbl_Départements.Numéro_Région
ORDER BY Tbl_Communes.Numero_Codepostal, Tbl_Communes.Nom_Commune;
données Nom_Communes
SELECT Tbl_Communes.Nom_Commune, Tbl_Communes.Numero_Codepostal,
Tbl_Communes.Numero_Commune, [Formulaires]![Frm_Client]![CodePostal] AS
Expr1
FROM Tbl_Communes
WHERE
(((Tbl_Communes.Numero_Codepostal)=[Formulaires]![Frm_Client]![CodePostal]))
OR ((([Formulaires]![Frm_Client]![CodePostal]) Is Null))
ORDER BY Tbl_Communes.Nom_Commune,
[Formulaires]![Frm_Client]![CodePostal];
en code tu saisis
Private Sub Numero_Codepostal_AfterUpdate()
Me.Nom_Commune = Me.Numero_Codepostal.Column(1)
Me.Numero_Commune = Me.Numero_Codepostal.Column(2)
Me.Nom_Département = Me.Numero_Codepostal.Column(3)
Me.Nom_Région = Me.Numero_Codepostal.Column(4)
End Sub
Private Sub Numero_Codepostal_Enter()
Me.Numero_Codepostal.Dropdown
End Sub
Private Sub Nom_Commune_AfterUpdate()
Me.Numero_Codepostal = Me.Nom_Commune.Column(1)
Me.Numero_Commune = Me.Numero_Codepostal.Column(2)
Me.Nom_Département = Me.Numero_Codepostal.Column(3)
Me.Nom_Région = Me.Numero_Codepostal.Column(4)
End Sub
Private Sub Nom_Commune_Enter()
Me.Nom_Commune.Dropdown
End Sub
j'ai un petit pb à vous soumettre. Voila donc mon soucci: j'ai crée un formulaire avec des champs 'adresse', 'code postal' et 'ville' entre autres. Les zones 'adresse' et 'code' postal font partie de la même table et j'ai crée une table à part pour le code postal et la ville correspondante.
Si je définit le code postal comme clé primaire, je n'ai pas de souccis et mon formulaire va correctement récupérer la valeur du champs 'ville' dans la seconde table, via le code postal, par une requête.
En récupérant la liste complète des codes postaux de France, je me suis apperçu que le code postal n'était pas unique et ne pouvait donc pas être utilisé comme clé primaire. J'ai donc crée une nouvelle table des codes postaux avec un numéro de référence comme clé primaire et dans mon formulaire une liste déroulante pour le libellé de la ville (puisqu'un même code postal peut correspondre à plusieures villes). Utilise cette table qui contient en plus le N° INSEE de la ville qui
lui est unique http://officesystem.access.free.fr/ex_codes_postaux.htm bonus département et région
Et là, c'est le drâme : mon formulaire est complètement figé et je ne peux plus modifier aucune valeur sur les champs de mon formulaire, tout est bloqué.
Voyez vous une explication et surtout un moyen de m'en sortir?
Ensuite dans ton formulaire (dans mon exemple il s'appelle "Frm_Client" crée 2 listes déroulantes [Numero_Codepostal] et [Nom_Commune]
données Numero_Codepostal SELECT Tbl_Communes.Numero_Codepostal, Tbl_Communes.Nom_Commune, Tbl_Communes.Numero_Commune, Tbl_Départements.Nom_Departement, Tbl_Regions.Nom_Région FROM Tbl_Regions INNER JOIN (Tbl_Départements INNER JOIN Tbl_Communes ON Tbl_Départements.Numéro_Departement = Tbl_Communes.Numéro_Departement) ON Tbl_Regions.Numéro_Région = Tbl_Départements.Numéro_Région ORDER BY Tbl_Communes.Numero_Codepostal, Tbl_Communes.Nom_Commune;
données Nom_Communes SELECT Tbl_Communes.Nom_Commune, Tbl_Communes.Numero_Codepostal, Tbl_Communes.Numero_Commune, [Formulaires]![Frm_Client]![CodePostal] AS Expr1 FROM Tbl_Communes WHERE (((Tbl_Communes.Numero_Codepostal)=[Formulaires]![Frm_Client]![CodePostal])) OR ((([Formulaires]![Frm_Client]![CodePostal]) Is Null)) ORDER BY Tbl_Communes.Nom_Commune, [Formulaires]![Frm_Client]![CodePostal];
en code tu saisis Private Sub Numero_Codepostal_AfterUpdate() Me.Nom_Commune = Me.Numero_Codepostal.Column(1) Me.Numero_Commune = Me.Numero_Codepostal.Column(2) Me.Nom_Département = Me.Numero_Codepostal.Column(3) Me.Nom_Région = Me.Numero_Codepostal.Column(4) End Sub Private Sub Numero_Codepostal_Enter() Me.Numero_Codepostal.Dropdown End Sub Private Sub Nom_Commune_AfterUpdate() Me.Numero_Codepostal = Me.Nom_Commune.Column(1) Me.Numero_Commune = Me.Numero_Codepostal.Column(2) Me.Nom_Département = Me.Numero_Codepostal.Column(3) Me.Nom_Région = Me.Numero_Codepostal.Column(4) End Sub Private Sub Nom_Commune_Enter() Me.Nom_Commune.Dropdown End Sub
Merci d'avance de vos suggestions. De rien
Brinco.
-- Tonio Meilleurs noeuds et beaux nénés
brinco
Bonjou,
Désolé du silence mais j'avais plein de choses à faire. J'ai bien essyé ta méthode, mais elle ne fonctionne pas. Mes deux zones de menu déroulant se trouvent être complètement vides et lorsque j'essaie d'écrire quelque chose, j'ai le message 'la valeur ne fait pas partie de la liste de données...' et je ne peux pas mettre à jour. Pire, mon formulaire est de toutes façon figé.
J'ai également testé la solution présentée sur le lien Internet que tu indiques dans ton mail. Là, ça marche, j'ai bien ma liste de communes et de codes postaux mais les autres champs sont figés, donc j'en revient au même.
Bonjour, Bonjour,
j'ai un petit pb à vous soumettre. Voila donc mon soucci: j'ai crée un formulaire avec des champs 'adresse', 'code postal' et 'ville' entre autres. Les zones 'adresse' et 'code' postal font partie de la même table et j'ai crée une table à part pour le code postal et la ville correspondante.
Si je définit le code postal comme clé primaire, je n'ai pas de souccis et mon formulaire va correctement récupérer la valeur du champs 'ville' dans la seconde table, via le code postal, par une requête.
En récupérant la liste complète des codes postaux de France, je me suis apperçu que le code postal n'était pas unique et ne pouvait donc pas être utilisé comme clé primaire. J'ai donc crée une nouvelle table des codes postaux avec un numéro de référence comme clé primaire et dans mon formulaire une liste déroulante pour le libellé de la ville (puisqu'un même code postal peut correspondre à plusieures villes). Utilise cette table qui contient en plus le N° INSEE de la ville qui
lui est unique http://officesystem.access.free.fr/ex_codes_postaux.htm bonus département et région
Et là, c'est le drâme : mon formulaire est complètement figé et je ne peux plus modifier aucune valeur sur les champs de mon formulaire, tout est bloqué.
Voyez vous une explication et surtout un moyen de m'en sortir?
Ensuite dans ton formulaire (dans mon exemple il s'appelle "Frm_Client" crée 2 listes déroulantes [Numero_Codepostal] et [Nom_Commune]
données Numero_Codepostal SELECT Tbl_Communes.Numero_Codepostal, Tbl_Communes.Nom_Commune, Tbl_Communes.Numero_Commune, Tbl_Départements.Nom_Departement, Tbl_Regions.Nom_Région FROM Tbl_Regions INNER JOIN (Tbl_Départements INNER JOIN Tbl_Communes ON Tbl_Départements.Numéro_Departement = Tbl_Communes.Numéro_Departement) ON Tbl_Regions.Numéro_Région = Tbl_Départements.Numéro_Région ORDER BY Tbl_Communes.Numero_Codepostal, Tbl_Communes.Nom_Commune;
données Nom_Communes SELECT Tbl_Communes.Nom_Commune, Tbl_Communes.Numero_Codepostal, Tbl_Communes.Numero_Commune, [Formulaires]![Frm_Client]![CodePostal] AS Expr1 FROM Tbl_Communes WHERE (((Tbl_Communes.Numero_Codepostal)=[Formulaires]![Frm_Client]![CodePostal])) OR ((([Formulaires]![Frm_Client]![CodePostal]) Is Null)) ORDER BY Tbl_Communes.Nom_Commune, [Formulaires]![Frm_Client]![CodePostal];
en code tu saisis Private Sub Numero_Codepostal_AfterUpdate() Me.Nom_Commune = Me.Numero_Codepostal.Column(1) Me.Numero_Commune = Me.Numero_Codepostal.Column(2) Me.Nom_Département = Me.Numero_Codepostal.Column(3) Me.Nom_Région = Me.Numero_Codepostal.Column(4) End Sub Private Sub Numero_Codepostal_Enter() Me.Numero_Codepostal.Dropdown End Sub Private Sub Nom_Commune_AfterUpdate() Me.Numero_Codepostal = Me.Nom_Commune.Column(1) Me.Numero_Commune = Me.Numero_Codepostal.Column(2) Me.Nom_Département = Me.Numero_Codepostal.Column(3) Me.Nom_Région = Me.Numero_Codepostal.Column(4) End Sub Private Sub Nom_Commune_Enter() Me.Nom_Commune.Dropdown End Sub
Merci d'avance de vos suggestions. De rien
Brinco.
-- Tonio Meilleurs noeuds et beaux nénés
Bonjou,
Désolé du silence mais j'avais plein de choses à faire. J'ai bien essyé ta
méthode, mais elle ne fonctionne pas. Mes deux zones de menu déroulant se
trouvent être complètement vides et lorsque j'essaie d'écrire quelque chose,
j'ai le message 'la valeur ne fait pas partie de la liste de données...' et
je ne peux pas mettre à jour. Pire, mon formulaire est de toutes façon figé.
J'ai également testé la solution présentée sur le lien Internet que tu
indiques dans ton mail. Là, ça marche, j'ai bien ma liste de communes et de
codes postaux mais les autres champs sont figés, donc j'en revient au même.
Bonjour,
Bonjour,
j'ai un petit pb à vous soumettre. Voila donc mon soucci: j'ai crée un
formulaire avec des champs 'adresse', 'code postal' et 'ville' entre autres.
Les zones 'adresse' et 'code' postal font partie de la même table et j'ai
crée une table à part pour le code postal et la ville correspondante.
Si je définit le code postal comme clé primaire, je n'ai pas de souccis et
mon formulaire va correctement récupérer la valeur du champs 'ville' dans la
seconde table, via le code postal, par une requête.
En récupérant la liste complète des codes postaux de France, je me suis
apperçu que le code postal n'était pas unique et ne pouvait donc pas être
utilisé comme clé primaire. J'ai donc crée une nouvelle table des codes
postaux avec un numéro de référence comme clé primaire et dans mon formulaire
une liste déroulante pour le libellé de la ville (puisqu'un même code postal
peut correspondre à plusieures villes).
Utilise cette table qui contient en plus le N° INSEE de la ville qui
lui est unique
http://officesystem.access.free.fr/ex_codes_postaux.htm
bonus département et région
Et là, c'est le drâme : mon formulaire est complètement figé et je ne peux
plus modifier aucune valeur sur les champs de mon formulaire, tout est
bloqué.
Voyez vous une explication et surtout un moyen de m'en sortir?
Ensuite dans ton formulaire (dans mon exemple il s'appelle "Frm_Client"
crée 2 listes déroulantes
[Numero_Codepostal] et [Nom_Commune]
données Numero_Codepostal
SELECT Tbl_Communes.Numero_Codepostal, Tbl_Communes.Nom_Commune,
Tbl_Communes.Numero_Commune, Tbl_Départements.Nom_Departement,
Tbl_Regions.Nom_Région
FROM Tbl_Regions INNER JOIN (Tbl_Départements INNER JOIN Tbl_Communes
ON Tbl_Départements.Numéro_Departement =
Tbl_Communes.Numéro_Departement) ON Tbl_Regions.Numéro_Région =
Tbl_Départements.Numéro_Région
ORDER BY Tbl_Communes.Numero_Codepostal, Tbl_Communes.Nom_Commune;
données Nom_Communes
SELECT Tbl_Communes.Nom_Commune, Tbl_Communes.Numero_Codepostal,
Tbl_Communes.Numero_Commune, [Formulaires]![Frm_Client]![CodePostal] AS
Expr1
FROM Tbl_Communes
WHERE
(((Tbl_Communes.Numero_Codepostal)=[Formulaires]![Frm_Client]![CodePostal]))
OR ((([Formulaires]![Frm_Client]![CodePostal]) Is Null))
ORDER BY Tbl_Communes.Nom_Commune,
[Formulaires]![Frm_Client]![CodePostal];
en code tu saisis
Private Sub Numero_Codepostal_AfterUpdate()
Me.Nom_Commune = Me.Numero_Codepostal.Column(1)
Me.Numero_Commune = Me.Numero_Codepostal.Column(2)
Me.Nom_Département = Me.Numero_Codepostal.Column(3)
Me.Nom_Région = Me.Numero_Codepostal.Column(4)
End Sub
Private Sub Numero_Codepostal_Enter()
Me.Numero_Codepostal.Dropdown
End Sub
Private Sub Nom_Commune_AfterUpdate()
Me.Numero_Codepostal = Me.Nom_Commune.Column(1)
Me.Numero_Commune = Me.Numero_Codepostal.Column(2)
Me.Nom_Département = Me.Numero_Codepostal.Column(3)
Me.Nom_Région = Me.Numero_Codepostal.Column(4)
End Sub
Private Sub Nom_Commune_Enter()
Me.Nom_Commune.Dropdown
End Sub
Désolé du silence mais j'avais plein de choses à faire. J'ai bien essyé ta méthode, mais elle ne fonctionne pas. Mes deux zones de menu déroulant se trouvent être complètement vides et lorsque j'essaie d'écrire quelque chose, j'ai le message 'la valeur ne fait pas partie de la liste de données...' et je ne peux pas mettre à jour. Pire, mon formulaire est de toutes façon figé.
J'ai également testé la solution présentée sur le lien Internet que tu indiques dans ton mail. Là, ça marche, j'ai bien ma liste de communes et de codes postaux mais les autres champs sont figés, donc j'en revient au même.
Bonjour, Bonjour,
j'ai un petit pb à vous soumettre. Voila donc mon soucci: j'ai crée un formulaire avec des champs 'adresse', 'code postal' et 'ville' entre autres. Les zones 'adresse' et 'code' postal font partie de la même table et j'ai crée une table à part pour le code postal et la ville correspondante.
Si je définit le code postal comme clé primaire, je n'ai pas de souccis et mon formulaire va correctement récupérer la valeur du champs 'ville' dans la seconde table, via le code postal, par une requête.
En récupérant la liste complète des codes postaux de France, je me suis apperçu que le code postal n'était pas unique et ne pouvait donc pas être utilisé comme clé primaire. J'ai donc crée une nouvelle table des codes postaux avec un numéro de référence comme clé primaire et dans mon formulaire une liste déroulante pour le libellé de la ville (puisqu'un même code postal peut correspondre à plusieures villes). Utilise cette table qui contient en plus le N° INSEE de la ville qui
lui est unique http://officesystem.access.free.fr/ex_codes_postaux.htm bonus département et région
Et là, c'est le drâme : mon formulaire est complètement figé et je ne peux plus modifier aucune valeur sur les champs de mon formulaire, tout est bloqué.
Voyez vous une explication et surtout un moyen de m'en sortir?
Ensuite dans ton formulaire (dans mon exemple il s'appelle "Frm_Client" crée 2 listes déroulantes [Numero_Codepostal] et [Nom_Commune]
données Numero_Codepostal SELECT Tbl_Communes.Numero_Codepostal, Tbl_Communes.Nom_Commune, Tbl_Communes.Numero_Commune, Tbl_Départements.Nom_Departement, Tbl_Regions.Nom_Région FROM Tbl_Regions INNER JOIN (Tbl_Départements INNER JOIN Tbl_Communes ON Tbl_Départements.Numéro_Departement = Tbl_Communes.Numéro_Departement) ON Tbl_Regions.Numéro_Région = Tbl_Départements.Numéro_Région ORDER BY Tbl_Communes.Numero_Codepostal, Tbl_Communes.Nom_Commune;
données Nom_Communes SELECT Tbl_Communes.Nom_Commune, Tbl_Communes.Numero_Codepostal, Tbl_Communes.Numero_Commune, [Formulaires]![Frm_Client]![CodePostal] AS Expr1 FROM Tbl_Communes WHERE (((Tbl_Communes.Numero_Codepostal)=[Formulaires]![Frm_Client]![CodePostal])) OR ((([Formulaires]![Frm_Client]![CodePostal]) Is Null)) ORDER BY Tbl_Communes.Nom_Commune, [Formulaires]![Frm_Client]![CodePostal];
en code tu saisis Private Sub Numero_Codepostal_AfterUpdate() Me.Nom_Commune = Me.Numero_Codepostal.Column(1) Me.Numero_Commune = Me.Numero_Codepostal.Column(2) Me.Nom_Département = Me.Numero_Codepostal.Column(3) Me.Nom_Région = Me.Numero_Codepostal.Column(4) End Sub Private Sub Numero_Codepostal_Enter() Me.Numero_Codepostal.Dropdown End Sub Private Sub Nom_Commune_AfterUpdate() Me.Numero_Codepostal = Me.Nom_Commune.Column(1) Me.Numero_Commune = Me.Numero_Codepostal.Column(2) Me.Nom_Département = Me.Numero_Codepostal.Column(3) Me.Nom_Région = Me.Numero_Codepostal.Column(4) End Sub Private Sub Nom_Commune_Enter() Me.Nom_Commune.Dropdown End Sub