| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 572 人关注过本帖
标题:[原创]在查询中汇总的问题,附代码 ,请教
只看楼主 加入收藏
suxuemign
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2006-2-9
收藏
 问题点数:0 回复次数:3 
[原创]在查询中汇总的问题,附代码 ,请教

在"发票信息表中",现有4000多条记录。我的程序可以按照5个条件单独或组合查询,如下图按“货物名称”和“业务员”两个条件查询,显示有8条记录符合条件。我的愿望是,将这8条记录的“数量”一项进行汇总,并在这个界面中的一个控件中显示出来。由于我的查询结果RS是随查询条件而变的,我想不能用“SUM(数量)FROM 表”中这样办吧,请您指点迷津!
图片附件: 游客没有浏览图片的权限,请 登录注册

Private Sub fpxxquery_Click()

Dim sql As String

Dim rs As New ADODB.Recordset

Dim bf(5) As Boolean

sql = "select * from fpxxb where "

'判断是否按发票号码进行查询

If checkbox(0).Value Then

If Trim(textfphm.Text) = "" Then

MsgBox "发票号码不能为空!", vbOKOnly + vbExclamation, "警告"

textfphm.SetFocus

Exit Sub

Else

bf(0) = True

'组合查询语句

sql = sql & "fphm='" & Trim(textfphm.Text) & "'"

End If

End If

'判断是否按购货单位进行查询

If checkbox(1) Then

If Trim(cobghdw.Text) = "" Then

MsgBox "购货单位不能为空!", vbOKOnly + vbExclamation, "警告"

cobghdw.SetFocus

Exit Sub

Else

bf(1) = True

If bf(0) Then

'组合查询语句

sql = sql & "and ghdw='" & Trim(cobghdw.Text) & "'"

Else

sql = sql & "ghdw='" & Trim(cobghdw.Text) & "'"

End If

End If

End If

'判断是否选择按货物名称查询

If checkbox(2) Then

If Trim(cobhwmc.Text) = "" Then

MsgBox "货物名称不能为空!", vbOKOnly + vbExclamation, "警告"

cobhwmc.SetFocus

Exit Sub

Else

bf(2) = True

If bf(0) Or bf(1) Then

'组合查询语句

sql = sql & "and hwmc='" & Trim(cobhwmc.Text) & "'"

Else

sql = sql & "hwmc='" & Trim(cobhwmc.Text) & "'"

End If

End If

End If

'判断是否按开票日期进行查询

If checkbox(3) Then '注意:自已的代码!!!!!

bf(3) = True

If bf(0) Or bf(1) Or bf(2) Then

'组合查询语句

sql = sql & "and kprq between '" & Format(dtpkprq1.Value, "YYYY-MM-DD") & "'and '" & Format(dtpkprq2.Value, "YYYY-MM-DD") & "'"

Else

sql = sql & "kprq between '" & Format(dtpkprq1.Value, "YYYY-MM-DD") & "'and '" & Format(dtpkprq2.Value, "YYYY-MM-DD") & "'"

End If

End If

'判断是否按业务员进行查询

If checkbox(4) Then

If Trim(cobywy.Text) = "" Then

MsgBox "请输入业务员!", vbOKOnly + vbExclamation, "警告!"

cobywy.SetFocus

Exit Sub

Else

bf(4) = True

If bf(0) Or bf(1) Or bf(2) Or bf(3) Then

'组合查询语句

sql = sql & "and ywy='" & cobywy.Text & "'"

Else

sql = sql & "ywy='" & cobywy.Text & "'"

End If

End If

End If

'判断是否设置查询方式

If Not (bf(0) Or bf(1) Or bf(2) Or bf(3) Or bf(4)) Then

MsgBox "请设置查询方式!", vbOKOnly + vbExclamation, "警告"

Exit Sub

End If

'查询所有满足条件的内容

sql = sql & " order by bh "

Set rs = transactsql(sql)

If rs.EOF = True Then

MsgBox "没有找到要查询的信息!", vbOKOnly

Else

With fpxxquerygrid

.Rows = 1

Do While Not rs.EOF

.Rows = .Rows + 1

.TextMatrix(.Rows - 1, 0) = rs.Fields(0)

.TextMatrix(.Rows - 1, 1) = rs.Fields(1)

.TextMatrix(.Rows - 1, 2) = rs.Fields(2)

.TextMatrix(.Rows - 1, 3) = rs.Fields(3)

.TextMatrix(.Rows - 1, 4) = rs.Fields(4)

.TextMatrix(.Rows - 1, 5) = rs.Fields(5)

.TextMatrix(.Rows - 1, 6) = rs.Fields(6)

.TextMatrix(.Rows - 1, 7) = rs.Fields(7)

.TextMatrix(.Rows - 1, 8) = rs.Fields(8)

.TextMatrix(.Rows - 1, 9) = rs.Fields(9)

.TextMatrix(.Rows - 1, 10) = rs.Fields(10)

.TextMatrix(.Rows - 1, 11) = rs.Fields(11)

.TextMatrix(.Rows - 1, 12) = rs.Fields(12)

rs.MoveNext

Loop

End With

End If

texthz.Text = rs.RecordCount'显示符合条件的记录数

End Sub

搜索更多相关主题的帖子: 汇总 left align 代码 查询 
2006-02-14 13:56
wsn
Rank: 2
等 级:新手上路
威 望:5
帖 子:321
专家分:0
注 册:2006-2-9
收藏
得分:0 

.TextMatrix(.Rows - 1, 12) = rs.Fields(12)


'循环外sum=0
'这里用一个变量累加就OK

sum=sum+rs!数量

rs.MoveNext

'完了再把sum输出


已婚男人!没事请勿打扰·老婆格言:①不准對她耍酷 ②不准讓她吃醋 ③吵架我要讓步 ④揍我我要挺住⊙⊙
2006-02-14 14:03
suxuemign
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2006-2-9
收藏
得分:0 

真的就这么简单?我简直不敢相信.我一定试一试!谢谢你!@!


知性群落,完美合谐!
2006-02-14 14:12
suxuemign
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2006-2-9
收藏
得分:0 
谢谢你,WSN,在你的指点下,我的程序已经完成了,达到了我的预期目的,真心感谢!!你让我佩服!

知性群落,完美合谐!
2006-02-15 08:37
快速回复:[原创]在查询中汇总的问题,附代码 ,请教
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017670 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved