2012-02-06 35 views
1

我想通过一个变量(sql where子句的一部分)来填充报表。没有错误,但报告似乎忽略了我的变量值。在访问报告(DoCmd.OpenReport)中使用表单变量

DoCmd.OpenReport "report111", acViewPreview, , "[a].[fname] = 'oasgjasgip'" 

应该得到0零结果回来了,但我仍然得到3行。

id fname lname 
-------------- 
1 mike lee 
2 jon thomas 
3 bob newman 

以下是报告的背后我的查询:

select distinct a.fname,b.lname from table1 a left join table2 b on a.id=b.id 
+1

在现实生活中,table1或table2是查询吗?表单进入哪里? – Fionnuala 2012-02-06 17:41:26

+0

表单被引用为:Forms!Formname!ControlName您的外表更像是表引用 – 2012-02-06 18:57:58

+0

您使用的是哪个版本的Access?我在2007年尝试过你的例子,它工作得很好。 – 2012-02-06 22:11:09

回答

2

你指的一个字段的表的别名。报告不会意识到这一点。

尝试:

DoCmd.OpenReport "report111", acViewPreview, , "[fname] = 'oasgjasgip'" 

或更换[A]与表的实际名称,特别是如果[FNAME]出现不止一次。

+0

在显示的查询中,table1被别名为a,所以用[table1]替换[a]将不起作用。 – Fionnuala 2012-02-06 22:33:17