在excel中,对数据库分类汇总之前,首先要进行的 *** 作是“排序”,排序的目的是使相同字段的记录(数据行)排列在一起,以便进行分类汇总。
*** 作方法:
1、首先选中需要进行分类汇总 *** 作的数据单元格。
2、点击排序按钮选择“升序”或者“降序”排列,将相同数据排在一起。
3、然后点击“数据”中的“分类汇总”选项。
4、在打开的对话框中选择需要分类汇总的项目,并点击“确定”。
5、选中的单元格区域即可根据选择的项目进行分类汇总展示。
一、事务故障
某个事务在运行过程中由于种种原因未运行至正常终止点,事务故障的常见原因,输入数据有误
运算溢出,违反了某些完整性限制发生锁死。
二、系统故障
由于某种原因造成整个系统的正常运行突然停止,致使所有正在运行的事务都以非正常方式终止。
发生系统故障时,内存中数据库缓冲区的信息全部丢失,但存储在外部存储设备上的数据未受影响 。
三、介质故障
硬件故障使存储在外存中的数据部分丢失或全部丢失 ,介质故障比前两类故障的可能性小得多,但破坏性最大。
按你的表格框架编写了如下代码,测试可以实现。Private Sub Command0_Click()
'原表名称“表1”,查询结果生成表名称“表2”
'遇到错误执行下一句代码
On Error Resume Next
'定义变量
Dim dbs As Database
Dim rsy As Recordset
Dim rsx As Recordset
Dim sj As String
Set dbs = CurrentDb '当前数据库
'如果表2存在则删除
If DCount("[Name]", "MSysObjects", "[Name]='表2'") = 1 Then DoCmd.DeleteObject acTable, "表2"
'建立汇总表2
dbs.Execute "SELECT 表1.一级, 表1.二级, Null AS 三级 INTO 表2 FROM 表1 GROUP BY 表1.一级, 表1.二级"
'打开表2记录集
Set rsx = dbs.OpenRecordset("select * from [表2]")
'读取表2记录集
With rsx
'如果有记录,遍历表2
If Not (.EOF And .BOF) Then
'首项记录
.MoveFirst
While Not .EOF
sj = ""
'查询表1中与表2当前记录相符的记录集
Set rsy = dbs.OpenRecordset("select * from [表1] WHERE 一级='" &rsx(0) &"' and 二级='" &rsx(1) &"'")
With rsy
.MoveFirst
While Not .EOF
If sj = "" Then
sj = rsy(2)
Else
sj = sj &"," &rsy(2)
End If
.MoveNext
Wend
End With
'向表1的三级字段追加数据
dbs.Execute "UPDATE 表2 SET 三级 = '" &sj &"' WHERE 一级='" &rsx(0) &"' and 二级='" &rsx(1) &"'"
'下一记录
.MoveNext
Wend
End If
End With
End Sub
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)