无法更新。数据库或对象是只读的[错误3027]

时间:2014-06-04 14:05:26

标签: sql vba access-vba

我尝试从数据库中删除数据时遇到问题。我正在使用Access数据库

strqry3 = "SELECT * " & _
"FROM ((tbl_l0_est INNER JOIN tbl_project_resource_matrix ON    
tbl_l0_est.pr_matrix_key = tbl_project_resource_matrix.pr_matrix_key) INNER JOIN 
tbl_proj_app_impacted ON tbl_project_resource_matrix.project_key =  
tbl_proj_app_impacted.project_key)  " & _
"WHERE app_impacted = '" & Text & "'"

Set rst3 = CurrentDb.OpenRecordset(strqry3)

If rst3.EOF = True Then
'MsgBox ("")

Else
Do Until rst3.EOF
rst3.Delete
rst3.MoveNext
Loop
End If

Error

请告知

1 个答案:

答案 0 :(得分:0)

事实是你不能以这种方式删除记录(调用.delete方法)来自composte SELECT。这仅在select * from onlyOneTable where some=condition

中有效

使用例如ADO .delete方法的其他数据库也会出现同样的情况。原因是表.delete引用的RDBM并不清楚。