如何使用VB对Access分类汇总后返回结果!谢谢!
时间:2009-08-17
来源:互联网
请问如何使用VB对Access数据库中的各项进行分类汇总~然后再生成一个新的数据库显示结果或直接在原数据库文件中生成一条?~
例如:apple 1
orange 2
orange 2
apple 3
orange 2
变成 apple 4
orange 6
谢谢!
作者: 乱堂步 发布时间: 2009-08-17
作者: sgrshh29 发布时间: 2009-08-17
strSQL ="select sum(数量) from 表 group by 品名
然后把他放在Command1_Click()中
但是如何把分类汇总的结果储存起来生成新的文件或新的记录呢~?
谢谢
作者: 乱堂步 发布时间: 2009-08-17
select 品名, sum(数量) as 品种数量 into 汇总表 from 表 group by 品名;
作者: sgrshh29 发布时间: 2009-08-17
我这里用的是Access97的文件~
Private Sub Command1_Click()
'insert into database
Dim strSQL As String
Dim strSQL1 As Long
Dim strErr As String
Dim iRet As String
Dim rs As New ADODB.Recordset
iRet = SQL_Connect1(App.Path & "WorkTime.mdb", strErr)
iRet = SQL_Open1(strErr)
strSQL = "select Sum(Time) from Data group by Task"
End Sub
这里和原数据库的连接已经建立好了~你这里汇总表的文件连接在哪里进行定义呢?~
新增一个表是新增一个文件吗?~应该怎么写呢~谢谢~
作者: 乱堂步 发布时间: 2009-08-17
作者: sgrshh29 发布时间: 2009-08-17
作者: 乱堂步 发布时间: 2009-08-17
从你的描述中,看不出你究竟想要做什么.你是要得到那个结果显示在vb中?还是要把那个结果生成新的表?还是生成什么其它文件(比如txt、word、excel等)?
下面的实例给出一个将查询结果直接打印到vb的窗体上,文件下载后解压后,vb和mdb需在同一个目录下。

[ 本帖最后由 sgrshh29 于 2009-8-18 14:33 编辑 ]
作者: sgrshh29 发布时间: 2009-08-18
作者: nowarmy 发布时间: 2009-09-18
作者: zss427607 发布时间: 2009-09-18
引用:
原帖由 sgrshh29 于 2009-8-18 10:16 发表一般做法,在vb中创建一个ado,连接到access数据库.定义一个sql字符串,用ado执行这个字符串,就可以得到你要的结果了.剩下的问题就是如何把这个结果显示出来让自己可以看到这个结果.
从你的描述中,看不出你究竟想要做 ...
附件

2009-12-14 23:23, 下载次数: 7
作者: Scarlett_88 发布时间: 2009-12-14
Dim cnn As Object
Dim rst As Object
Dim xls As New Excel.Application
Private Sub Command1_Click()
Dim strsql As String
Dim n As Integer
strsql = "select 店名, sum(加工费) AS 加工费 from 加工统计 group by 店名"
rst.Open strsql, cnn, 3, 3
xls.Workbooks.Open App.Path & "\统计结果.XLS"
xls.Visible = True
xls.Sheets(1).Cells(1, 1) = "店名"
xls.Sheets(1).Cells(1, 2) = "金额合计"
xls.Sheets(1).Cells(2, 1).CopyFromRecordset rst
End Sub
Private Sub Form_Load()
Set cnn = CreateObject("adodb.connection")
Set rst = CreateObject("adodb.recordset")
cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\加工统计_be.mdb"
End Sub
Private Sub Form_Unload(Cancel As Integer)
rst.Close
Set xls = Nothing
Set rst = Nothing
Set cnn = Nothing
End Sub
作者: Scarlett_88 发布时间: 2009-12-14
xls.Sheets(1).Range("A1:B1") = Application.Transpose(Array("店名", "金额合计"))
来代替
xls.Sheets(1).Cells(1, 1) = "店名"
xls.Sheets(1).Cells(1, 2) = "金额合计"
作者: Scarlett_88 发布时间: 2009-12-14
作者: monkeywyq 发布时间: 2010-10-26
作者: monkeywyq 发布时间: 2010-10-26
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28