gpt4 book ai didi

sql - 使用 VBA 从 Access 中删除数据

转载 作者:行者123 更新时间:2023-12-02 08:45:28 25 4
gpt4 key购买 nike

我正在尝试从 VBA 中的当前 Access 数据库中删除每条记录,其中 OTP = txtOTP.valueVARIABLE = {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 时出现错误 3219 Invalid Operation 或尝试使用 Execute 时出现Expected function。我已经尝试了很多东西,但我还没有设法让这个查询正常工作。我在记录集中也有完整的表格,使用 myRecordset.Delete 会更容易/更快吗?如果可以,我该怎么做?

编辑

现在尝试使用 CurrentDb.Execute 而不是 CurrentDb.OpenRecordset。现在的错误是预期的功能,而不是无效的操作

最佳答案

您不应该为 recordset.execute 函数使用括号,除非您也想发送 execute 函数选项作为您的查询。

currentDB.Execute ("SQL EXECUTABLE QUERY", Options)

options 是一个可选常量,您可以将其包含在函数中,例如 dbDenyWritedbFailOnError。当您不在执行函数中包含选项 时,Microsoft 使用默认的dbInconsistent,您不应使用括号。

Set query = CurrentDb.Execute "DELETE * FROM tb_SOMMAIRE..."

当您使用变量 sql 时,您的代码能正常工作的原因是您在使用该变量时没有使用括号。

关于sql - 使用 VBA 从 Access 中删除数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12802408/

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