Access交流中心

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

求教:拆分单条记录为多条记录

ejihua  发表于:2017-09-20 23:39:47  
复制

下载了一个拆分单条记录为多条记录的实例,想修改一下做自己想要的,无奈基础太差,请老师们指教。点击下载此附件

想在输入逗号分隔的人员后,自动在子表中单人列出来,求问怎么改代码?


Private Sub 施工人员_AfterUpdate()
Dim Rs1 As New ADODB.Recordset, Rs2 As New ADODB.Recordset, myStr1 As String, myStr2 As String, Ar As Variant, i As Integer, j As Integer, k As Integer
    myStr1 = "Select * From 表1"
    Rs1.Open myStr1, CurrentProject.Connection, adOpenDynamic, adLockOptimistic
    myStr2 = "Select * From 表3"
    Rs2.Open myStr2, CurrentProject.Connection, adOpenDynamic, adLockOptimistic
        Do Until Rs1.EOF
            Ar = Split(Rs1!施工人员, ",")
            For i = 0 To UBound(Ar)
            If Ar(i) <> "" Then
                Rs2.AddNew
                Rs2!施工人员 = Ar(i)
                Rs2!施工单编号 = Rs1!施工单编号
                Rs2!施工单位 = Rs1!施工单位
                Rs2!单人工时 = Rs1!单人工时
                Rs2.Update
            End If
            Next
        Rs1.MoveNext
        Loop
    Set Rs1 = Nothing
    Set Rs2 = Nothing
    
    
End Sub




 

Top
leoyoung 发表于:2017-09-21 06:08:58

Dim Rs1 As New ADODB.Recordset, Rs2 As New ADODB.Recordset, myStr1 As String, myStr2 As String, Ar As Variant, i As Integer, j As Integer, k As Integer
    myStr1 = "Select * From 表1 where 施工单编号='" & Me.施工单编号 & "'"
。。。。
Me.表3_子窗体.Form.Requery
End Sub


粗体为修改部分



ejihua 发表于:2017-09-21 07:40:03
多谢回复,有个问题,如果修改了施工人员,子表里会新添加,能不能保持同步?

leoyoung 发表于:2017-09-21 10:50:56

建议:

1、如果这个问题解决了,先予以结贴。新问题重新开贴提问。

2、新建一个命令按钮,将代码移步到该命令按钮的单击事件。作为批量拆分的功能

3、梳理一下业务,明白自己需求。不能把多个任务放在一个代码中。




ejihua 发表于:2017-09-21 21:21:34
谢谢回复。

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