【发布时间】:2018-09-05 00:37:34
【问题描述】:
我需要使用 SQL VBA 在 Access 2016 中插入多个行和字段。我在下面做这件事 - 与联合 - 但它不起作用,它说我与联合的 sintax 是错误的。我需要找出问题所在,否则一一运行查询,我有 9 个这样的! (编辑:找到解决方案!)
query = "INSERT INTO tblInvoice2 ( Quantity, Price, MMDCarrier) SELECT qryTotals.JRN AS SumOfJRN, qryTotals.[Rate JRN],"
query = query & "qryTotals.MMDCarrier from qryTotals where qryTotals.MMDCarrier like " & Me.Combo0 & " union "
query = query & "SELECT qryTotals.MG AS SumOfMG, qryTotals.[Rate MG],"
query = query & "qryTotals.MMDCarrier from qryTotals where qryTotals.MMDCarrier like " & Me.Combo0 & ""
这是有效方法的答案,与下面有人向我展示的代码非常相似,但不同之处改变了一切(没有错误消息,它确实插入到表格中!)。我不得不将选择放入一个选择中,仍然给了我一个错误,并且由于某种原因,当我将 -> 添加为价格和数量时它起作用了。我仍然不确定为什么它现在有效,如果您有解释,请告诉我!
query = "INSERT INTO tblInvoice2 ( Quantity, Price, MMDCarrier ) SELECT * FROM (SELECT qryTotals.JRN as Quantity, qryTotals.[Rate JRN] as Price, qryTotals.MMDCarrier FROM qryTotals where qryTotals.MMDCarrier like '" & Me.Combo0 & "'"
query = query & " UNION SELECT qryTotals.MG , qryTotals.[Rate MG], qryTotals.MMDCarrier From qryTotals where qryTotals.MMDCarrier like '" & Me.Combo0 & "')"
【问题讨论】:
-
最后(括号内)有一个额外的逗号。除非您使用参数,否则您可能还会遇到其他不明显的错误。
-
Me.Combo0 的值是多少?如果上面没有单引号,那么您的查询将如下所示:其中 qryTotals.MMDCarrier like
。这没有引号,会抛出错误 -
@âńōŋŷXmoůŜ 它不会引发错误...我已经使用了更简单的查询。真的不是这个问题。
-
@CetinBasoz 是的,我没有看到,我删除了一些忘记逗号的东西,但现在它抛出了更多的 sinxtaxt 错误,说我缺少一个运算符
-
在您做任何其他事情之前,您需要阅读、理解并开始实施参数化查询,然后才能访问 bobby 表。 bobby-tables.com
标签: sql ms-access vba ms-access-2016