Access交流中心

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

查询表变成并排在同一栏

linzixi  发表于:2011-09-29 17:24:04  
复制


 

各位大侠:

             如何将表一中加工代号一样的如“H”后面栏位A中资料在查询表变成并排在同一栏中,要如何设定

 

 

Top
linzixi 发表于:2011-09-29 17:24:26

表一 

制令号码   加工   A                                                 

DRH9011   H     54*550TLR2543网布 军蓝                   

DRH9011   H     54"3MM850黑泡棉
DRH9011   H     54"28GTC
DRH9011          54"210D 
白色  16MM宽(直截)             
DRH9011   I      
真美布 军蓝                                

 DRH9011   I      EVA 白色 成型垫



linzixi 发表于:2011-09-29 17:24:49

查询2                                           

制令号码    加工    如何设定
DRH9011   H      54*550TLR2543
网布 军蓝+ 54"3MM850黑泡棉+54"28GTC
DRH9011           54"210D 
白色  16MM宽(直截)

DRH9011   I       真美布 军蓝+EVA 白色 成型垫



王樵民 发表于:2011-09-30 07:15:45

设计一个函数即可

 

Function hb(bm, hm, jg)
Dim dbs As Database  '定义引用数据库的变量。
Dim rst As DAO.Recordset '定义引用记录集的变量。
Dim sql1 As String
'On Error GoTo err1
'使用DAO操作打开明细记录集
Set dbs = CurrentDb()
If Nz(jg) = "" Then
 sql1 = "Select * from " & bm & " where 制令号码='" & hm & "' and 加工 Is Null"
Else
 sql1 = "Select * from " & bm & " where 制令号码='" & hm & "' and 加工='" & Nz(jg) & "'"
End If
Set rst = dbs.OpenRecordset(sql1)   '设置记录集
s = ""
While Not rst.EOF
 s = s & rst("A") & "+"
 If Not rst.EOF Then rst.MoveNext
Wend
hb = Mid(s, 1, Len(s) - 1)
End Function
然后再设计一个查询,调用该函数即可

SELECT 表1.制令号码, 表1.加工, hb("表1",[制令号码],nz([加工])) AS 合并
FROM 表1
GROUP BY 表1.制令号码, 表1.加工, hb("表1",[制令号码],nz([加工]));

点击下载此附件

linzixi 发表于:2011-10-03 08:56:42

非常感谢王老师,佩服



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