OVH Cloud OVH Cloud

Pb de relation

3 réponses
Avatar
sab
Bonjour à tous

En important des données sur excel dans access, j'ai quelques soucis avec
mes relations.

En effet, J'ai deux tables :
table ENT avec comme champs : "siren","code NAF"....
table NAF : "Code NAF", "intitulé"

Mon pb est le suivant, quand je relie les deux tables dans une requête,
seuls les champs "Code NAF" de la table ENT apparaissent.

Comment faire pour faire apparaitre l'ensemble de mes données sachant qu'il
existe dans la table NAF un champs vide (signifié par "") indiquant "Non
renseigné".

Merci pour votre aide.

Remarque : j'ai access 2002 et cette base servira à remplacer des données
codées par des données compréhensibles. D'ou impossiblilite à modifier ma
table ENT.

3 réponses

Avatar
Gilles
Bonjour à tous
...
Mon pb est le suivant, quand je relie les deux tables dans une requête,
seuls les champs "Code NAF" de la table ENT apparaissent.
...


Bonjour, Sab
Est-il possible de voir ta requête en SQL ? (Menu Affichage / Mode SQL)

Avatar
sab
Requête en faisant une jointure :
SELECT [tbl ENT].Clé, [tbl NAF].[NAF 36], [tbl NAF].[NAF 17]
FROM [tbl NAF] RIGHT JOIN [tbl ENT] ON [tbl NAF].[Code NAF] = [tbl
ENT].[Code NAF];

J'obtient toutes les lignes de ma table ENT mais le champs "code NAF" vide
est toujours vide (il n'est pas remplacer par "Non renseigné").


Requête sans jointure :
SELECT [tbl ENT].Clé, [tbl NAF].[NAF 36], [tbl NAF].[NAF 17]
FROM [tbl NAF] INNER JOIN [tbl ENT] ON [tbl NAF].[Code NAF] = [tbl
ENT].[Code NAF];
Ave cette requête je n'obtient que les chapms renseigné par ceux qui sont
vides.

A quoi est du mon erreure de non reconnaissance du champs vide dans la table
"ENT" ?

Merci pour votre aide
Avatar
Gilles
Requête en faisant une jointure :
SELECT [tbl ENT].Clé, [tbl NAF].[NAF 36], [tbl NAF].[NAF 17]
FROM [tbl NAF] RIGHT JOIN [tbl ENT] ON [tbl NAF].[Code NAF] = [tbl
ENT].[Code NAF];

J'obtient toutes les lignes de ma table ENT mais le champs "code NAF" vide
est toujours vide (il n'est pas remplacer par "Non renseigné").


Requête sans jointure :
SELECT [tbl ENT].Clé, [tbl NAF].[NAF 36], [tbl NAF].[NAF 17]
FROM [tbl NAF] INNER JOIN [tbl ENT] ON [tbl NAF].[Code NAF] = [tbl
ENT].[Code NAF];
Ave cette requête je n'obtient que les chapms renseigné par ceux qui sont
vides.

A quoi est du mon erreure de non reconnaissance du champs vide dans la
table

"ENT" ?

Merci pour votre aide



Re-bonjour,
Le problème vient probablement du fait que le champ Code NAF de ENT ne
contient pas une chaîne vide ("") mais une valeur nulle.
Je te conseille d'utiliser un espace pour le code NAF "Non renseigné" et de
mettre à jour ta table ENT avec la requête :
UPDATE [tbl ENT] SET [tbl ENT].[Code NAF] = " " WHERE (([tbl ENT].[Code
NAF]) Is Null)
Par ailleurs, dans les propriétés de la table, il faudrait saisir un espace
comme valeur par défaut pour le champ Code NAF.

OK?