Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Code postal et département

18 réponses
Avatar
news
Bonjour à tous

Débutant sur Access 2002



J'ai une table « T Adhérents » et une table « T Département »

La table Adhérents comporte des adresses avec bien sûr un Code postal et je
souhaiterais que, dans le formulaire, la saisie du Code postal déclenche l'affichage
du nom du département.

« T départements » comprend [ID département°], [N° département], [Nom
département]

Dans une requête j'ai créé l'expression : Ent([T Adhérent]![Code
postal]/1000) pour obtenir le N° de département.

Le résultat est bon mais je ne sais comment faire pour le relier au [N°
département] de ma table « T département » afin d'obtenir l'affichage de
[Nom département]. Ce doit être simple mais mes tentatives un peu intuitives
de débutant n'ont rien donné de concret.



Merci de votre aide.

Orex

10 réponses

1 2
Avatar
Fabien
Bonjour à tous

Débutant sur Access 2002



J'ai une table « T Adhérents » et une table « T Département »

La table Adhérents comporte des adresses avec bien sûr un Code postal et je
souhaiterais que, dans le formulaire, la saisie du Code postal déclenche l'affichage
du nom du département.

« T départements » comprend [ID département°], [N° département], [Nom
département]

Dans une requête j'ai créé l'expression : Ent([T Adhérent]![Code
postal]/1000) pour obtenir le N° de département.

Le résultat est bon mais je ne sais comment faire pour le relier au [N°
département] de ma table « T département » afin d'obtenir l'affichage de
[Nom département]. Ce doit être simple mais mes tentatives un peu intuitives
de débutant n'ont rien donné de concret.



Merci de votre aide.

Orex




Salut,

Si ton but est de faire afficher le nom du département en fonction du
code postal alors tu met une zone de texte avec comme source de données
un dlookup("[Nom Département]";"T_Département";"[N°département]=" &
left(Me.[Code Postal];2))
@+

Avatar
news
"Fabien" a écrit dans le message de news:
eeD$
Bonjour à tous
Débutant sur Access 2002 J'ai une table « T Adhérents » et une table « T
Département »

La table Adhérents comporte des adresses avec bien sûr un Code postal et
je souhaiterais que, dans le formulaire, la saisie du Code postal
déclenche l'affichage du nom du département.

« T départements » comprend [ID département°], [N° département], [Nom
département]

Dans une requête j'ai créé l'expression : Ent([T Adhérent]![Code
postal]/1000) pour obtenir le N° de département.

Le résultat est bon mais je ne sais comment faire pour le relier au [N°
département] de ma table « T département » afin d'obtenir l'affichage de
[Nom département]. Ce doit être simple mais mes tentatives un peu
intuitives de débutant n'ont rien donné de concret.

Merci de votre aide.

Orex


Salut,

Si ton but est de faire afficher le nom du département en fonction du code
postal alors tu met une zone de texte avec comme source de données un
dlookup("[Nom Département]";"T_Département";"[N°département]=" &
left(Me.[Code Postal];2))
@+


Merci Fabien pour ton aide mais ça ne marche pas
J'ai donc créé une zone de texte avec DLookup("[Département]";"T2
Département";"[N° Département]=" & Left(Me.[Code postal];2)) dans Source
contrôle des Propriétés du champ mais le résultat affiché est "#Nom?".
Bien que je n'ai pas encore complètement assimilé ce genre de formule, je ne
vois pas comment [Code postal] peut correspondre à [N° Département] si on ne
le divise pas par 1000. A quoi sert le 2?
J'ai tenté de remplacer [Code postal] par [Expr1] qui correspond au calcul
opéré dans la requête pour diviser le CP par 1000 mais c'est kifkif.
A te lire
Orex

@++


Avatar
Raymond [mvp]
Bonjour.

si tu mets l'expression dans le source controle il faut indiquer le signe = dlookup("[Nom Département]";"T_Département";"[N°département]=" &
left(Me.[Code Postal];2))
qui sera converti par access en :
=RechDom("[Nom Département]";"T_Département";"[N°département]=" &
Gauche([Me].[Code Postal];2))

Nom Département indique le nom du champ à ramener de la table T_Département
lorsque N°département est égal aux deux premiers chiffres du code postal.

left veut dire prendre la partie gauche et 2 indique le nombre de caractère
à prendre, soit le département dans un code postal.
--
@+
Raymond Access MVP http://OfficeSystemAccess.seneque.net/
http://officesystem.access.over-blog.com/
http://access2007.over-blog.com/
Pour débuter sur le forum: http://www.mpfa.info/


"news" a écrit dans le message de news:
47f635f5$0$833$
|
| "Fabien" a écrit dans le message de news:
| eeD$
| >> Bonjour à tous
| >> Débutant sur Access 2002 J'ai une table « T Adhérents » et une table
« T
| >> Département »
| >>
| >> La table Adhérents comporte des adresses avec bien sûr un Code postal
et
| >> je souhaiterais que, dans le formulaire, la saisie du Code postal
| >> déclenche l'affichage du nom du département.
| >>
| >> « T départements » comprend [ID département°], [N° département], [Nom
| >> département]
| >>
| >> Dans une requête j'ai créé l'expression : Ent([T Adhérent]![Code
| >> postal]/1000) pour obtenir le N° de département.
| >>
| >> Le résultat est bon mais je ne sais comment faire pour le relier au
[N°
| >> département] de ma table « T département » afin d'obtenir l'affichage
de
| >> [Nom département]. Ce doit être simple mais mes tentatives un peu
| >> intuitives de débutant n'ont rien donné de concret.
| >>
| >> Merci de votre aide.
| >>
| >> Orex
| >>
| >>
| > Salut,
| > Si ton but est de faire afficher le nom du département en fonction du
code
| > postal alors tu met une zone de texte avec comme source de données un
| > dlookup("[Nom Département]";"T_Département";"[N°département]=" &
| > left(Me.[Code Postal];2))
| > @+
|
| Merci Fabien pour ton aide mais ça ne marche pas
| J'ai donc créé une zone de texte avec DLookup("[Département]";"T2
| Département";"[N° Département]=" & Left(Me.[Code postal];2)) dans Source
| contrôle des Propriétés du champ mais le résultat affiché est "#Nom?".
| Bien que je n'ai pas encore complètement assimilé ce genre de formule, je
ne
| vois pas comment [Code postal] peut correspondre à [N° Département] si on
ne
| le divise pas par 1000. A quoi sert le 2?
| J'ai tenté de remplacer [Code postal] par [Expr1] qui correspond au calcul
| opéré dans la requête pour diviser le CP par 1000 mais c'est kifkif.
| A te lire
| Orex
|
| @++
|
|
|
|
Avatar
Orex
Merci pour "l'explication de texte", par contre ça ne marche toujours pas.
Peut être faut il mettre cette formule ailleurs que dans la Source Contrôle
de la zone de texte?

J'ai d'ailleurs pensé que si la formule fonctionnait elle ne me permettrait
l'affichage que du nom du département et que je ne pourrais pas afficher en
même temps le nom de la région qui est dans une table liée.
C'est la raison pour laquelle j'avais pensé à l'origine diviser le code
postal par 1000 afin d'obtenir un nombre que je pourrais ensuite faire
correspondre à un N° de département figurant dans la table, mais je ne sais
comment faire ce lien entre l'expression calculée dans la requête et le N°
de la table..
La solution retenue pour l'instant consiste à choisir le N° de département
dans une liste déroulante pour pouvoir afficher Département et Région ce qui
veut dire qu'il faut deux saisies : une pour le code postal et une autre
pour le N° de département : c'est nul ! ;-)

Orex


"Raymond [mvp]" a écrit dans le message de news:

Bonjour.

si tu mets l'expression dans le source controle il faut indiquer le signe
= dlookup("[Nom Département]";"T_Département";"[N°département]=" &
left(Me.[Code Postal];2))

qui sera converti par access en :
=RechDom("[Nom Département]";"T_Département";"[N°département]=" &
Gauche([Me].[Code Postal];2))

Nom Département indique le nom du champ à ramener de la table
T_Département
lorsque N°département est égal aux deux premiers chiffres du code postal.

left veut dire prendre la partie gauche et 2 indique le nombre de
caractère
à prendre, soit le département dans un code postal.
--
@+
Raymond Access MVP http://OfficeSystemAccess.seneque.net/
http://officesystem.access.over-blog.com/
http://access2007.over-blog.com/
Pour débuter sur le forum: http://www.mpfa.info/


"news" a écrit dans le message de news:
47f635f5$0$833$
|
| "Fabien" a écrit dans le message de news:
| eeD$
| >> Bonjour à tous
| >> Débutant sur Access 2002 J'ai une table « T Adhérents » et une table
« T
| >> Département »
| >>
| >> La table Adhérents comporte des adresses avec bien sûr un Code postal
et
| >> je souhaiterais que, dans le formulaire, la saisie du Code postal
| >> déclenche l'affichage du nom du département.
| >>
| >> « T départements » comprend [ID département°], [N° département], [Nom
| >> département]
| >>
| >> Dans une requête j'ai créé l'expression : Ent([T Adhérent]![Code
| >> postal]/1000) pour obtenir le N° de département.
| >>
| >> Le résultat est bon mais je ne sais comment faire pour le relier au
[N°
| >> département] de ma table « T département » afin d'obtenir l'affichage
de
| >> [Nom département]. Ce doit être simple mais mes tentatives un peu
| >> intuitives de débutant n'ont rien donné de concret.
| >>
| >> Merci de votre aide.
| >>
| >> Orex
| >>
| >>
| > Salut,
| > Si ton but est de faire afficher le nom du département en fonction du
code
| > postal alors tu met une zone de texte avec comme source de données un
| > dlookup("[Nom Département]";"T_Département";"[N°département]=" &
| > left(Me.[Code Postal];2))
| > @+
|
| Merci Fabien pour ton aide mais ça ne marche pas
| J'ai donc créé une zone de texte avec DLookup("[Département]";"T2
| Département";"[N° Département]=" & Left(Me.[Code postal];2)) dans Source
| contrôle des Propriétés du champ mais le résultat affiché est "#Nom?".
| Bien que je n'ai pas encore complètement assimilé ce genre de formule,
je
ne
| vois pas comment [Code postal] peut correspondre à [N° Département] si
on
ne
| le divise pas par 1000. A quoi sert le 2?
| J'ai tenté de remplacer [Code postal] par [Expr1] qui correspond au
calcul
| opéré dans la requête pour diviser le CP par 1000 mais c'est kifkif.
| A te lire
| Orex
|
| @++
|
|
|
|





Avatar
Raymond [mvp]
bonjour.

il faut tout mettre dans ta requête source, table départements et régions et
les mettre en relation avec les autres tables de ta requête à l'aide du code
département et du code région.

--
@+
Raymond Access MVP http://OfficeSystemAccess.seneque.net/
http://officesystem.access.over-blog.com/
http://access2007.over-blog.com/
Pour débuter sur le forum: http://www.mpfa.info/


"Orex" a écrit dans le message de news:
47f6c4d7$0$895$
| Merci pour "l'explication de texte", par contre ça ne marche toujours pas.
| Peut être faut il mettre cette formule ailleurs que dans la Source
Contrôle
| de la zone de texte?
|
| J'ai d'ailleurs pensé que si la formule fonctionnait elle ne me
permettrait
| l'affichage que du nom du département et que je ne pourrais pas afficher
en
| même temps le nom de la région qui est dans une table liée.
| C'est la raison pour laquelle j'avais pensé à l'origine diviser le code
| postal par 1000 afin d'obtenir un nombre que je pourrais ensuite faire
| correspondre à un N° de département figurant dans la table, mais je ne
sais
| comment faire ce lien entre l'expression calculée dans la requête et le N°
| de la table..
| La solution retenue pour l'instant consiste à choisir le N° de département
| dans une liste déroulante pour pouvoir afficher Département et Région ce
qui
| veut dire qu'il faut deux saisies : une pour le code postal et une autre
| pour le N° de département : c'est nul ! ;-)
|
| Orex
Avatar
Orex
Bonjour

La table "T_Adhérent" (celle qui contient le code postal) "T_Département" et
"T_Région" sont déjà en relation mais comment faire pour éviter la double
saisie?
Exemple : [Code postal ] = 26240
L'expression Ent([Code postal]/1000) donne 26
Comment faire ou comment construire la requête pour que ce "26" obtenu par
le calcul soit relié au 26 de [N° Département] de "T_Département" ?
Si j'arrive à établir cette correspondance, le lien avec "T_Région"
permettra son affichage sans problème

Orex

------

"Raymond [mvp]" a écrit dans le message de news:

bonjour.

il faut tout mettre dans ta requête source, table départements et régions
et
les mettre en relation avec les autres tables de ta requête à l'aide du
code
département et du code région.

--
@+
Raymond Access MVP http://OfficeSystemAccess.seneque.net/
http://officesystem.access.over-blog.com/
http://access2007.over-blog.com/
Pour débuter sur le forum: http://www.mpfa.info/


"Orex" a écrit dans le message de news:
47f6c4d7$0$895$
| Merci pour "l'explication de texte", par contre ça ne marche toujours
pas.
| Peut être faut il mettre cette formule ailleurs que dans la Source
Contrôle de la zone de texte?
|
| J'ai d'ailleurs pensé que si la formule fonctionnait elle ne me
permettrait
| l'affichage que du nom du département et que je ne pourrais pas afficher
en
| même temps le nom de la région qui est dans une table liée.
| C'est la raison pour laquelle j'avais pensé à l'origine diviser le code
| postal par 1000 afin d'obtenir un nombre que je pourrais ensuite faire
| correspondre à un N° de département figurant dans la table, mais je ne
sais
| comment faire ce lien entre l'expression calculée dans la requête et le

| de la table..
| La solution retenue pour l'instant consiste à choisir le N° de
département
| dans une liste déroulante pour pouvoir afficher Département et Région ce
qui
| veut dire qu'il faut deux saisies : une pour le code postal et une autre
| pour le N° de département : c'est nul ! ;-)
|
| Orex


Avatar
Raymond [mvp]
il y a deux solutions:

1- tu procèdes avec 2 requêtes : dans la 1ere tu places toutes tes données
sauf département et régions, avec un champ calculé pour ton département.
Dans la 2e réquête, tu prend la 1ere requête comme source et tu rajoutes
les deux tables département et région et tu places une relation entre le
champ calculé de la 1ere et la table département, ensuite une relation entre
le code région et la région.

2 - la solution 1 n'est pas fiable à 100%, car les deux premiers chiffres du
code postal ne sont pas toujours le code département. en effet, dans
certains départements tels l'Ardèche et la Drôme qui sont des départements
très imbriqués, il y a des communes de l'ardèche avec un code postal dans la
drôme et vice-versa. par ailleurs tu ne pourras jamais gérer l'outre-mer.
pour ces raisons il faut toujours avoir un champ nommé département dans la
table T_Adhérent qui soit indépendant du code postal.

--
@+
Raymond Access MVP http://OfficeSystemAccess.seneque.net/
http://officesystem.access.over-blog.com/
http://access2007.over-blog.com/
Pour débuter sur le forum: http://www.mpfa.info/


"Orex" a écrit dans le message de news:
47f7506c$0$866$
| Bonjour
|
| La table "T_Adhérent" (celle qui contient le code postal) "T_Département"
et
| "T_Région" sont déjà en relation mais comment faire pour éviter la double
| saisie?
| Exemple : [Code postal ] = 26240
| L'expression Ent([Code postal]/1000) donne 26
| Comment faire ou comment construire la requête pour que ce "26" obtenu
par
| le calcul soit relié au 26 de [N° Département] de "T_Département" ?
| Si j'arrive à établir cette correspondance, le lien avec "T_Région"
| permettra son affichage sans problème
|
| Orex
|
Avatar
Orex
Merci Raymond, j'avais trouvé la solution entre le moment où j'ai posé ma
question et ta réponse. Je pense que la formulation de la question m'a
permis de recentrer mon raisonnement.

Ça marche bien, mais il reste un petit problème, car lorsque je crée un
formulaire sur la 2ème requête celui ci ne me permet pas de corriger la
saisie des différents champs et je n'ai pas, dans la barre de défilement en
bas, le symbole permettant de créer un nouvel enregistrement. L'ajout d'un
bouton ne le permet pas davantage
Y a-t-il un moyen de corriger ça, en dehors de la formule qui consisterait à
créer le formulaire sur la 1ère requête et ajouter un sous formulaire, ce
qui me semble un peu lourd pour afficher 2 champs seulement?
C'est le dernier point à régler avant de clore ce chapitre de ma mbd et
merci encore pour ta patience

Orex



"Raymond [mvp]" a écrit dans le message de news:

il y a deux solutions:

1- tu procèdes avec 2 requêtes : dans la 1ere tu places toutes tes données
sauf département et régions, avec un champ calculé pour ton département.
Dans la 2e réquête, tu prend la 1ere requête comme source et tu
rajoutes
les deux tables département et région et tu places une relation entre le
champ calculé de la 1ere et la table département, ensuite une relation
entre
le code région et la région.

2 - la solution 1 n'est pas fiable à 100%, car les deux premiers chiffres
du
code postal ne sont pas toujours le code département. en effet, dans
certains départements tels l'Ardèche et la Drôme qui sont des départements
très imbriqués, il y a des communes de l'ardèche avec un code postal dans
la
drôme et vice-versa. par ailleurs tu ne pourras jamais gérer l'outre-mer.
pour ces raisons il faut toujours avoir un champ nommé département dans la
table T_Adhérent qui soit indépendant du code postal.

--
@+
Raymond Access MVP http://OfficeSystemAccess.seneque.net/
http://officesystem.access.over-blog.com/
http://access2007.over-blog.com/
Pour débuter sur le forum: http://www.mpfa.info/


"Orex" a écrit dans le message de news:
47f7506c$0$866$
| Bonjour
|
| La table "T_Adhérent" (celle qui contient le code postal)
"T_Département"
et
| "T_Région" sont déjà en relation mais comment faire pour éviter la
double
| saisie?
| Exemple : [Code postal ] = 26240
| L'expression Ent([Code postal]/1000) donne 26
| Comment faire ou comment construire la requête pour que ce "26" obtenu
par
| le calcul soit relié au 26 de [N° Département] de "T_Département" ?
| Si j'arrive à établir cette correspondance, le lien avec "T_Région"
| permettra son affichage sans problème
|
| Orex
|




Avatar
Raymond [mvp]
si tu tiens compte de ma 2e observation, c'est-à-dire qu'il faut un champ
département sur 3 chiffres pour gérer tous les départements français, le
problème disparait.

--
@+
Raymond Access MVP http://OfficeSystemAccess.seneque.net/
http://officesystem.access.over-blog.com/
http://access2007.over-blog.com/
Pour débuter sur le forum: http://www.mpfa.info/


"Orex" a écrit dans le message de news:
47f7840f$0$905$
| Merci Raymond, j'avais trouvé la solution entre le moment où j'ai posé ma
| question et ta réponse. Je pense que la formulation de la question m'a
| permis de recentrer mon raisonnement.
|
| Ça marche bien, mais il reste un petit problème, car lorsque je crée un
| formulaire sur la 2ème requête celui ci ne me permet pas de corriger la
| saisie des différents champs et je n'ai pas, dans la barre de défilement
en
| bas, le symbole permettant de créer un nouvel enregistrement. L'ajout d'un
| bouton ne le permet pas davantage
| Y a-t-il un moyen de corriger ça, en dehors de la formule qui consisterait
à
| créer le formulaire sur la 1ère requête et ajouter un sous formulaire, ce
| qui me semble un peu lourd pour afficher 2 champs seulement?
| C'est le dernier point à régler avant de clore ce chapitre de ma mbd et
| merci encore pour ta patience
|
| Orex
|
Avatar
Orex
Un champ N° ou un champ Nom?
Le fait qu'il n'y ait pas possibilité de modifier la saisie des champs dans
le formulaire tient au fait que l'on est sur une 2ème requête et qu'on n'est
plus en lien direct avec les tables.
En quoi l'ajout d'un champ Département dans la table Adhérent modifierait il
la possibilité d'activer le symbole de création d'un nouvel enregistrement
dans la barre de défilement?

C'est quand même dommage d'avoir une 2ème requête parfaitement remplie et de
ne pouvoir en faire un formulaire actif et modifiable.
Je conçois que ce doit être dur pour un expert d'avoir à se farcir des
questions aussi naïves de la part d'un débutant

Merci encore
Orex





"Raymond [mvp]" a écrit dans le message de news:
eUZ1A%
si tu tiens compte de ma 2e observation, c'est-à-dire qu'il faut un champ
département sur 3 chiffres pour gérer tous les départements français, le
problème disparait.

--
@+
Raymond Access MVP http://OfficeSystemAccess.seneque.net/
http://officesystem.access.over-blog.com/
http://access2007.over-blog.com/
Pour débuter sur le forum: http://www.mpfa.info/


"Orex" a écrit dans le message de news:
47f7840f$0$905$
| Merci Raymond, j'avais trouvé la solution entre le moment où j'ai posé
ma
| question et ta réponse. Je pense que la formulation de la question m'a
| permis de recentrer mon raisonnement.
|
| Ça marche bien, mais il reste un petit problème, car lorsque je crée un
| formulaire sur la 2ème requête celui ci ne me permet pas de corriger la
| saisie des différents champs et je n'ai pas, dans la barre de défilement
en
| bas, le symbole permettant de créer un nouvel enregistrement. L'ajout
d'un
| bouton ne le permet pas davantage
| Y a-t-il un moyen de corriger ça, en dehors de la formule qui
consisterait
à
| créer le formulaire sur la 1ère requête et ajouter un sous formulaire,
ce
| qui me semble un peu lourd pour afficher 2 champs seulement?
| C'est le dernier point à régler avant de clore ce chapitre de ma mbd et
| merci encore pour ta patience
|
| Orex
|




1 2