MySQL查询无法访问Access

时间:2015-07-01 23:58:53

标签: mysql vba ms-access access-vba

我有以下MySQL查询:

INSERT INTO parts 
(part_id, source, user, decision, reason, date_messaged, date_suppress_message) 
VALUES ('IRUDHE3456','Escalation','john','fail','advertising','2015-07-01',NULL);

它通过MySQL Workbench完美地插入行。如果我尝试通过Access中的VBA运行此查询,没有任何反应,我根本没有得到任何错误消息,没有。并没有插入行。 VBA看起来像这样:

DoCmd.RunSQL the_query_above

我做错了什么想法?在这种情况下,语法如何变化?

这是一个通过ODBC的链表,如果重要,或者问题与Access本身有什么关系?

1 个答案:

答案 0 :(得分:3)

找出INSERT失败但没有错误消息的原因。

使用CurrentDb.Execute及其 dbFailOnError 选项执行它。该组合将提醒您密钥违规错误,否则可能导致无声失败。

还要确保SetWarnings未关闭。当它关闭时,Access会抑制信息。确保您能够看到每一个可能有助于您进行故障排除工作的信息。

'DoCmd.RunSQL the_query_above
DoCmd.SetWarnings True
CurrentDb.Execute the_query_above, dbFailOnError

我还建议您修改INSERT声明。将[user]括在方括号中,因为它是reserved word。由于 date_messaged 是日期/时间数据类型,因此请在您希望插入的值周围使用#个字符而不是'个引号。

INSERT INTO parts 
(part_id, source, [user], decision, reason, date_messaged, date_suppress_message) 
VALUES ('IRUDHE3456','Escalation','john','fail','advertising',#2015-07-01#,NULL);