Trouver le nom d'un champs en fonction de contenu.

energiez Messages postés 38 Date d'inscription jeudi 8 janvier 2004 Statut Membre Dernière intervention 16 juin 2005 - 12 août 2004 à 13:12
energiez Messages postés 38 Date d'inscription jeudi 8 janvier 2004 Statut Membre Dernière intervention 16 juin 2005 - 12 août 2004 à 23:13
Bonjour,

Je souhaite savoir si il est possible de trouver le nom d'un champ en fonction de son contenu.
Exemple: je recherche Pierre.
Pierre est contenu ds le champs prénom, donc vb me renvoie le nom de champs prénom.

Si c'est possible, que et la syntaxe?

A noté que j'utilise la référence DAO 3.6

D'avance merci de votre aide.

4 réponses

cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 20
12 août 2004 à 18:53
Salut,

Pour connaitre le nom des champs d'une table, 2 solutions :

Dim db As Database
Dim rs As Recordset
Dim i As Integer

Set db = OpenDatabase(Chemin_Nom_TaBase)
Set rs = db.OpenRecordset("select * from TaTable")

For i = 0 To rs.Fields.Count - 1
MsgBox rs.Fields(i).Name
Next


ou

Dim db As Database
Dim t As TableDef
Dim f As Field

Set db = OpenDatabase("c:\temp\bd2.mdb")

For Each t In db.TableDefs
If LCase(t.Name) = "tatable" Then
For Each f In t.Fields
MsgBox f.Name
Next f
Exit For
End If
Next t


Dans la 2ème soluce, attention, le t.name fait la diff entre majuscule et minuscule (le pourquoi du LCase(t.Name) = "tatable")

Cordialement

CanisLupus
0
energiez Messages postés 38 Date d'inscription jeudi 8 janvier 2004 Statut Membre Dernière intervention 16 juin 2005
12 août 2004 à 21:13
Merci de ton aide.
J'avais deja penser a faire des boucles, un peu comme dans ton premier cas.
Je me demandai si il y avait pas une fonction de genre:

NOmDuChampChercher = rs.FONCTION ("pierre")

pierre est le contenu du champ rechercher.

Julien
0
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 20
12 août 2004 à 21:23
Pas à ma connaissance, mais il est toujours possible de la créer quoique je n'en vois pas l'intérêt et sachant que le mot "pierre" pourrait se retrouver dans +sieurs champs de la même table.

Cordialement

CanisLupus
0
energiez Messages postés 38 Date d'inscription jeudi 8 janvier 2004 Statut Membre Dernière intervention 16 juin 2005
12 août 2004 à 23:13
Ok, merci de ton aide.

PS: Dans mon cas, pas de possibilité de retrouver pls fois le mot pierre ds ma table :)
0
Rejoignez-nous