Office中国论坛/Access中国论坛
标题:
如何实现查询中的字段合并
[打印本页]
作者:
linjingdr
时间:
2009-4-14 23:44
标题:
如何实现查询中的字段合并
想通过查询或代码把表中相同类别的字段合并起来。
作者:
asklove
时间:
2009-4-15 08:32
查询SQL怎么写我不太会
我是用函数,你看看是不是这样的效果
作者:
shitou1ge
时间:
2009-4-15 08:47
学习啊
作者:
linjingdr
时间:
2009-4-15 14:51
本帖最后由 linjingdr 于 2009-4-16 22:00 编辑
谢谢asklove 的帮助!非常好的解决方法!成功应用
作者:
xhbqt
时间:
2009-5-7 01:56
非常好的解决方法!
作者:
RickyZjw-3721
时间:
2009-5-11 21:59
不错,函数比写SQL语句更简洁、高效,学习了!
作者:
夕颜S
时间:
2009-6-22 21:59
期待
作者:
lurong
时间:
2009-6-22 23:12
正需要,谢谢!
作者:
红尘如烟
时间:
2009-6-23 00:34
本帖最后由 红尘如烟 于 2009-6-23 00:41 编辑
写了一个通用函数:
Public Function JoinField(TableName As String, FieldName As String, WhereCondition As String, _
Optional Delimiter As String = " ") As String
On Error GoTo ErrorHandler
'TableName 必需,表名
'FieldName 必需,要合并记录的字段名
'WhereCondition 必需,分组条件表达式
'Delimiter 可选,分隔符,默认为空格符
Dim rst As New ADODB.Recordset
Dim strSQL As String
strSQL = " SELECT " & FieldName & _
" FROM " & TableName & _
" WHERE " & WhereCondition & _
" ORDER BY " & FieldName
rst.Open strSQL, CurrentProject.Connection, adOpenKeyset, adLockReadOnly
Do Until rst.EOF
If JoinField = "" Then
JoinField = rst(FieldName)
Else
JoinField = JoinField & Delimiter & rst(FieldName)
End If
rst.MoveNext
Loop
rst.Close
Set rst = Nothing
ExitFunction:
Exit Function
ErrorHandler:
MsgBox Err.Number & Err.Description
Resume ExitFunction
End Function
复制代码
在查询中的运用实例:
SELECT DISTINCT姓名,处方名, JoinField("表1","药物","[姓名]='" & [姓名] & "' AND [处方名]='" & [处方名] & "'",",") AS 药物
FROM 表1
ORDER BY 姓名,.处方名;
复制代码
作者:
风啸啸
时间:
2009-8-5 19:45
学习
作者:
老人与海
时间:
2009-8-5 19:55
厉害啊!
作者:
wzh
时间:
2009-8-6 14:05
很实用的例子,非常感谢!!
作者:
wzh
时间:
2009-8-6 14:05
很实用的例子,非常感谢!!
作者:
alink
时间:
2009-8-8 23:00
真是遇到高高手了!
作者:
iamee
时间:
2009-8-18 13:32
很好的解决方法
作者:
tomtomtlv
时间:
2009-8-23 13:50
如果数据多了就很慢的,半天都不会动有更多的方法吗
作者:
hr0713
时间:
2010-3-2 16:04
不错,学习
作者:
hr0713
时间:
2010-3-3 07:55
不错,学习
作者:
michael100
时间:
2010-4-13 14:06
学习中
作者:
michael100
时间:
2010-4-13 14:07
不过如果字段是数字类型,怎样合并,
作者:
dbbygzy
时间:
2010-4-13 16:13
学习
作者:
青胜于蓝
时间:
2011-10-31 10:32
学习了
作者:
pq318
时间:
2011-10-31 12:11
呵呵高手还是多啊
作者:
redtxd
时间:
2016-8-11 15:14
谢谢楼主分享,学习中
欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/)
Powered by Discuz! X3.3