OVH Cloud OVH Cloud

Rechercher une valeur saisie dans une base

1 réponse
Avatar
jpg
Bonjour,

J'aimerais en une seule ex=E9cution (VB ?)lancer une=20
recherche dans une base (toutes les tables, tous les=20
champs et tous les enregistrements) une valeur stock=E9e et=20
que le r=E9sultat de cette recherche me donne au moins le=20
nom de la table (ou des tables) o=F9 cette donn=E9e a =E9t=E9=20
saisie.

Est-ce que quelqu'un sait comment faire ?

Merci beaucoup pour votre aide.


Exemple : me donner toutes les tables o=F9 la valeur "Jean"=20
appara=EEt.

1 réponse

Avatar
Raymond [mvp]
Bonjour.

il n'est pas facile de donner toute la boucle, je t'en donne la majeure
partie:

Dim Db As DAO.Database
Dim Rs As DAO.Recordset
Dim Tdf As TableDef
Dim fld As Field

Set Db = CurrentDb
For Each Tdf In Db.TableDefs
If Left(Tdf.Name, 4) <> "MSys" Then
Set Rs = Db.OpenRecordset(Tdf.Name)
If Not Rs.BOF Then
Do Until Rs.EOF
For Each fld In Rs.Fields
'''' ici tester le type de champ
If fld.Value = "Jean" Then
' ici on a trouvé
End If
Next
Rs.MoveNext
Loop
End If
Set Rs = Nothing
End If
Next
set nothing des objets ici


--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"jpg" a écrit dans le message de news:
231001c5129c$1db8b6d0$
Bonjour,

J'aimerais en une seule exécution (VB ?)lancer une
recherche dans une base (toutes les tables, tous les
champs et tous les enregistrements) une valeur stockée et
que le résultat de cette recherche me donne au moins le
nom de la table (ou des tables) où cette donnée a été
saisie.

Est-ce que quelqu'un sait comment faire ?

Merci beaucoup pour votre aide.


Exemple : me donner toutes les tables où la valeur "Jean"
apparaît.