Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

求助

菜鸟  发表于:2010-05-21 20:07:50  
复制

在一个表中怎么能把多行汇成一行呢!如      
款号 石料 数量    
AB50002 RD1.3MM 304    
AB50002 RD1.7MM 57    
AB50002 RD3.8MM 20    
变为      
款号 石料 数量 石料1 数量1 石料2  数量2
AB50002 RD1.3MM 304 RD1.7MM 57 RD3.8MM  20
      
在一个表中只要款号相同的都汇成一行      

 

Top
煮江品茶 发表于:2010-05-22 06:06:03

1、建立自定义函数:

Function fldSum(ID as string) as string
Dim rs As New adodb.Recordset
Dim ssql As String
Dim i As Long,j As Long
ssql = "select * from 表1 where 款号='" & ID & "'"
rs.Open ssql, CurrentProject.Connection, adOpenKeyset, adLockOptimistic
For i=1 To rs.RecordCount
   For j = 0 To rs.Fields.Count - 1
        fldSum= fldSum & rs.Fields(j).Value & " "
   Next
   rs.movenext
next
rs.Close
end function

 

2、调用自定义函数:
SELECT [款号],fldsum([款号]) as 汇总
FROM 表1
GROUP BY [款号];



feihao 发表于:2010-11-28 12:27:31

你好,非常感谢你的回复!

可否做到不要汇总在一起

款号 石料 数量    
AB50002 RD1.3MM 304    
AB50002 RD1.7MM 57    
AB50002 RD3.8MM 20    
变为      
款号    石料    数量   石料1    数量1   石料2    数量2
AB50002 RD1.3MM 304   RD1.7MM     57   RD3.8MM    20
款号    石料    数量   石料1    数量1   石料2    数量2  这些每个字段都能自动产成一列呢

因为我想把这些内容来打标签,这样排列就比较清晰一些!

谢谢!


 



feihao 发表于:2010-11-28 12:32:58

或者在每一行能加一个回车键!

如:

款号 汇总
AB50002 AB50002 RD1.3MM 304 AB50002 RD1.7MM 57 AB50002 RD3.8mm 20

谢谢!

 



feihao 发表于:2010-11-28 12:33:47

或者在每一行能加一个回车键!导出Excel变成!

如:

款号 汇总
AB50002 AB50002 RD1.3MM 304 AB50002 RD1.7MM 57 AB50002 RD3.8mm 20

谢谢!



feihao 发表于:2010-11-28 12:53:28

或者在每一行能加一个回车键!导出Excel变成!(更正)

如:

款号    汇总
AB50002

RD1.3MM 304

RD1.7MM 57

RD3.8mm 20

应该是这样才行!

 

谢谢!





总记录:5篇  页次:1/1 9 1 :