【发布时间】:2014-05-04 20:15:19
【问题描述】:
我有以下代码用于更新 Access 数据库,但是当我运行宏时出现自动化错误。如果我执行SELECT 语句,它运行良好。我不需要从工作表中选择任何值来更新数据库。
Private Sub UpdateRecord()
ThisWorkbook.Activate
Dim cn As Object
Dim rs As Object
Dim strSql As String
Dim strConnection As String
Set cn = CreateObject("ADODB.Connection")
strConnection = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=C:\temp\test.mdb"
strSql = "UPDATE table1 SET Name1='Test' WHERE Object_ID=2076;"
'strSql = "SELECT * FROM table1;"
cn.Open strConnection
Set rs = cn.Execute(strSql)
Worksheets("Sheet1").Select
Sheets("Sheet1").Range("A6").CopyFromRecordset rs
rs.Close
Set rs = Nothing
cn.Close
Set cn = Nothing
End Sub
【问题讨论】:
-
以防万一,执行脚本的同时在MSAccess中打开数据库吗?默认情况下,MSAccess 会阻止数据库。我的意思是默认情况下它以独占模式打开。
-
@Naeel Maqsudov - 我在数据库关闭时尝试过,但仍然返回相同的错误。
标签: sql ms-access excel-2010