收录日期:2018/09/20 23:27:07 时间:2016/05/21 14:08:47 标签:数据库(包含打印,安装,报表)
如何判断一个ACCESS字段是否为自动编号
如何判断一个ACCESS字段是否为索引字段
如何判断一个ACCESS字段是否为关键字段
如果是sqlserver倒好判断
access我还不知道是否有系统表存有字段信息,
先Mark一下
用DAO就有办法,ADO好象是没有办法的!
MSDN里 的Sample目录下有vb  可视化数据管理器,visdata.vbp 的原程序,有一个模块详细介绍表的结构,即你所要知道的内容,可以去参考参考!
rs.field(0).type=3
那就是自动编号的字段
RS为ADO对象数据集
rs.field(0).type=3
那就是自动编号的字段
RS为ADO对象数据集

不对吧,type=3是整型
if rs.field(0).properties("ISAUTOINCREMENT") then
    '自动增量
else
    '不是
end if
properties 是一个集合,你在运行时查看一下集合里面的每一项值,你所问的都会找到答案.
某些 ADO 对象包含由 Property 对象组成的 Property 集合。每个 Property 对象与特定于提供者的 ADO 对象的特性相对应。

Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Private Sub Form_Load()
        cn.CursorLocation = adUseClient
        cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\NWIND.MDB;Persist Security Info=False"
        Set rs = cn.OpenSchema(adSchemaColumns)
        Set DataGrid1.DataSource = rs
        If rs.RecordCount > 0 Then
                    rs.MoveFirst
                    While Not rs.EOF
                            If rs.Fields("DATA_TYPE").Value = 3 Then
                                 Debug.Print rs.Fields("COLUMN_NAME").Value & "为自动增量"
                            End If
                            rs.MoveNext
                    Wend
        End If
End Sub
对于另外两个类型同样的方法可以得到的