OVH Cloud OVH Cloud

Parcourir

30 réponses
Avatar
Raph
Bonjour =E0 tous,

j'ai une table avec un seul champ et plusieurs=20
enregistrements (mettons table1), et une autre table=20
(table2) avec plusieurs champs et pusieurs enregistrements.

Je voudrais savoir s'il est possible de v=E9rifier si les=20
contenus pr=E9sents dans le champ de la table 1 existent=20
dans n'importe quel champ de la table 2.

En gros, tester si toutes les valeurs dans la table 1 sont=20
des valeurs qui existent quelquepart dans la table2...

Merci d'avance pour vos r=E9ponses

Raph

10 réponses

1 2 3
Avatar
Pierre CFI [mvp]
bonjour
pas simple mais c'est faisable, mais avant, je voudrais bien savoir l'utilité de la démarche, a quoi çà peut servir dans une base de
données correcte c'est a dire ou on sait ou l'on range ses affaires :o))

--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"Raph" a écrit dans le message de news:26bb301c4636c$f3cef160$
Bonjour à tous,

j'ai une table avec un seul champ et plusieurs
enregistrements (mettons table1), et une autre table
(table2) avec plusieurs champs et pusieurs enregistrements.

Je voudrais savoir s'il est possible de vérifier si les
contenus présents dans le champ de la table 1 existent
dans n'importe quel champ de la table 2.

En gros, tester si toutes les valeurs dans la table 1 sont
des valeurs qui existent quelquepart dans la table2...

Merci d'avance pour vos réponses

Raph
Avatar
Eric
"Pierre CFI [mvp]" écrivait
news::

bonjour
pas simple mais c'est faisable, mais avant, je voudrais bien savoir
l'utilité de la démarche, a quoi çà peut servir dans une base de
données correcte c'est a dire ou on sait ou l'on range ses affaires
:o))



Bonjour Pierre,

Hormis l'utilité et compte tenu de mon désordre, c'est sympa à faire quand
même ;-)

A+
Eric

Avatar
Raph
Bonjour Pierre et Eric,

le but de ma question est le suivant :

j'ai une base référente dans laquelle sont placés des
codes d'articles, de clients et de fournisseurs
spécifiques.

Ensuite je récupère TRES régulèrement des fichiers par
importation qui vont contenir un champ dont les
enregistrements DOIVENT être des valeurs existantes
quelquepart dans ma table référente.
Si jamais dans ma table2 apparaît une valeur qui n'existe
pas dans ma table référente, j'aimerais avoir une MsgBox
ou une alerte quelconque pour me le dire...

Houlà, je me demande si c'est pas encore plus flou qu'avec
mon 1er message !! ;o))

Merci de l'intérêt porté,

Raph
Avatar
Raymond [mvp]
Bonjour.

Il faut utiliser une requête de non correspondance (voir assistant qui fait
ça très bien) qui t'affichera tous les enregistrements de la table2 qui
n'ont pas la valeur existante dans tel champ avec la table référente.
Avant de faire ton import par vba, tu vérifies que la requête contient ou
non des valeurs de non correspondance:
If DCount("*", "requêtenoncorrespondance") <> 0 Then
MsgBox "il y ades manquants"
Exit Sub
End If
DoCmd.TransferText acImportDelim ......
.......

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Raph" a écrit dans le message de
news:2740a01c463e9$7eca8d70$

Bonjour Pierre et Eric,

le but de ma question est le suivant :

j'ai une base référente dans laquelle sont placés des
codes d'articles, de clients et de fournisseurs
spécifiques.

Ensuite je récupère TRES régulèrement des fichiers par
importation qui vont contenir un champ dont les
enregistrements DOIVENT être des valeurs existantes
quelquepart dans ma table référente.
Si jamais dans ma table2 apparaît une valeur qui n'existe
pas dans ma table référente, j'aimerais avoir une MsgBox
ou une alerte quelconque pour me le dire...

Houlà, je me demande si c'est pas encore plus flou qu'avec
mon 1er message !! ;o))

Merci de l'intérêt porté,

Raph
Avatar
Eric
Bonjour Raymond,

Raph précise que la valeur peut se trouver dans n'importe quel champ de la
2eme table. Donc j'ai bien peur qu'avec une requête de non correspondance,
il n'obtienne pas son résultat. Je pensais lui proposer un bout de code
utilisant GetRows pour fouiller les champs. Est-ce une bonne idée ?

A+
Eric



"Raymond [mvp]" écrivait
news:eWwZOu#:

Bonjour.

Il faut utiliser une requête de non correspondance (voir assistant qui
fait ça très bien) qui t'affichera tous les enregistrements de la
table2 qui n'ont pas la valeur existante dans tel champ avec la table
référente. Avant de faire ton import par vba, tu vérifies que la
requête contient ou non des valeurs de non correspondance:
If DCount("*", "requêtenoncorrespondance") <> 0 Then
MsgBox "il y ades manquants"
Exit Sub
End If
DoCmd.TransferText acImportDelim ......
.......



Avatar
Raph
Bonjour Raymond,

merci pour ta réponse...

Effectivement, la requête de non-correspondance marche
très bien. Le coup, c'est que je reçois beaucoup de
fichiers pour lesquels il faut que je fasse cette vérif.
Donc j'aurais voulu automatiser un peu tout ça...

Raph
Avatar
Raymond [mvp]
Combien de fichiers par séquence?
quels noms ? possibilité de trouver une partie commune dans le nom ?
combien de champs à vérifier ? noms identiques ?

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Raph" a écrit dans le message de
news:27e0d01c463ee$9ac14460$

Bonjour Raymond,

merci pour ta réponse...

Effectivement, la requête de non-correspondance marche
très bien. Le coup, c'est que je reçois beaucoup de
fichiers pour lesquels il faut que je fasse cette vérif.
Donc j'aurais voulu automatiser un peu tout ça...

Raph
Avatar
Raymond [mvp]
Bonjour Eric.

Tu peux en mettre plusieurs dans la requête. il y a 9 lignes de critères et
tu peux en mettre plusieurs par ligne.

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Eric" a écrit dans le message de
news:
Bonjour Raymond,

Raph précise que la valeur peut se trouver dans n'importe quel champ de la
2eme table. Donc j'ai bien peur qu'avec une requête de non correspondance,
il n'obtienne pas son résultat. Je pensais lui proposer un bout de code
utilisant GetRows pour fouiller les champs. Est-ce une bonne idée ?

A+
Eric


Avatar
Eric
"Raymond [mvp]" écrivait
news:OVRuc$#:

Bonjour Eric.

Tu peux en mettre plusieurs dans la requête. il y a 9 lignes de
critères et tu peux en mettre plusieurs par ligne.



Raymond,
tu pourrais me faire passer le sql sur un exemple table1(1 champs) table2(3
champs) car je vois pas comment faire, si tu as 2 minutes ?

Merci
Eric

Avatar
Raph
Salut Raymond,

j'ai ma table de référence (T_Ref_Produits) qui est la
suivante :

15 champs : un champ "Nature" qui contient
nature1,nature2,etc..., un champ "Famille" qui contient
famille1,etc..., puis 13 autres champs.
Donc un produit peut être de nature1, mais de famille2,
etc...

Puis je reçois des tables dans lesquelles j'ai plusieurs
champs, mais je ne veux faire une détection que sur un
seul. Ce champ s'appelle "categorie".

Ce que je veux, c'est tester, quand je reçois ces tables,
si les contenus présents dans le champ "categorie" sont
des contenus qui existent quelquepart (dans n'importe quel
champ) dans ma table "T_Ref_Produits"...

Je sais que c'est un peu "space", mais ça m'aiderait
bien...

Merci beaucoup

Raph
1 2 3