gpt4 book ai didi

excel - 如何使用 Excel 中的 VBA 重命名 Access 表?

转载 作者:行者123 更新时间:2023-12-02 03:13:52 27 4
gpt4 key购买 nike

我正在尝试使用 Excel 中的 VBA 重命名 Access 表...有帮助吗?

最佳答案

这是我的一个程序的示例(该程序仍在公司日常使用)。它取自 vb6 程序,但也在 vba 中执行。我已经测试过了,可以确定。

在此示例中,我们有一个名为“mytable_tmp”的临时表,该表已使用新数据进行更新,我们希望通过替换它来将其保存到表“mytable”中。

在 Excel vba 编辑器中,您需要设置对以下两个类型库的引用:

  • “Microsoft ActiveX 数据对象 2.8 库”
  • “用于 DDL 和安全性的 Microsoft ADO Ext. 2.8”

第一个用于 ADODB 命名空间,第二个用于 ADOX 命名空间。 (也许您有 MDAC 的早期版本,例如 2.5 或更早版本;这也应该可以工作)。

Private Sub RenameTable()
Dim cn As New ADODB.Connection
Dim cat As ADOX.Catalog
Const sDBFile As String = "c:\et\dbtest.mdb"

On Error GoTo ErrH

With cn
.Provider = "Microsoft.Jet.OLEDB.4.0"
.Mode = adModeShareDenyNone
.Properties("User ID") = "admin"
.Properties("Password") = ""
.Open sDBFile
End With

Set cat = New ADOX.Catalog
cat.ActiveConnection = cn
cat.Tables("mytable").Name = "mytable_old"
cat.Tables("mytable_tmp").Name = "mytable"
cat.Tables("mytable_old").Name = "mytable_tmp"

ExitHere:
If Not cn Is Nothing Then
If Not cn.State = adStateClosed Then cn.Close
Set cn = Nothing
End If
Set cat = Nothing
Exit Sub

ErrH:
Dim sMsg As String
sMsg = "Massive problem over here man."
sMsg = sMsg & vbCrLf & "Description : " & cn.Errors.Item(0).Description
MsgBox sMsg, vbExclamation
GoTo ExitHere
End Sub

希望对大家有帮助。

关于excel - 如何使用 Excel 中的 VBA 重命名 Access 表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1690862/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com