花王蒸汽眼罩哪款好用:利用ADOX获取Access数据库字段的所有属性 >> ADO SQL应用 >> Exce...

来源:百度文库 编辑:中财网 时间:2024/05/07 23:39:16
利用ADOX获取Access数据库字段的所有属性作者:bengdeng | 来源:Excel吧 | 时间:2010-02-24 | 阅读权限:游客 | 会员币:0 | 【大 中 小】
一直以来都用SQL语句来操作Access,但发现有些Access字段的属性不能用SQL来操作,在网上搜索了一些资料后,才了解了一些用ADOX设定字段的方法,为了方便了解这些字段的属性,就先自己建立一个Access数据库,然后创建好表与字段,设置好这字段的属性,然后后用下面的程序把它的属性例出到Excel中来,此程序需要引用ADOX。Sub 获取Access数据库字段的所有属性()
'*****************************************************************
'时间:2010-2-24
'作者:bengdeng
'功能:利用ADOX获取Access数据库字段的所有属性
'备注:本程序需要引用Microsoft ADO Ext(ADOX),本例引用2.8版
'发布:http://www.excelba.com
'******************************************************************Dim MyCat As ADOX.Catalog
Dim MyTab As ADOX.Table
Dim MyCol As ADOX.Column
Dim MyPro As ADOX.Property
Dim tSh As Worksheet
Dim i As Long
Dim DataName As String, PassStr As String, TableName As StringDataName = "Excel吧" '数据库名称
DataName = ThisWorkbook.Path & "\" & DataName & ".mdb"
If Dir(DataName) = "" Then
    MsgBox "数据库:" & DataName & "不存在!"
    Exit Sub
End If
PassStr = "" '数据库密码
TableName = "数据表2" '数据表名称Set tSh = ThisWorkbook.Worksheets.Add
tSh.Range("A1:D1") = Array("字段名称", "字段类型", "字段属性", "属性值")Set MyCat = New ADOX.Catalog
MyCat.ActiveConnection = "Provider=Microsoft.Jet.Oledb.4.0;Data Source=" & _
    DataName & ";Jet OLEDB:Database Password=" & MyPass
         
Set MyTab = New ADOX.Table
Set MyTab = MyCat.Tables(TableName)
i = 2
For Each MyCol In MyTab.Columns
    tSh.Cells(i, 1) = MyCol.Name
    tSh.Cells(i, 2) = MyCol.Type
    For Each MyPro In MyCol.Properties
        tSh.Cells(i, 3) = MyPro.Name
        tSh.Cells(i, 4) = MyPro.Value
        i = i + 1
    Next
Next
tSh.Cells.EntireColumn.AutoFit
MsgBox "字段信息读取完毕!", , "提示"
End Sub请自己修改程序中的数据库名,密码与数据表名,路径为包含程序的Excel文件的目录中。从程序的运行结果可以看到,列举的属性有:0 Autoincrement 自动编号
1 Default 默认值
2 Description
3 Nullable 必填字段
4 Fixed Length
5 Seed
6 Increment
7 Jet OLEDB:Column Validation Text 有效性文本
8 Jet OLEDB:Column Validation Rule 有效性规则
9 Jet OLEDB:IISAM Not Last Column
10 Jet OLEDB:AutoGenerate
11 Jet OLEDB:One BLOB per Page
12 Jet OLEDB:Compressed UNICODE Strings
13 Jet OLEDB:Allow Zero Length 允许空字符串
14 Jet OLEDB:Hyperlink 超链接型转载请注明:本文来自:Excel吧 (www.excelba.com) 详细出处参考:http://excelba.com/Art/Html/348.html
如何利用delphi从一个access数据库中导出一个表的数据并且按一个字段的不同到多个access数据库的表中 高分请教ADOX创建数据库的问题 数据库中,如何获取一个字段的属性? ASP+ACCESS数据库中的数字开头的字段名 ACCESS数据库添加字段的问题?急!!!急!!! 请教一般网站的ACCESS数据库字段设置 如何利用vb获得sql数据库中表的字段值 如何用ADOX.ColumnClass创建具有默认值的Access表 如何获取数据库中表名、字段名、字段属性信息? 如何把ACCESS数据库中某表的字段导入至SQL数据库相应位置 如何获取一个数据表中某个字段的数据到另一个数据库中某个表的字段? 如何把Access数据库里面的表的字段的名称、类型和字段大小打印出来? .NET 环境 C#语言 获取数据库中字段长度的函数 大家谁知道ACCESS数据库能不能批量更改表中一个字段的部分值? access数据库中的pass字段是用的什么加密方法啊? 关于ACCESS数据库的问题,我要每天那个字段都自动减去1 ACCESS数据库中如何用条件判断删除记录中一个字段的数据? ACCESS数据库如何用条件删除记录中的字段里的数据? 请教编程高手:用update语句怎么同时更新多个字段的信息(access数据库) asp 中如何判断access数据库中ole字段的有无 ACCESS数据库,怎么对已经建好的字段进行设置? access的字段里最多能放多文字,access数据库使用到300M时,还能稳定吗 用ASP 怎样获取数据库表中的字段说明? 如何利用ASP删除ACCESS数据库