如何判断ACCESS数据库里某个表的是否存在某个字段?如何在VB程序里读出ACCESS数据库里的某个表的数据结构(各个字段名)?
谢谢!

解决方案 »

  1.   

    读表的结构用select * from 表名 where 1=2
      

  2.   

    Dim I As Integer
    For I = 0 To rs.Fields.Count - 1
      MsgBox rs.Fields.Item(I).Name
    Next
      

  3.   

    或者参考这个
        确定字段的数目用ADO Ext Object Module或SQL-DMO(SQL Server)。 
        用SQLOLE或SQL-DMO: 
         Dim MyServer As SQLOLE.SQLServer 
         Dim MyDatabase As SQLOLE.Database 
         Dim MyTable As SQLOLE.Table 
         
         Set MyServer = New SQLOLE.SQLServer 
         MyServer.Connect "server1", "sa", "" 
         Set MyDatabase = MyServer.Databases("database1") 
         Set MyTable = MyDatabase.Tables("table1") 
         MsgBox "There are " & MyTable.Columns.Count & " fields in Table1"
        用ADO Ext: 
         Dim cnn As New Connection 
         Dim cat As New Catalog 
         Dim MyTable As Table 
         cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _ 
         "Data Source= c:\Program Files\Microsoft Office\" & _ 
         "Office\Samples\Northwind.mdb;" 
         Set cat.ActiveConnection = cnn 
         Set MyTable = cat.Tables("table1") 
         MsgBox "Thare are " & MyTable.Columns.Count & "fields in Table1" 我估计MyTable.Columns有字段名属性,你看看吧
      

  4.   

    之前加上RS.OPEN "SELECT * FROM TABLE",CNT, adOpenKeyset, adLockPessimistic
    CNT为一连接
      

  5.   

    Private Sub Command1_Click()
        Dim Rs As New ADODB.Recordset
        Dim i As Integer
        Rs.Open "A03", MdbConn, adOpenKeyset, adLockOptimistic
        For i = 0 To Rs.Fields.Count - 1
            If Rs.Fields(i).Name = "A0有02" Then
                MsgBox "发现字段存在"
                Exit Sub
            End If
        Next i
        Rs.Close
        Set Rs = Nothing
        MsgBox "字段不存在"
    End Sub
      

  6.   

    to lvjack(叶飞) Dim cat As New Catalog 
    系统不认,需要添加什么引用吗?
    谢谢!
      

  7.   

    得到字段的名称
    For I = 0 To objrs.Fields.Count - 1
    Debug.Print objrs.Fields(I).Name
    Next