'=========================================================== ' 过程及函数名: 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 |