设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 5155|回复: 9
打印 上一主题 下一主题

[查询] 如何在查询中实现多行结果的合并显示

[复制链接]
1#
发表于 2014-12-24 12:41:24 | 显示全部楼层
只能写个字符串累加函数来解决
Leijia:
        Dim strRsFilter As String
        Dim strLeijia As String
        With frm.RecordsetClone
                If .RecordCount < 1 Then GoTo exitFunction
                .MoveFirst
                Do Until .EOF
                        strLeijia = ""
                        strRsFilter = ""
                        For lngfield = 1 To UBound(arrField)
                                If arrField(lngfield, 3) = "chr" Then arrField(lngfield, 3) = "'"
                                strRsFilter = strRsFilter & arrField(lngfield, 5) & arrField(lngfield, 1) & arrField(lngfield, 2) & arrField(lngfield, 3) & .Fields(arrField(lngfield, 4)) & arrField(lngfield, 3)
                        Next
                        rs.Filter = strRsFilter
                        If rs.RecordCount >= 1 Then
                        Do Until rs.EOF
                                strLeijia = strLeijia & rs.Fields(arrField(0, 4)) & IIf(arrField(0, 5) = "vbcrlf", vbCrLf, arrField(0, 5))
                                rs.MoveNext
                        Loop
                        .Edit
                        .Fields(arrField(0, 1)) = strLeijia
                        .Update
                        End If
                        .MoveNext
                Loop
                frm.Form.Requery
        End With
        rs.Close
2#
发表于 2014-12-24 13:04:45 | 显示全部楼层
还有一种变通方法用一个transform变形查询,然后再正常查询
3#
发表于 2014-12-24 13:08:29 | 显示全部楼层
SchoolClass        StudentName        Fenshu
1        a1        1
2        a2        1
3        a3        1
4        a4        1
1        b1        2
2        b2        2
3        b3        2
4        b4        2
1        c1        3
2        c2        3
3        c3        3
1        d1        4
2        d2        4
3        f1        5
4        f2        6
然后做一个变形查询
TRANSFORM First(StudentName & ',') AS Expr1
SELECT fenshu.SchoolClass
FROM fenshu
GROUP BY fenshu.SchoolClass
PIVOT 'F' & Fenshu;
然后再从变形查询里把字段合并
select Schoolclass,f1&f2&f3&f4&f5&f6 from 变形查询
结果如下
Schoolclass        Expr1001
1        a1,b1,c1,d1,
2        a2,b2,c2,d2,
3        a3,b3,c3,f1,
4        a4,b4,f2,
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-5-17 04:50 , Processed in 0.095461 second(s), 25 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表