【发布时间】:2012-10-09 14:34:52
【问题描述】:
我正在尝试从 VBA 中的当前 Access 数据库中删除 OTP = txtOTP.value 和 VARIABLE = {NomAdminContrats,TelAdminContrats,TelecAdminContrats, [...]} 中的每条记录
这是我的代码:
Dim query As Recordset
Set query = CurrentDb.Execute("DELETE * FROM tb_SOMMAIRE WHERE OTP = '" & txtOTP.value & "' AND (VARIABLE = 'NomAdminContrats' or VARIABLE = 'TitreAdminContrats' or VARIABLE = 'UnitAdminContrats' or VARIABLE = 'AdrAdminContrats' or VARIABLE = 'VilleAdminContrats' or VARIABLE = 'TelAdminContrats' or VARIABLE = 'TelecAdminContrats' or VARIABLE = 'CourrielAdminContrats')")
我在尝试使用 OpenRecordset 或 Expected function 时遇到错误 3219 Invalid Operation。我已经尝试了很多东西,但我还没有设法让这个查询工作。我在记录集中也有完整的表,使用 myRecordset.Delete 会更容易/更快吗?如果是这样,我该怎么做?
编辑
现在尝试使用 CurrentDb.Execute 而不是 CurrentDb.OpenRecordset。该错误现在是 Function expected 而不是 Invalid Operation。
【问题讨论】:
-
不应该是
CurrentDb.Execute,对于DELETE声明吗?... -
它也不起作用,带括号 (
CurrentDb.Execute()) 我得到一个错误“预期的功能”,没有括号我得到一个语法错误。 -
终于成功了,谢谢。我将在下面发布最终代码。
标签: sql ms-access vba ms-access-2000