设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

[Access本身] 条件统计符合条件的内容,汇总到指定地方

[复制链接]
跳转到指定楼层
1#
发表于 2011-7-26 21:46:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
请问如何可以根据下面子窗体的查询结果统计出“部门”为作废的发票号,如果有多个号码用“/”区分。比如发票号查询00000001至00000020.在作废发票号码填入00000013/000000018

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2011-7-26 22:05:13 | 只看该作者
你是不是想实现“统计出以部门为单位的作废发票号码”?
3#
 楼主| 发表于 2011-7-26 22:22:32 | 只看该作者
回复 yanghua1900363 的帖子

我想统计出部门包含“作废”的发票号汇总,有多个的就用“/”区分
4#
发表于 2011-7-26 23:39:25 | 只看该作者
本帖最后由 roych 于 2011-7-27 13:44 编辑

又是你啊?上次好像提示过,查询部分参考刘小军常用窗体查询实例,统计部分参考TodayNew的来回折腾……嗯,看来统计部分还不会。把以下这段代码贴到你的按钮里(网速不好,所以不上传附件了):

  1.      Dim NumIvc As String'定义发票号码
  2.     On Error Resume Next '错误处理。
  3.     db.QueryDefs.Delete "test" '删除旧查询,并创建新查询。
  4.     Set qdf = db.CreateQueryDef("test", "select * from 发票封面查询 where " & StrWhere)
  5.     Set rs = db.OpenRecordset("select 发票号码 from test where 作废=true")'打开记录集
  6.         Do Until rs.EOF
  7.         NumIvc = NumIvc & rs(0) & "/"  '循环写入NumIvc,获取发票号码
  8.         rs.MoveNext
  9.         Loop
  10.     NumIvc = Left(NumIvc, Len(NumIvc) - 1)  '去掉最后一个斜杠,写入控件,并关闭记录集。
  11.     Me.Text125.Value = NumIvc
  12.     rs.Close
复制代码
此外,一、请把里面的作废的“文本”字段类型改为“是否”。——这是昨晚忘了说的事情。二、建议不要这样定义: dim rs As RecordSet,因为同时引用ADO和DAO时很容易出现冲突(这次没有问题是因为优先级是DAO)。

今天网速稍稍好些,总算可以上传了:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
5#
 楼主| 发表于 2011-7-27 09:47:24 | 只看该作者
回复 roych 的帖子

感谢你的帮忙,但是我把旧的查询删除贴上你的代码,不知道为什么就死机不动了。可否传个附件看看,谢谢!
6#
发表于 2011-7-27 11:19:49 | 只看该作者
我不知道你删除哪个旧查询(该不会是你子窗体的数据源吧?)。如果不想创建查询就这样改下:
  1. '打开记录集
  2.     If StrWhere = "" Then
  3.     strSQL = "select 发票号码 from 汇总资料 where 作废=true"
  4.     Else
  5.     strSQL = "select 发票号码 from 汇总资料 where  作废=true and " & StrWhere
  6.     End If
  7.     Set rs = db.OpenRecordset(strSQL)
  8.     '循环写入NumIvc,获取发票号码
  9.         Do Until rs.EOF
  10.         NumIvc = NumIvc & rs(0) & "/"
  11.         rs.MoveNext
  12.         Loop
  13.     '去掉最后一个斜杠
  14.     NumIvc = Left(NumIvc, Len(NumIvc) - 1)
  15.     Me.Text125.Value = NumIvc
  16.     rs.Close
复制代码
7#
 楼主| 发表于 2011-7-27 12:31:32 | 只看该作者
回复 roych 的帖子

感谢ROYCH老师的帮忙,还有点问题不明白。为什么我不填入发票号运行查找系统就会死机?有办法解决吗?
8#
发表于 2011-7-27 13:24:11 | 只看该作者
我测试了没有问题啊。也许是你的电脑问题吧,不过还是稍稍改了下代码,你测试下更新后的附件,看看还有没有问题。

点评

谢谢ROYCH老师帮忙,没问题了。  发表于 2011-7-27 19:43
9#
发表于 2011-7-28 08:35:37 | 只看该作者
尽管暂时用不到,还是要先谢谢ROYCH老师了!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-30 04:56 , Processed in 0.107892 second(s), 38 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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