以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  自动复制行表A复制到三个表,代码能简化吗?  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=180121)

--  作者:13315253800
--  发布时间:2022/9/29 10:35:00
--  自动复制行表A复制到三个表,代码能简化吗?
请教老师,自动复制行表A复制到三个表,代码能简化在一起吗?

\'自动复制行, 审核后记账原材料

If e.DataCol.Name = "审核" AndAlso e.DataRow("审核") = True Then

    Dim nma() As String = {"入库ID", "供应商名称", "金额", "部门ID"} \'A表数据来源列

    Dim nmb() As String = {"凭证ID", "供应商名称", "余额", "部门ID"} \'原材料数据接收列

    Dim dr As DataRow = DataTables("原材料").AddNew

    For i As Integer = 0 To nma.Length - 1

        dr(nmb(i)) = e.DataRow(nma(i))

    Next

End If

\'自动复制行, 审核后记账应付账款

If e.DataCol.Name = "审核" AndAlso e.DataRow("审核") = True Then

    Dim nma() As String = {"入库ID", "供应商名称", "价税合计", "部门ID"} \'A表数据来源列

    Dim nmb() As String = {"凭证ID", "供应商名称", "贷方金额", "部门ID"} \'原材料数据接收列

    Dim dr As DataRow = DataTables("应付账款").AddNew

    For i As Integer = 0 To nma.Length - 1

        dr(nmb(i)) = e.DataRow(nma(i))

    Next

End If

\'自动复制行, 审核后记账应付税金

If e.DataCol.Name = "审核" AndAlso e.DataRow("审核") = True Then

    Dim nma() As String = {"入库ID", "供应商名称", "税额", "部门ID"} \'A表数据来源列

    Dim nmb() As String = {"凭证ID", "供应商名称", "借方金额", "部门ID"} \'原材料数据接收列

    Dim dr As DataRow = DataTables("应交税费").AddNew

    For i As Integer = 0 To nma.Length - 1

        dr(nmb(i)) = e.DataRow(nma(i))

    Next

End If



--  作者:有点蓝
--  发布时间:2022/9/29 10:40:00
--  
If e.DataCol.Name = "审核" AndAlso e.DataRow("审核") = True Then
    Dim nma() As String = {"入库ID", "供应商名称", "金额", "部门ID"} \'A表数据来源列
    Dim nmb() As String = {"凭证ID", "供应商名称", "余额", "部门ID"} \'原材料数据接收列
    Dim nmc() As String = {"凭证ID", "供应商名称", "贷方金额", "部门ID"} \'原材料数据接收列
    Dim nmd() As String = {"凭证ID", "供应商名称", "借方金额", "部门ID"} \'原材料数据接收列

    Dim dr As DataRow = DataTables("原材料").AddNew
    Dim dr1 As DataRow = DataTables("应付账款").AddNew
    Dim dr2 As DataRow = DataTables("应交税费").AddNew

    For i As Integer = 0 To nma.Length - 1
        dr(nmb(i)) = e.DataRow(nma(i))
        dr1(nmc(i)) = e.DataRow(nma(i))
        dr2(nmd(i)) = e.DataRow(nma(i))
    Next
End If

--  作者:13315253800
--  发布时间:2022/9/29 11:44:00
--  
谢谢蓝老师!