2010-07-27 10 views
10

Je dois obtenir tous les noms de colonne d'une table en utilisant VBA ou Access SQL et les parcourir pour la validation, est-ce que quelqu'un a une solution à cela, j'ai cherché Google en vain.Obtenir les noms des colonnes

Répondre

14

Cela fonctionne

Set db = CurrentDb() 
Set rs1 = db.OpenRecordset("Table1") 
Dim fld As DAO.Field 
For Each fld In rs1.Fields 
    MsgBox (fld.Name) 
Next 
Set fld = Nothing 
+0

rapide, propre et exactement ce que je voulais, je vous remercie! +1 – Yoda

+0

Bon pour l'entendre, je vous en prie .. –

+3

En général, je n'utilise jamais de compteur pour les collections qui ont leur propre type de données pour les éléments de la collection. J'utiliserais For Each fld In rs1.Fields, à la place (avec la variable fld comme type DAO.Field). –

2
Dim l As Integer 

For l = 0 To CurrentDb.TableDefs("tbl_Name").Fields.Count - 1 
    Debug.Print CurrentDb.TableDefs("tbl_Name").Fields(l).name 
Next l 
+0

C'est ce que Feral a eu il y a 3 ans, mais l'a changé pour le meilleur code proposé par David. Je ne vois pas pourquoi vous l'avez ajouté (trois ans plus tard); encore moins pourquoi il a eu des upvotes. – Johanness

Questions connexes