Access access中,查询字段是否存

时间:2021-10-01 13:59:51

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