【Access思路分享】合并多条记录为一个记录
时 间:2021-12-18 15:57:20
作 者:ligy118   ID:81743  城市:洛阳
摘 要:合并多个记录为一条记录。
正 文:
合并多条记录为一个记录示例见:
[案例分享]分析物料在不同清单中的分布情况【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群 (群号:54525238) Access源码网店
常见问答:
技术分类:
源码示例
- 【源码QQ群号19834647...(12.17)
- 【Access高效办公】上一年...(10.30)
- Access制作的RGB转CM...(09.22)
- Access制作的RGB调色板...(09.15)
- Access制作的快速车牌输入...(09.13)
- 【Access高效办公】统计当...(06.30)
- 【Access高效办公】用复选...(06.24)
- 根据变化的日期来自动编号的示例...(06.20)
- 【Access高效办公】按日期...(06.12)
- 合并列数据到一个文本框的示例;...(05.06)
 
  学习心得
最新文章
- 【Access高效办公】上一年度累...(10.30)
- Access做的一个《中华经典论语...(10.25)
- Access快速开发平台--加载事...(10.20)
- 【Access有效性规则示例】两种...(10.10)
- EXCEL表格扫描枪数据录入智能处...(10.09)
- Access快速开发平台--多行文...(09.28)
- 关于从Excel导入长文本数据到A...(09.24)
- Access制作的RGB转CMYK...(09.22)
- 关于重装系统后Access开发的软...(09.17)
- Access制作的RGB调色板示例(09.15)
 




 
  
.gif)

 
            