要显示"单价"的合计,用 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控件,命名Adodc2Adodc2.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
试试吧,全是手写的,所以格式需要你自己校正
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)