北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |
基础表为人口表,包括省份区域(华东、华北、华南等6个区域)、性别(男、女两类)、生肖(12类)等字段。我设置了个查询窗体,添加身份、性别、生肖等筛选字段的三组复选框(分别为6、2、12个复选框),人为勾选其组合,在后台已通过vba拼接sql语句完成刷新子窗体“筛选清单”(记录源设置为导出的sql语句CheckSQL)。
目前我在制作一个的统计表格(类似于excel下的数据透视表),能简洁的得出该子窗体记录集下,比如华南区域、生肖为龙、性别为男的人口数。此时需要借用access的dcount函数,但是阅读dcount的说明
DCount(expr, domain [, criteria] )
domain | 必选。符串表达式,用于标识构成域的记录集。它可以是不需要参数的查询的表名或查询名。 |
那么dcount函数的domain部分就不能以子窗体作为记录集。为解决如上矛盾,我想到的方法是:
1、建立"查询"对象TempQuery,作为临时存储前述拼接sql语句CheckSQL导出记录集的中转站。
2、以TempQuery作为dcount的domain部分来计算。
问题是在vba能否直接对查询对象TempQuery进行更改,如将其sql视图的sql语句设置为CheckSQL,或者查询对象有类似于RecordSource这样的属性可以直接用TempQuery.recordsource=CheckSQL设置的。
请各位大侠指教,如有其他解决如上问题的更好的思路,请不吝赐教。
先感谢。