VB 将数据库里的某列数的总和

VB 将数据库里的某列数的总和,第1张

不知道你现在显示在界面上的数据是"查询"的结果还是整个数据库的记录?

要显示"单价"的合计,用 SQL语句就可以了.如:

假定数据表名:商品信息,字段名:单价

Dim rs As ADO.Recordset

Dim mySQL As String

'如果没有查询条件

mySQL="Select Sum(单价) From 商品信息"

'如果有查询条件

mySQL="Select Sum(单价) From 商品信息 WHERE ("+查询条件+")"

'adoConn 是数据库的连接

rs.Open mySQL,adoConn,adOpenDynamic, adLockOptimistic

'要显示的文本框为 Text1

Text1=rs(0)

添加一个Adodc控件,命名Adodc2

Adodc2.ConnectionString = "provider=microsoft.jet.oledb.4.0data source=" &App.Path &"\vb_data.mdb"

Adodc2.RecordSource = "select sum(营业收入) as 营业收入和 from zhangdan"

Adodc2.Refresh

Label6.Caption = Adodc2.Recordset.Fields("营业收入和")

在部件中选择ADODC控件添加到窗体上,或者在工程菜单中引用ADO对象都可以

下面开始写代码(我以ADO对象为例):

dim con as new adodb.connection '声明一个数据连接对象变量,用于打开数据库

dim rs as new adodb.recordset '声明一个数据集对象变量,用于打开数据表

private sub form_load()'在窗体加载事件中,打开数据连接对象

con.open "Provider=Microsoft.Jet.OLEDB.4.0data source=AFC.mdbpersist security info=false"

text1.text=""

end sub

Private Sub command1_Click() '单击查询按钮事件,完成计算数据列的和

if rs.state<>adstateclosed then rs.close

rs.open "select 票价 from 数据表名",con,1,3

if rs.eof=false and rs.bof=false then

rs.movefirst

while not rs.eof

if text1.text="" then

text1.text=rs.fields("票价")

else

text1.text=cdbl(text1.text)+rs.fields("票价")

end if

rs.movenext

wend

end if

end sub

试试吧,全是手写的,所以格式需要你自己校正


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9863096.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存