将访问查询中的文本框值转换为mysql

时间:2015-12-04 07:21:58

标签: mysql ms-access

我目前正在将所有Access数据库移动到MySQL服务器。我有一些非常大的查询,我想转换成sql direct。

唯一的问题是,在这些查询中,我使用的是表单中文本框的内容:

IIf(IsNull([Formulaires]![DialogueMAJDossier]![FiltreTypeEntree]),[TypeDossier],[Formulaires]![DialogueMAJDossier]![FiltreTypeEntree])

(请原谅我所有的法语名字)

我知道当我将其转换为MySQL语法时,应该给出类似这样的内容:

IFNULL(`Formulaires`.`DialogueMAJDossier`.`FiltreTypeEntree`, `TypeDossier`)

但我不知道如何在查询中考虑文本框值。

欢迎任何帮助

1 个答案:

答案 0 :(得分:0)

传递查询不能包含参数,因此您必须使用解决方法。

选项1:
在模板表中使用“变量”保存SQL,例如SELECT foo, {FiltreTypeEntree} FROM bar
然后在执行Pass-Through查询之前,读取模板SQL,Replace()变量以及IIf表达式的结果,并使用最终字符串设置查询的.SQL属性。

选项2:
在MySql中创建“变量”表。通过代码填写其字段,并让您的Pass-Through查询连接此表以获取变量值。

在多用户场景中,您必须为选项2引入某种会话管理,因此在这种情况下我会使用(1)。

相关问题