设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

[查询] 求助分组问题

[复制链接]
跳转到指定楼层
1#
发表于 2009-11-13 08:53:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
怎么把表jindu实现附件中的表结果功能
jindu表
编号  序号  位置
a       1      镀铜
a       2      机加
a       3      镀铜
b       1a    机加
b       2b    机加
b       3      镀铜

结果表
编号    序号   位置
a       1.3     镀铜
a        2       机加
b       1a.2b  机加
b       3         镀铜
就是把编号和位置分组,然后序号按顺序排列好,请教如何实现呢?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2009-11-13 17:33:14 | 只看该作者
本帖最后由 koutx 于 2009-11-13 17:37 编辑

建一空白查询,将下面红色Sql代码贴进去:
SELECT jindu.编号, jindu.位置, pl([编号],[位置]) AS 序号
FROM jindu
GROUP BY jindu.编号, jindu.位置;

照下面代码建一模块函数
Function pl(bh As String, wz As String) As String
Dim str As String
str = "SELECT jindu.* FROM jindu WHERE jindu.编号 = '" & bh & "' AND jindu.位置 = '" & wz & "'"
Dim rs As ADODB.Recordset
Set rs = New ADODB.Recordset
pl = ""
rs.Open str, CurrentProject.Connection, adOpenStatic, adLockBatchOptimistic rs.MoveFirst
For j = 1 To rs.RecordCount
      If rs.Fields("编号") = bh And rs.Fields("位置") = wz Then
           pl = pl & rs.Fields("序号") & ","
      End If
      rs.MoveNext
Next
      pl = Left(pl, Len(pl) - 1)
End Function

查询效果如下图示:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
3#
 楼主| 发表于 2009-11-14 11:05:10 | 只看该作者
谢谢koutx问题解决!感谢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-7 00:16 , Processed in 0.079632 second(s), 27 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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