問題:
如何更改表或者其他數據庫對象得名字
方法一:
更改表名,調用 ADOX 即可 (測試環境為ADOX2.7)
Function Test()
Debug.Print renameTableName("b", "cxcd")
End Function
Function renameTableName(strOldName As String, strNewName As String) As Boolean
On Error Resume Next
Dim tbl As ADOX.Table
Dim cat As New ADOX.Catalog
Set cat.ActiveConnection = CurrentProject.Connection
'上面這句中 CurrentProject.Connection 在VB中要更改為已經open的connection對象
For Each tbl In cat.Tables
If tbl.Name = strOldName Then tbl.Name = strNewName
Next
If Err.number <> 0 Then
renameTableName = False
Else
renameTableName = True
End If
End Function
方法二:
請使用 DoCmd.Rename "新表名", acTable, "原表名"
來完成
請多參考幫助
以下摘自Access2000幫助
Rename 方法
rename 方法在 Visual Basic 中執行 Rename 操作。
expression.rename(newname, ObjectType, OldName)
expression 必需。返回 DoCmd 對象的表達式。
newname Variant 型,必需。字符串表達式,代表要重新命名的對象的新名稱。這個新名稱必須符合 Microsoft Access 對象的對象命名規則。
objecttype AcObjectType,可選。要重命名的對象的類型。
acobjecttype 可以是下列 AcObjectType 常量之一:
acDataAccessPage
acDefault 默認
acDiagram
acForm
acFunction
acMacro
acModule
acQuery
acReport
acServerVIEw
acStoredProcedure
acTable
oldname Variant 型,可選。字符串表達式,代表由 ObjectType 參數指定的類型的有效對象名稱。如果在某個類庫數據庫中執行包含 Rename 方法的 Visual Basic 代碼,Microsoft Access 將首先在該類庫數據庫中搜索具有該名稱的對象,然後再到當前數據庫中搜索。
說明
有關該操作及其參數如何工作的詳細信息,請參閱該操作的主題。
如果將 ObjectType 和 OldName 參數留空(對於 ObjectType 參數,假設其為默認常量,即 acDefault),Microsoft Access 將重新命名在“數據庫”窗口中選擇的對象。若要選擇“數據庫”窗口中的對象,可以使用 SelectObject 操作或 SelectObject 方法,並將“在‘數據庫’窗口中”參數設為“是”(True)。
如果將 ObjectType 和 OldName 參數留空,則在 NewName 參數後面不要使用逗號。
示例
下面的示例對“Employees”表進行重命名。
docmd.rename "Old Employees Table", acTable, "Employees"