设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

12下一页
返回列表 发新帖
查看: 2430|回复: 14
打印 上一主题 下一主题

[表] 连续数字的问题,请tmtony老师赐教

[复制链接]
跳转到指定楼层
1#
发表于 2008-3-5 19:12:18 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
对tmtonyf老师在短消息上热情的回复表示衷心的感谢
ID                      订单                 产品序号
50002               S1                   1
50002              S1                     2
50002             S1                      5
50008             S2                      9
50002              S3                     7
50002              S5                     10
50002              S3                     6
结果表(同一ID的记录合并为一条记录)
ID                            订单                 产品序号
50002               S1                                      1-2 5-7 10
50008               S2                                      9
订单字段内容不重要,可以不用处理,关键是产品序号要做成结果表的格式。请tmtony老师及各位高手赐教

[ 本帖最后由 dellnb 于 2008-3-6 00:26 编辑 ]
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
15#
 楼主| 发表于 2008-3-10 20:16:20 | 只看该作者
完全实现了偶所预想的功能,很好很强大

点击这里给我发消息

14#
发表于 2008-3-6 21:50:02 | 只看该作者
我平时都是夜猫子
不知功能是否实现了, 怕会错意思
13#
 楼主| 发表于 2008-3-6 17:59:12 | 只看该作者
站长弄到这么晚,无私的帮助新手精神令人感动

[ 本帖最后由 dellnb 于 2008-3-6 18:07 编辑 ]

本帖子中包含更多资源

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

x
12#
发表于 2008-3-6 08:26:26 | 只看该作者
好敬佩站长

点击这里给我发消息

11#
发表于 2008-3-6 00:57:40 | 只看该作者
做好了,上传给你

本帖子中包含更多资源

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

x

点击这里给我发消息

10#
发表于 2008-3-6 00:54:39 | 只看该作者
Dim rs As ADODB.Recordset
  Set rs = New ADODB.Recordset
  Dim rsResult As ADODB.Recordset
  Set rsResult = New ADODB.Recordset
  Dim lngSeqNo As Long
  Dim lngId As Long
  Dim strOrder As String
  
  Dim strStartNo As String
  Dim strEndNo As String
  
  Dim strAllSeqNo As String
  CurrentProject.Connection.Execute "Delete * from tblOrderResult"
  tblOrderResult.Form.Requery
  rsResult.Open "select * from tblOrderResult", CurrentProject.Connection, adOpenKeyset, adLockOptimistic
  rs.Open "select * from tblOrder order by FId,FOrder,FSeqno", CurrentProject.Connection, adOpenStatic, adLockReadOnly
  strOrder = ""
  lngId = 0
  lngSeqNo = 0
  Do While Not rs.EOF
   
    If lngId = rs("FId") And strOrder = rs("FOrder") Then
        If rs("FSeqNo") - lngSeqNo = 1 Then
            strEndNo = rs("FSeqNo")
        Else
            If strEndNo = "" Then
               strAllSeqNo = strAllSeqNo & " " & strStartNo
            Else
               strAllSeqNo = strAllSeqNo & " " & strStartNo & "-" & strEndNo
            End If
            'strAllSeqNo = strAllSeqNo & " " & strStartNo & "-" & strEndNo
            strStartNo = rs("FSeqNo")
            strEndNo = ""
        End If
    Else
        If strEndNo = "" Then
           strAllSeqNo = strAllSeqNo & " " & strStartNo
        Else
           strAllSeqNo = strAllSeqNo & " " & strStartNo & "-" & strEndNo
        End If
        If lngId <> 0 Then
            rsResult.AddNew
            rsResult("FId") = lngId
            rsResult("FOrder") = strOrder
            rsResult("FSeqNo") = Trim(strAllSeqNo)
            rsResult.Update
            strAllSeqNo = ""
        End If
        lngId = rs("FId")
        strOrder = rs("FOrder")
        
        strStartNo = rs("FSeqNo")
        strEndNo = ""
    End If
    lngSeqNo = rs("FSeqNo")
    rs.MoveNext
  Loop
    If strEndNo = "" Then
       strAllSeqNo = strAllSeqNo & " " & strStartNo
    Else
       strAllSeqNo = strAllSeqNo & " " & strStartNo & "-" & strEndNo
    End If
  If lngId <> 0 Then
            rsResult.AddNew
            rsResult("FId") = lngId
            rsResult("FOrder") = strOrder
            rsResult("FSeqNo") = Trim(strAllSeqNo)
            rsResult.Update
  End If
  tblOrderResult.Form.Requery

点击这里给我发消息

9#
发表于 2008-3-6 00:44:57 | 只看该作者
今晚做好上传给你.
8#
 楼主| 发表于 2008-3-6 00:14:41 | 只看该作者
谢谢老师,您受累

点击这里给我发消息

7#
发表于 2008-3-6 00:05:54 | 只看该作者
处理好了一部分,既有连续,也有不连续的号 比较难处理, 可能要明天继续了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-29 19:08 , Processed in 0.123081 second(s), 35 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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