Office中国论坛/Access中国论坛
标题:
[求助]如何在Access里合并文本?
[打印本页]
作者:
yiyucoco
时间:
2011-7-29 15:32
标题:
[求助]如何在Access里合并文本?
D订单 货名
1 1101 ACCESS
2 1102 ACCESS
3 1103 ACCESS
4 1104 EXCEL
5 1105 EXCEL
我想把上面的记录变成:
ID 订单 货名
1.2.3 1101.1102.1103 ACCESS
4.5 1104.1105 EXCEL
应该怎么做呢?请教~
作者:
roych
时间:
2011-7-29 16:05
用ADO打开记录集,再用For循环写入,详细可搜索“来回折腾”。
作者:
yiyucoco
时间:
2011-7-29 16:35
有没有SQL语句可以实现?
因为我希望做成的结果可以生成一个查询表,我还要用这个表来做报表源数据呢。。。
作者:
roych
时间:
2011-7-29 17:30
本身是必须要建立一个表才能用ADO写入的(总不能写在原表上吧?)。只是这样做,统计起来并不太顺利吧?
实例先学着,不懂的地方再提问。
作者:
yiyucoco
时间:
2011-7-29 17:41
我泪目了。。。完全看不懂。还没到能看懂的层次。
前天刚买了书,我先研究一下争取能看懂那些代码不懂再来问好了。
作者:
zhuyiwen
时间:
2011-7-29 19:58
自定义函数 - 字段字符串聚合连接函数 DCONCAT
http://www.office-cn.net/thread-69179-1-1.html
作者:
zhuyiwen
时间:
2011-7-29 21:53
回复
zhuyiwen
的帖子
我也做了一个DCountact
Public Function DContact(expr As String, domain As String, grpFld As String, grpValue As Variant, Optional sp As String = ",") As String
Dim SQL As String
Dim vType As String
vType = TypeName(grpValue)
If vType = "String" Or vType = "Date" Then
SQL = "SELECT " & expr & " FROM " & domain & " WHERE " & grpFld & " = '" & grpValue & "'"
Else
SQL = "SELECT " & expr & " FROM " & domain & " WHERE " & grpFld & " = " & grpValue
End If
Dim rs As Recordset
Set rs = CurrentDb().OpenRecordset(SQL)
Dim s As String
Dim i As Long, n As Long, c As Long
n = rs.Fields.Count
Do While Not rs.EOF()
For i = 0 To n - 1
If c = 0 Then
s = rs(i)
Else
s = s & sp & rs(i)
End If
c = c + 1
Next
rs.MoveNext
Loop
rs.Close
Set rs = Nothing
DContact = s
End Function
复制代码
假设把你的数据存放在 表1 中,则做如下查询:
SELECT DContact('ID','表1','货名',货名) AS ID, DContact('订单','表1','货名',货名) AS 订单, 货名
FROM (SELECT DISTINCT 货名 FROM 表1) AS A;
复制代码
可得如下结果:
[attach]46224[/attach]
作者:
yiyucoco
时间:
2011-8-1 11:36
FROM (SELECT DISTINCT 货名 FROM 表1) AS A
这个A是什么?
还有,DContact('ID','表1','货名',货名)
我看了您教的DCONCAT函数,字段是:DCONCAT(expr, domain, [criteria],[delimiter])
即DCONCAT(字段名, 表名,条件,分隔符)
所以我就迷惑了。。。后面两个货名是什么意思啊?
啊啊。。这个对我来说太难了。。能不能求QQ一步一步指教?谢谢啦~~
作者:
roych
时间:
2011-8-1 16:14
1、A表示的是将获取的查询命名为A。有时候不想做太多查询,想嵌套子查询进去的话,往往通过临时命名一下(按这个实例,通过分组查询应该可以简化一下,不过暂时没调试,你可以先试下)。
2、这个自定义函数可能还没达到你看懂的时候。第一个是需要显示的查询字段名,第二个是查询数据源的表名称,第三个是查询条件的字段名,第四个是查询条件值(即货名:Access、Excel等等)。
这个要有些基础才好说(貌似在打击你……请见谅),至少要对ADO和For循环等语句有所了解,讲起来才方便。
作者:
tz-chf
时间:
2011-8-3 11:44
做记录集,按货名排序,再循环,如果你会操作记录集的话。
欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/)
Powered by Discuz! X3.3