2010-07-27 38 views
10

我需要使用VBA或Access SQL获取表的所有列名并遍历它们进行验证,是否有人有解决方案,我已经搜索到Google无济于事。获取列名

回答

14

这将工作

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

快速,干净,正是我想要的,谢谢! +1 – Yoda 2010-07-27 13:32:54

+0

很高兴听到它,不客气.. – 2010-07-27 13:45:36

+3

我通常从不使用计数器来收集集合中物品的数据类型。我会使用For Each fld而不是rs1.Fields(使用变量fld作为DAO.Field类型)。 – 2010-07-28 19:44:21

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

这是3年前Feral所做的,但将其改为David提出的更好的代码。我不明白你为什么添加它(三年后);更不用说为什么它起来了。 – Johanness 2016-12-24 14:41:43