'===========================================================
' 过程及函数名: ListAllTableAndAllField
' 版本号 : --
' 说明 : 本过程只用于演示如何用adodb的OpenSchema获取
' 当前ACCESS数据库的所有表的所有列信息
' 引用 : Micrsoft ActiveX Data Ojbects 2.1 Library
' 以上版本
' 输入参数 : --
' 输出值 : --
' 返回值 : --
' 调用演示 : ListAllTableAndAllField
' 在Access中按ALT+F11键转到VBE界面,菜单,
' 插入,模块,将本段代码复制进代码编辑界面,
' 将光标点击到Public Function处,按F5键运行,
' 在立即窗口可以看到打印结果。
' 最后修改日期: 2009-5-6 16:36:00
' 示例地址 : http://access911.net/?kbid;72FABF1E12DCEBF3
' 作者 : cg1
' 网站 : http://access911.net
' 电子邮件 : access911@gmail.com
' 版权 : 作者保留一切权力,
' 请在公布本代码时将本段说明一起公布,谢谢!
'===========================================================
Public Function ListAllTableAndAllField()
'注意引用 Ado 2.1 以上版本
Dim rstSchema As ADODB.Recordset
Dim strCnn As String
Dim conn As New ADODB.Connection
Dim i As Long
Set conn = CurrentProject.Connection
'列出当前数据库中所有表的所有字段
Set rstSchema = conn.OpenSchema(adSchemaColumns)
Do Until rstSchema.EOF
'下列代码是列出所有列的所有属性
For i = 0 To rstSchema.Fields.Count - 1
Debug.Print rstSchema.Fields(i).Name, rstSchema.Fields(i).Value
DoEvents
Next
'如果觉得太多,可以取:
'rstSchema("TABLE_NAME") 来判断表名
'rstSchema("COLUMN_NAME") 来判断字段名
'rstSchema("DATA_TYPE") 来判断数据类型
Loop
rstSchema.Close
conn.Close
End Function