设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 2198|回复: 7
打印 上一主题 下一主题

[查询] 如何解决查询里没有符合条件记录的统计

[复制链接]
跳转到指定楼层
1#
发表于 2011-10-19 12:58:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我在主窗里有2个查询子窗,主窗输入查询条件后只有一个查询子窗有记录,每个子窗都有统计,最后加总到主窗体的合计栏位,如果2个子窗都有查询到记录加总没问题,但是只有一个子窗体查到记录就不会加总,子窗的统计我是用" Me.Parent("text51") = DSum("产品", "客户消费记录 查询2")" 将单项合计显示到主窗上,后再将所有的单项合计加总显示在主窗体.
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2011-10-19 13:13:59 | 只看该作者
需要转化数据,例如子窗体1如果没有查询到记录,那他的总计不是“0”,需要转化为数字的0,才能得出正常的结果。
3#
 楼主| 发表于 2011-10-19 13:22:20 | 只看该作者
如何转化为0
4#
发表于 2011-10-19 13:24:18 | 只看该作者
本帖最后由 aslxt 于 2011-10-19 13:26 编辑

例如:
=NZ([表1子窗体].[Form]![Text8],0)+NZ([表2子窗体].[Form]![Text8],0),其中Text8为子窗体的汇总的控件名
5#
 楼主| 发表于 2011-10-19 13:37:33 | 只看该作者
Private Sub Form_Current()
dim rr as string
select count(*) from [客户消费记录 查询2]=rrr 
if rrr=0
Me.Parent("text49") ="0"
Me.Parent("text51") = "0"
Me.Parent("text55") = "0"
eles

Me.Parent("text49") = DSum("手工", "客户消费记录 查询2")
Me.Parent("text51") = DSum("产品", "客户消费记录 查询2")
Me.Parent("text55") = DSum("美容卡", "客户消费记录 查询2")

    Exit Sub
End Sub
我是这样想的,实在对SQL太生疏!别见笑!
6#
发表于 2011-10-19 17:08:29 | 只看该作者
bigjohnny 发表于 2011-10-19 13:37
Private Sub Form_Current()
dim rr as string
select count(*) from [客户消费记录 查询2]=rrr 

Private Sub Form_Current()
dim ctrls as controls
set ctrls=Me.Parent.controls
ctrls("text49").value = DSum("手工", "客户消费记录 查询2")
ctrls("text51").value = DSum("产品", "客户消费记录 查询2")
ctrls("text55").value = DSum("美容卡", "客户消费记录 查询2")
ctrls("合计").value=nz(ctrls("text49").value,0)+nz(ctrls("text51").value,0)+nz(ctrls("text55").value,0)
End Sub
7#
 楼主| 发表于 2011-10-20 09:20:52 | 只看该作者
在两位指导下,一晚的研究终于给弄通,我还想到去判断有没有记录,都是画蛇添足,合计栏里没有值就给他Nz直接赋予数值0!要谢谢两位的指导,另外这样的直接用Nz赋予数值有没有其它要注意的地方或在报表打印上有没有问题!
8#
 楼主| 发表于 2011-10-19 20:43:52 | 只看该作者
试了各位的方式问题还是存在,主要是查询2没有符合的记录,子窗没有一笔资料时都不能统计
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-5-22 18:33 , Processed in 0.113434 second(s), 31 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表