2010-07-27 88 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