【Access思路分享】合并多条记录为一个记录-ligy118
Access软件网QQ交流学习群(群号码198465573),欢迎您的加入!
首页 >技术文章> Access数据库-模块/函数/VBA


【Access思路分享】合并多条记录为一个记录

发表时间:2021/12/18 15:57:20 评论(0) 浏览(6875)  评论 | 加入收藏 | 复制
   
摘 要:合并多个记录为一条记录。
正 文:

      合并多条记录为一个记录示例见:

[案例分享]分析物料在不同清单中的分布情况【Access软件网】 (accessoft.com)


图   示:

点击图片查看大图


首先通过查询,对待合并表进行排序

点击图片查看大图


然后遍历查询,当[物料代码]有变化时在新建的结果表中新增一行,当[物料代码]无变化时编辑相应数据(合并记录)


源   码:

点此查看代码


代   码:

点击图片查看大图


Private Sub Command7_Click()
 Dim rs As New ADODB.Recordset
 Dim rsDes As New ADODB.Recordset
 
 Dim MID As String
 MID = "---------"
 Dim Model As String
 Model = "---------"
 
 Dim ModelQty As Long
 Dim strModel As String
 
 Dim MIDn As Long
 Dim ModelnQty As Long
 Dim strModeln As String
 Dim strModelnQty As String

 CurrentDb.Execute "delete * from tbl物料代码运用机型分析 "
 rsDes.Open "select * from tbl物料代码运用机型分析", CurrentProject.Connection, adOpenKeyset, adLockOptimistic
 rs.Open "select * from qry产品清单汇总", CurrentProject.Connection, adOpenKeyset, adLockOptimistic
 
 Do While Not rs.EOF
    
    
    If MID <> rs("物料代码") Then
        '不同的MID(新物料),创建一条新的记录
        MID = rs("物料代码")
        Model = rs("机型")
        
        ModelQty = 1
        strModel = Model
        
        MIDn = 1
        ModelnQty = 1
        strModeln = Model
        strModelnQty = strModeln & ",1 "

        rsDes.AddNew
        rsDes("物料代码") = MID
        rsDes("图号国标号型号") = rs("图号国标号型号")
        rsDes("名称规格") = rs("名称规格")
        rsDes("运用机型数量") = ModelQty
        rsDes("运用机型") = strModel
        rsDes("总数量") = MIDn
        rsDes("各机型数量") = strModelnQty
    ElseIf Model <> rs("机型") Then
        '同MID,不同model(新机型)
        Model = rs("机型")
        
        ModelQty = ModelQty + 1
        strModel = strModel & " | " & Model
        
        MIDn = MIDn + 1
        ModelnQty = 1
        strModeln = strModelnQty & " | " & Model
        strModelnQty = strModeln & ",1"

        rsDes("运用机型数量") = ModelQty
        rsDes("运用机型") = strModel
        rsDes("总数量") = MIDn
        rsDes("各机型数量") = strModelnQty
    Else
        '同MID,同model(没新东西)
        
        MIDn = MIDn + 1
        ModelnQty = ModelnQty + 1
        strModelnQty = strModeln & "," & ModelnQty


        rsDes("总数量") = MIDn
        rsDes("各机型数量") = strModelnQty
    End If

    rsDes.Update
    rs.MoveNext
 Loop
 rs.Close
 rsDes.Close
 DoCmd.OpenTable "tbl物料代码运用机型分析", , acReadOnly
End Sub

Access软件网交流QQ群(群号:198465573)
 
 相关文章
[access查询]通过查询进行文本拆分与合并  【贺德才  2007/10/17】
Access合并表中各字段信息示例;Access合并字段连接数据的...  【十段  2008/6/13】
【access小品】来回折腾--数据分解与合并  【todaynew  2011/1/25】
【Access示例】--合并文本框数据  【宏鹏  2019/1/2】
Excel制作的《合并打散》源码示例分享,合并打散自定义数组函数学...  【欢乐小爪  2021/6/10】
Access主表和明细表按顺序合并在一个查询中  【易勋  2021/10/21】
【Access小作】一键搞定--access合并excel工作表演...  【阿四  2021/12/8】
常见问答
技术分类
相关资源
文章搜索
关于作者

ligy118

文章分类

文章存档

友情链接