北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |
1.我有一张表A(销售的流水账)信息包括:ID编码,销售日期,商品名称
2.在表A基础上做一个查询B(计算每个月每种商品销售数量):销售年份,销售月份,商品名称,销售数量
3.在查询B基础上,计算上月销售数量和去年同月销售数量,查询C:销售年份,销售月份,商品名称,本月销售数量,上月销售数量,去年同月销售数量
计算上月销售数量,去年同月销售数量时用到了dlookup()函数,例如上月销售数量为:
DLookUp("[上月销售数量]","查询B","商品名称='" & [疾病名称] & "' and 销售年份=" & IIf([销售年份]=1,[销售年份]-1,[销售年份]) & " and 销售月份=" & IIf([销售月份]=1,[销售月份]+11,[销售月份]-1)),0) AS上月销售数量
4.以上计算发现问题是速度极慢,如果表A原始数据超过10万,就不行了。
5.我自己想了解决办法,我把查询B的结果生成一张表B',在B'基础上去做查询查询C,则不会有速度的问题。
6.最后,我的问题:请问大神,这个问题出在哪里,是Dlookup效率低吗?为什按照第5条做法就速度就快了呢?