Office中国论坛/Access中国论坛

标题: 拜求:交叉数据表转换为正常表的问题 [打印本页]

作者: RickyZjw-3721    时间: 2009-9-29 23:03
标题: 拜求:交叉数据表转换为正常表的问题
本帖最后由 RickyZjw-3721 于 2009-9-29 23:06 编辑

如附件,我想把从"ExpnDTL00000_Jul"到"ExpnDTL60132_Jul"的交叉表数据表转换为如表"Expenses_Detail"一样的格式正常数据表并把所有的数据汇总到一个正常数据表里。这些以"ExpnDTL"开头的数据表名称里已经包含了一个"Activ"字段值,即"00000","10101","10102"一直到"60132"。每个交叉表数据表里分别含有表"Expenses_Detail"里的其他字段——200901,200902...200912,P200901,P200902...P200912对应"Period"字段值,"Acct"直接对应,交叉表数据表的数值则对应于"ActiveAmount"。但是因为每个交叉表数据表的月份("200901"等)和"Acct"字段不规律(如"ExpnDTL10216_Jul"表就没有1,2,3,4和7月数据,也只有两个Acct),这样一来就增加了写VBA代码的难度。
这个问题也是我在做这个Access小程序的最后步骤遇到的最复杂的问题,鉴于本人的VBA水平有限,虽绞尽脑汁也不能想出一个很好的解决方案,拜请各位热心的Access高手不吝赐教,帮我渡过这个困扰我多日的真正问题。感激不尽!

附言:如果以上问题得以解决,本人将把整个小程序整理后分享给大家,供大家交流,也算是在下对论坛的小小贡献吧。再谢!
作者: liwen    时间: 2009-9-30 16:20
执行宏1或运行t()
作者: RickyZjw-3721    时间: 2009-10-4 23:09
2# liwen
谢谢liwen版主的热心帮助!在下学习了.

不过这个宏运行后的结果却是有些意外,表"Expenses_Detail"的"ActiveAmount"字段值有些竟然是月份(字符型)的整型数值,但月份是"P"开头的"ActiveAmount"字段值又是正确的.具体请参阅表"Expenses_Detail"的数据.

我试着用Cstr函数把表达式"rst.Fields(j).Name"转换了一下,可是仍然没用,还望再麻烦您看看这个问题该如何解决.
作者: RickyZjw-3721    时间: 2009-10-16 21:59
这个问题已经解决.采用的方法是把原来的字段名变为字符型(保持原来语句不变).




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3