Office中国论坛/Access中国论坛

标题: 如何对时有时无的字段进行求和? [打印本页]

作者: jp777    时间: 2009-1-13 13:22
标题: 如何对时有时无的字段进行求和?
我创建了一个查询表,会根据不同的年份显示不同的查询结果字段。现在我希望对所显示的字段进行求和。问题是表中所显示的字段并不总是一样的。
例如: Year选2004时,有字段AA,BB,CC,DD。但Year选2007时,字段就只有FF,GG。
这样经常会出现“#名称?”无控件来源的错误了。请问如何克服。谢谢
[attach]34510[/attach]
作者: todaynew    时间: 2009-1-13 14:03
呵呵,表或查询设计有问题吧,同样的数据没必要搞成几个表或查询,现在麻烦了不是。

[:45] [:45] [:45]
作者: Henry D. Sy    时间: 2009-1-13 19:57
重复发帖,而且这个问题不是解决了吗
作者: jp777    时间: 2009-1-13 22:24
实际上我正在为这个头痛呢。现有两个部分字段相同的表需要合并。然后将这些字段的记录进行统计。例如统计哪一年(Year)中的哪些制造商(Manufacturer)出了哪些故障(Malfunction) 。然后统一在一张表中显示出来【最头痛这里】。因为每年的故障(Malfunction字段)都是不一样的。这样就无法将记录用一个标准的表显示出来(总有的字段会没有,毕竟相同的故障不是年年有)。我现在总是先将两表用union all进行合并成一个表,然后在在合并后的Year字段中过滤年(Year),再将出现的故障进行计数统计,我能想到的只有这样了。本人是个才入行的新手。没有许多的方法想。但我会努力的,毕竟老依靠别人的帮助对提高自己的水平有害无益。版主也是花了许多的时间和精力才达到这样的境地。我要好好学习。[attach]34528[/attach]
作者: Henry D. Sy    时间: 2009-1-14 15:41
因为你窗体记录源是来源于交叉查询,
而交叉查询的字段数量是动态的,窗体上的控件数量又是固定的,当然交叉查询的字段数量少于窗体上的控件数量时,窗体上多出来的控件就会出现你所说的问题,
那么就是说,字段根本就不存在,你用哪些判断函数来判断一个根本不存在的控件有何意义?
解决办法就是
将子窗体的源对象直接设为交叉查询。
作者: jp777    时间: 2009-1-14 16:01
可是这样做的缺点就是无法生成一张标准报表。因为控件的数量每次都不一样。虽然我可以克服窗体的不足。顶多是窗体显示有多有少。但是报表的格式是无法灵活修改的。总不能每次都手动修改报表的格式吧?
[attach]34547[/attach]

[ 本帖最后由 jp777 于 2009-1-14 16:02 编辑 ]
作者: Henry D. Sy    时间: 2009-1-14 16:06
没办法,这就是交叉查询的缺点,更是交叉查询的优点。




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