如何用vba修改access数据库中表的字段名称?

要用vba修改access数据库中表的字段名称,需要用到ADOX.Catalog对象。

ADOX.Catalog是专门用来遍历数据库中的表、索引、键值、列、视图、以及属性的对象。

修改数据库中表的字段名称,需要先访问具体的表对象Table。然后访问表对象的Column对象(也就是字段对象),最后设置Column对象的Name属性值即可。

如下图所示为某个Access数据库中的一个表和该表的所有字段:

如果要修改其中的字段“预留8”为一个新的字段名称,可以使用如下的vba代码:

Sub QQ1722187970()
    Dim objCatalog
    Set objCatalog = VBA.CreateObject("ADOX.Catalog")
    Dim sConStr As String
    Dim sPath As String
    sPath = Excel.ThisWorkbook.Path
    Dim oTable
    Dim oColumn
    With objCatalog
       sConStr = "Provider='Microsoft.ACE.OLEDB.12.0';Data Source=" & sPath & "\ywglb.accdb"
      .ActiveConnection = sConStr
       For Each oTable In .tables
           With oTable
               If .Type = "TABLE" And .Name Like "*员工信息表*" Then
                   With oTable
                       For Each oColumn In .Columns
                           With oColumn
                              If .Name = "预留8" Then
                               .Name = "新字段名称"
                              End If
                           End With
                       Next
                   End With
               End If
               Debug.Print .Name, .Type
           End With
       Next
    End With
End Sub
       

发表评论