Access交流中心

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

[5分]平台通用界面与交叉表结合的问题

宋青  发表于:2009-09-13 00:18:39  
复制

我想要做成下面这样的界面,但是如果某个仓库的库存量为0的时候,交叉表查询将会不显示这个仓库的列,造成窗体文本框没有数据来源而出错!

 

 

Top
宋青 发表于:2009-09-13 00:22:25


宋青 发表于:2009-09-13 00:33:23

上面界面按报销系统的方式设计的话,当新增一个仓库的时候就要修改一次窗体界面,十分不方便,希望高手们点拨一下,多谢了



宋青 发表于:2009-09-13 08:56:24
在交叉表的SQL设计代码上加上参数:PIVOT pivotfield [IN (材料仓[, 成品仓[, ...]])] 后则运行正常,不过如果新增一仓库或者仓库改了名称的话,更改的仓库就显示不了数据出来,报表也就不完整了。在平台里这样的用法是不是有缺陷呢?还是放弃使用平台的子窗体,直接显示交叉表呢

金宇 发表于:2009-09-14 09:16:47

建议你可以使用VBA动态生成交叉表查询,然后再根据交叉表生成临时表

你参考一下代码。

 

   '生成交叉表查询

   strSQL = "TRANSFORM Sum(数值) AS 金额总计之总计 SELECT 日期 FROM qry_FinData where GROUP BY 日期 PIVOT 报表项目"

   CurrentProject.Application.CurrentDb.CreateQueryDef "交叉表查询", strSQL


   '根据交叉表查询生成临时表tbl_FinTemp1
   CurrentDb.Execute ("select * into tbl_FinTemp1 from 交叉表查询")


   '删除交叉表查询
   DoCmd.DeleteObject acQuery, "交叉表查询"



宋青 发表于:2009-09-16 11:00:47
金宇老师:生成临时表之后又怎么把它弄成上面的界面呢?因为还需要做查询和导出的操作,仓库名称不统一报表也是不完整的啊?

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