我试图通过SQL将变量中的两个值插入到表中,代码完成时没有出错,但表中没有显示条目。
我尝试在immidate窗口中执行代码,但这给我的括号带来了一个错误(实际上不知道如何在那里正确地输入提示符),所以我将查询从拥有变量改为设置要插入的值,但仍然无法工作,也没有出现错误。
我确保代码中没有"On“,并试图手动构建一个错误。语法错误会像往常一样显示,所以我假设错误消息一切正常。
'Table Columns: ID, ProjectID, Versionnumber
SQL = "INSERT INTO tblVersion " & _
"(ProjectID, Versionnumber) " & _
"VALUES (1, 'v3.0');"
Currentdb.Execute SQL
我希望打开表时会显示值。相反,什么也没发生。
发布于 2019-04-08 14:23:05
默认情况下,CurrentDb.Execute
不会引发所有错误。它只会默默地失败,而不会让您知道查询是不成功的,而不依赖于任何On Error
语句。
据我所知,在编译时可以生成的所有错误(语法错误、无效表名或字段名)都会被引发,而运行时错误(违反约束、重复主键等等)会被引发。别被养大。
要获取所有错误,请使用dbFailOnError
。如果单个操作遇到错误(例如,一行违反了约束),这还会导致整个查询失败,而没有它,只有失败的操作才会失败。
因此,总括而言,请使用以下内容:
Currentdb.Execute SQL, dbFailOnError
https://stackoverflow.com/questions/55573283
复制相似问题