Office中国论坛/Access中国论坛

标题: MDB窗体绑定带参查询,有否最简单的办法用代码输入参数启动窗体? [打印本页]

作者: lwwvb    时间: 2014-3-8 16:13
标题: MDB窗体绑定带参查询,有否最简单的办法用代码输入参数启动窗体?
一直用MDB,查询带参数时,都是习惯用控件值和VBA自定义函数代替的。
但今天发现有些不对劲了,有个表数据量大了,因为查询参数引用了控件值或自定义函数,这样的话,属性或函数会读取很多次,这样查询会很慢!而且我这个参数只需要计算一次即可。

如果这个查询的参数设计成普通参数,例如:
PARAMETERS a Short;
SELECT 表1.x
FROM 表1
WHERE (((表1.ID)=[a]));
再把此查询绑定窗体,有没有简短的代码打开窗体前把窗体查询中的参数先赋值呢?


作者: tmtony    时间: 2014-3-8 16:40
直接设置 用代码 来设置
如strSql="select * from 表 where 产品Id=" & me.产品ID
作者: lwwvb    时间: 2014-3-8 17:48
如果这样也可以,但我比较喜欢SQL在查询中,再加参数的操作方式。

作者: lwwvb    时间: 2014-3-8 18:15
找到一个好方法,但还是要读属性:
查询1改为:
SELECT 表1.x
FROM 表1
WHERE (((表1.ID)=[TempVars]!["a"]));

代码:
  TempVars.Add "a", 1
  DoCmd.OpenForm "窗体1"




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3