当前位置:数据库 > Access >>

ACCESS数据库 SQL汇总问题

有表如下: 一级 二级 易做图 A B 我 A C 你 A B 他 想用SQL得到结果如下: A,B 我,他 A,C 你 也就是按照一级和二级汇总后,把易做图内容合在一起。
答案:按你的表格框架编写了如下代码,测试可以实现。
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
其他:可以写一个函数,对这种数据处理一下,然后得出结果。 可以写一个函数,对这种数据处理一下,然后得出结果。 写一个sql语句,对这种数据处理一下,然后得出结果

上一个:求与win7相兼容的免费access2003安装包
下一个:谁有access 2003安装软件? 完全破解版 ,一定要能下载能安装能使用的,请发到yanglei11970@qq.com

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,