Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

交叉表查询中如何引用窗体的Text作为条件

帕修斯  发表于:2009-03-02 17:49:26  
复制

我想在一个窗口中输入条件,然后通过一个交叉表查询,将结果显示在子窗口中。

 

但在交叉表查询无法引用窗体的Text,总是报错:

MS Office Access 数据库引擎不能将“窗体及字段名”识别为一个有效的字段名或表达式

 

到底是怎么回事的?

 

详细请看附件,RequestSum是输入条件的窗体,SumRequest是交叉表查询。

 

拜托各位了~~~

 

 

点击下载此附件

 

Top
trynew 发表于:2009-03-03 09:39:08

楼主要注意在本论坛交流的基本规则:

1、同一个问题不要重复发帖。

2、同一个帖子不要再问无关的问题。

3、已经获得解决的帖子要进行结贴。

4、上传的实例如已拆分自己先进行导入。

-------------------------------------

这个问题有两个解决方案:

方法1、在查询中加上显式的参数定义:在查询语句前加上: PARAMETERS [Forms]![QryByRequest]![txt_request_id].[value] Text ( 255 ), [Forms]![QryByRequest]![txt_div].[value] Text ( 255 ), [Forms]![QryByRequest]![txt_date].[value] Text ( 255 );

 

方法2、在窗体中修改查询的SQL语句,用窗体控件实际值代替参数。



帕修斯 发表于:2009-03-03 12:02:09

版主明鉴:

 

1. 这个帖子与《窗体中多个子窗体(数据表)关联》:http://www.accessoft.com/bbs/showtopic.asp?ID=3528&BoardID=7

   虽然都是同一个程序,但问的不是同一个问题啊。这里的问题是 SumRequest,涉及的窗口是 RequestSum而不是QryByRequest.

 

2. 《窗体中多个子窗体(数据表)关联》那个帖子还没有完全解决问题,最后的回复是我的一个问题,可是还没有解决呢。

 

 

回到这个问题,我参照您说的方法1,还是出现同样的错误。方法二我不是很明白,能否麻烦详细说一下。

 

PS.我发现,如果我去掉Transform和Pivot语句(也就是把交叉表查询退化为普通查询),这时候就可以,但用交叉表查询就不行了。

 

还要劳乏各位大虾



trynew 发表于:2009-03-03 12:48:06

点击下载此附件

你的程序错漏太多,第一个查询本身就有有问题。另外交叉查询用作子窗体,要在查询的属性窗体中定义号列表题。

1. 子窗体(数据表)关联的问题你就开了两个帖子。

2. 《窗体中多个子窗体(数据表)关联》那个帖子还没有完全解决问题,最后的回复是我的一个问题,可是还没有解决呢。

---------你标题中的问题,我已经作答,你后来问的问题又是另外一个问题!



帕修斯 发表于:2009-03-05 10:15:24

我仔细看了一下,确实学到不少细节,包括交叉表的Parameter要定义完整,按钮的Requery动作要指定合适的对象(Me.request_交叉表.Form.Requery),而且交叉表要用作字窗口,必须固定列等。

 

之前发帖子的问题,一来不了解规定,二来有点急,所以子窗体(数据表)关联的问题开了两个帖子,确实不对。

 

对于一个帖子内另一个问题的事情,是由于新问题是伴随着原问题的回复产生的,所以才追问了,下次会新开帖子处理。

 

再次感谢 trynew 的热心帮忙,以及专业水平

 

 



总记录:4篇  页次:1/1 9 1 :