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

Comment contrôler les valeurs d'un champ d'un table ?

16 réponses
Avatar
Bear76
Bonjour tout le monde,


J'ai deux tables non reliées, tbl_adherent, tbl_codespostaux.
Les données (enregistrements) de la tbl_adherent proviennent d'une
importation.
Dans la tbl_adherent, il y a entre autre les champs code postal et
ville.
J'ai remarqué que certaines valeurs du champ code postal de la
tbl_adherent étaient erronées. Soit il n'y a pas de code postal saisi,
soit le code postal saisi est inexistant, mais la ville est
correctement saisie.
Existe-t-il une procédure en vba qui permettrait de contrôler les
valeurs code postal de la tbl_adherent en fonction des valeurs code
postal de ma tbl_codespostaux et de modifier automatiquement les codes
postaux de ma tbl_adherent ?
Merci d'avance.

6 réponses

1 2
Avatar
3stone
re,

db wrote:
<Mode discussion-théorique-juste-pour-causer on>

Si on tolère les doublons dans les localités, alors on ne vas pas
s'embêter à mettre un code sémantiquement sans intérêt dans l'adresse
: autant mettre directement le code postal dans la table :-)



non, car dans ce cas tu as des doublons dans la clé primaire...


En fait, jusqu'où doit-on respecter les évangiles de la conception de
bases de données, et jusqu'où peut-on "dénormaliser" la structure
physique des données ?




pour quelques localités ayant le même code postal, on "peut"...


Voilà bien une question à laquelle chacun
répond selon le contexte



oui, selon que la base est destinée à une région, un pays...
ou doit pouvoir traiter une adresse de n'importe quelle
partie du globe ;-)

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)
Avatar
db
3stone a écrit :
re,

db wrote:
<Mode discussion-théorique-juste-pour-causer on>

Si on tolère les doublons dans les localités, alors on ne vas pas
s'embêter à mettre un code sémantiquement sans intérêt dans l'adresse
: autant mettre directement le code postal dans la table :-)



non, car dans ce cas tu as des doublons dans la clé primaire...




Je parlais de la table Adhérents
Avatar
Bear76
Michel__D a formulé ce jeudi :
Bonjour,

Bear76 a écrit :
db a présenté l'énoncé suivant :

Bonjour,

Le problème, c'est qu'une même ville peut avoir plusieurs codes postaux,
et que le même code postal peut s'appliquer à plusieurs communes. On ne
peut pas toujours déduire la commune à partir du code postal. On ne peut
pas toujours déduire le code postal à partir de la commune (et il y a de
nombreux noms de commune identiques dans plusieurs départements)
La table T_Localite ne peut donc pas contenir le code postal : il faut une
table de relation Code Postal < -- > Code commune. Et je ne parle pas des
Cedex...

db



Bonsoir,
Comme indiqué dans ma réponse précédente (Pierre 3Stone), j'utilise une
table avec 3 champs cp_id, ville, bureau distributeur. Et ceci me convient.
@+



Tel que présenté, le problème n'est pas dans la description de cette table
mais dans la relation que cette table
peut avoir avec d'autre table et dans ce cas il y a un manque évident de clé
primaire qui servirait de liaison avec
les autres tables.



Bonsoir Michel,
J'ai affecté la clé primaire aux champs cp_id et ville, et cette table
tbl_codespostaux est en relation (avec intégrité référentielle) avec la
tbl_adherent.
Je travaille qu'avec des tables temporaires, pour corriger les erreurs
à l'aide de requêtes temporaires pour calcul des doublons, ajout, MàJ.
une fois que tout est "ok" j'ajoute dans la table finale tbl_adherent.
Amicalement.
Avatar
Michel__D
Re,

Bear76 a écrit :
Michel__D a formulé ce jeudi :
Bonjour,

Bear76 a écrit :
db a présenté l'énoncé suivant :

Bonjour,

Le problème, c'est qu'une même ville peut avoir plusieurs codes
postaux, et que le même code postal peut s'appliquer à plusieurs
communes. On ne peut pas toujours déduire la commune à partir du
code postal. On ne peut pas toujours déduire le code postal à
partir de la commune (et il y a de nombreux noms de commune
identiques dans plusieurs départements)
La table T_Localite ne peut donc pas contenir le code postal : il
faut une table de relation Code Postal < -- > Code commune. Et je
ne parle pas des Cedex...

db



Bonsoir,
Comme indiqué dans ma réponse précédente (Pierre 3Stone), j'utilise
une table avec 3 champs cp_id, ville, bureau distributeur. Et ceci
me convient.
@+



Tel que présenté, le problème n'est pas dans la description de cette
table mais dans la relation que cette table
peut avoir avec d'autre table et dans ce cas il y a un manque
évident de clé primaire qui servirait de liaison avec
les autres tables.



Bonsoir Michel,
J'ai affecté la clé primaire aux champs cp_id et ville, et cette table
tbl_codespostaux est en relation (avec intégrité référentielle) avec
la tbl_adherent.
Je travaille qu'avec des tables temporaires, pour corriger les erreurs
à l'aide de requêtes temporaires pour calcul des doublons, ajout, MàJ.
une fois que tout est "ok" j'ajoute dans la table finale tbl_adherent.
Amicalement.



Et tu vas faire ce mic-mac longtemps; enfin si tu préfére te prendre la
tête avec toutes ces manipulations c'est toi qui vois.
Avatar
Bear76
Michel__D avait soumis l'idée :
Re,

Bonsoir Michel,
J'ai affecté la clé primaire aux champs cp_id et ville, et cette table
tbl_codespostaux est en relation (avec intégrité référentielle) avec la
tbl_adherent.
Je travaille qu'avec des tables temporaires, pour corriger les erreurs à
l'aide de requêtes temporaires pour calcul des doublons, ajout, MàJ. une
fois que tout est "ok" j'ajoute dans la table finale tbl_adherent.
Amicalement.



Et tu vas faire ce mic-mac longtemps; enfin si tu préfére te prendre la tête
avec toutes ces manipulations c'est toi qui vois.



Bonjour Michel,
C'est le seul mic-mac que j'ai trouvé qui me satisfasse.
Si vous avez une solution à me proposer, je ne refuserai nullement
votre aide.
Je fais avec le peu de connaissances que j'ai (autodidacte pur et dur).
Amicalement.
Avatar
Bear76
Michel__D vient de nous annoncer :
Re,

Bear76 a écrit :
Michel__D a formulé ce jeudi :
Bonjour,







Et tu vas faire ce mic-mac longtemps; enfin si tu préfére te prendre la tête
avec toutes ces manipulations c'est toi qui vois.



Bonjour,
J'ai résolu le problème avec seulement 2 requêtes Update.
Merci malgré tout pour votre aide.
1 2