Currentdb.Execute(Database.Execute)无法正常工作或抛出错误

问题描述 投票:3回答:1

我试图通过SQL将变量中的2个值插入表中,代码完成没有错误,但条目没有显示在表中。

我尝试在immidate窗口中执行代码,但这给了我一个关于我的括号的错误(不知道如何在那里正确输入提示),所以我将查询从变量更改为要插入的设置值,但它仍然不起作用,也不会出错。

我确保我的代码中没有“On Error”并尝试手动构建错误。语法错误像往常一样显示,因此我假设错误消息一切正常。

'Table Columns: ID, ProjectID, Versionnumber

SQL = "INSERT INTO tblVersion " & _
"(ProjectID, Versionnumber) " & _
"VALUES (1, 'v3.0');"
Currentdb.Execute SQL

我打算在打开表格时显示值。相反,什么也没发生。

vba ms-access access-vba
1个回答
3
投票

CurrentDb.Execute默认不会引发所有错误。它会默默地失败,不会让你知道查询不成功,独立于任何On Error语句。

据我所知,所有可以在编译时生成的错误(语法错误,无效的表名或字段名)确实会引发,而运行时错误(违反约束,重复主键等)不会得到提高。

要获得所有错误,请使用dbFailOnError。如果单个操作遇到错误(例如,一行违反约束),这也将导致整个查询失败,而没有它只有失败的操作将不会通过。

所以,总之,使用这个:

Currentdb.Execute SQL, dbFailOnError
© www.soinside.com 2019 - 2024. All rights reserved.