Office中国论坛/Access中国论坛
标题:
条件统计符合条件的内容,汇总到指定地方
[打印本页]
作者:
xyh2732
时间:
2011-7-26 21:46
标题:
条件统计符合条件的内容,汇总到指定地方
[attach]46208[/attach]请问如何可以根据下面子窗体的查询结果统计出“部门”为作废的发票号,如果有多个号码用“/”区分。比如发票号查询00000001至00000020.在作废发票号码填入00000013/000000018
作者:
yanghua1900363
时间:
2011-7-26 22:05
你是不是想实现“统计出以部门为单位的作废发票号码”?
作者:
xyh2732
时间:
2011-7-26 22:22
回复
yanghua1900363
的帖子
我想统计出部门包含“作废”的发票号汇总,有多个的就用“/”区分
作者:
roych
时间:
2011-7-26 23:39
本帖最后由 roych 于 2011-7-27 13:44 编辑
又是你啊?上次好像提示过,查询部分参考刘小军常用窗体查询实例,统计部分参考TodayNew的来回折腾……嗯,看来统计部分还不会。把以下这段代码贴到你的按钮里(网速不好,所以不上传附件了):
Dim NumIvc As String'定义发票号码
On Error Resume Next '错误处理。
db.QueryDefs.Delete "test" '删除旧查询,并创建新查询。
Set qdf = db.CreateQueryDef("test", "select * from 发票封面查询 where " & StrWhere)
Set rs = db.OpenRecordset("select 发票号码 from test where 作废=true")'打开记录集
Do Until rs.EOF
NumIvc = NumIvc & rs(0) & "/" '循环写入NumIvc,获取发票号码
rs.MoveNext
Loop
NumIvc = Left(NumIvc, Len(NumIvc) - 1) '去掉最后一个斜杠,写入控件,并关闭记录集。
Me.Text125.Value = NumIvc
rs.Close
复制代码
此外,一、请把里面的作废的“文本”字段类型改为“是否”。——这是昨晚忘了说的事情。二、建议不要这样定义: dim rs As RecordSet,因为同时引用ADO和DAO时很容易出现冲突(这次没有问题是因为优先级是DAO)。
今天网速稍稍好些,总算可以上传了:
[attach]46209[/attach]
作者:
xyh2732
时间:
2011-7-27 09:47
回复
roych
的帖子
感谢你的帮忙,但是我把旧的查询删除贴上你的代码,不知道为什么就死机不动了。可否传个附件看看,谢谢!
作者:
roych
时间:
2011-7-27 11:19
我不知道你删除哪个旧查询(该不会是你子窗体的数据源吧?)。如果不想创建查询就这样改下:
'打开记录集
If StrWhere = "" Then
strSQL = "select 发票号码 from 汇总资料 where 作废=true"
Else
strSQL = "select 发票号码 from 汇总资料 where 作废=true and " & StrWhere
End If
Set rs = db.OpenRecordset(strSQL)
'循环写入NumIvc,获取发票号码
Do Until rs.EOF
NumIvc = NumIvc & rs(0) & "/"
rs.MoveNext
Loop
'去掉最后一个斜杠
NumIvc = Left(NumIvc, Len(NumIvc) - 1)
Me.Text125.Value = NumIvc
rs.Close
复制代码
作者:
xyh2732
时间:
2011-7-27 12:31
回复
roych
的帖子
感谢ROYCH老师的帮忙,还有点问题不明白。为什么我不填入发票号运行查找系统就会死机?有办法解决吗?
作者:
roych
时间:
2011-7-27 13:24
我测试了没有问题啊。也许是你的电脑问题吧,
不过还是稍稍改了下代码,你测试下更新后的附件,看看还有没有问题。
作者:
yanghua1900363
时间:
2011-7-28 08:35
尽管暂时用不到,还是要先谢谢ROYCH老师了!
欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/)
Powered by Discuz! X3.3