访问QueryDefs和SQL方言

问题描述

我正在将MysqL数据库作为后端,将MS Access(Office 365)作为前端。

在VBA中,我正在创建带有参数的DAO querydef,以将数据插入链接表中。如果我逐行插入,此方法有效。 querydef中的sql看起来像这样:

ParaMETERS param1 LONG,param2 TEXT;插入tbl_target(attr1,attr2)值(param1,param2);

但是,我想在此sql字符串中使用2个MysqL功能

  1. 将信息插入到
  2. 一个呼叫中添加多个价值组

sql字符串因此如下所示:

ParaMETERS param1 LONG,param2 TEXT **,param3 LONG,param4 TEXT **;插入 IGnorE 到tbl_target(attr1,attr2)值(param1,param2),(param4,param3);

我无法使它正常工作,因为DAO似乎正在检查sql字符串(即使它将通过)并抱怨,因为它显然不了解这些MysqL功能

我该怎么做才能实现自己想要的?

非常感谢 磷虾

编辑/添加 代码看起来像这样。我对sql字符串中的ParaMETERS部分感到困惑,因为这与MysqL不兼容(据我所知):

Set qdf = CurrentDb.createqueryDef(vbNullString)
qdf.Connect = getMyBackendConnectionString()
qdf.ReturnsRecords = False
qdf.sql = thesql
qdf.Parameters("param1") = 12345678
qdf.Parameters("param2") = "this is param2"
qdf.Parameters("param3") = 87654321
qdf.Parameters("param4") = "this is param4"
qdf.Execute dbsqlPassthrough
qdf.Close
Set qdf = nothing

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)