以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]复制数值不等于的0的相关内容到另一表代码  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=59411)

--  作者:ZHX88863808
--  发布时间:2014/11/3 20:36:00
--  [求助]复制数值不等于的0的相关内容到另一表代码
表A中逻辑列打勾后,将相关列的内容复制到表B中,现在我想要表A中的数据列A列的数据不等于0时,表A中逻辑列打勾后,则会把相关列的内容复制到表B中,如果A列的数据等于0,则表A中的相关列的内容逻辑列打勾后则不会复制到表B中,请前辈老师相帮修改一下代码,谢谢!
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:不复制零的行.table


--  作者:有点甜
--  发布时间:2014/11/3 20:43:00
--  
If e.DataCol.Name = "逻辑列名" AndAlso e.DataRow("逻辑列名") = True AndAlso e.DataRow("A1") <> 0 Then
    Dim nma() As String = {"A1","A2","A3","A4"} \'A表数据来源列
    Dim nmb() As String = {"B1","B2","B3","B4"} \'B表数据接收列
    Dim dr As DataRow = DataTables("表B").AddNew
    For i As Integer = 0 To nma.Length - 1
        dr(nmb(i)) = e.DataRow(nma(i))
    Next
End If

--  作者:ZHX88863808
--  发布时间:2014/11/3 20:50:00
--  
老师:这里发现一个问题,如果逻辑列退勾后再打勾,则会重复复制,我想逻辑列退勾后,表B中的相关内容,则会自动删除,故请老师再帮忙修改一下,谢谢!
--  作者:有点甜
--  发布时间:2014/11/3 20:54:00
--  
If e.DataCol.Name = "逻辑列名"
    If e.DataRow("逻辑列名") = True
        If e.DataRow("A1") <> 0 Then
            Dim nma() As String = {"A1","A2","A3","A4","_Identify"} \'A表数据来源列
            Dim nmb() As String = {"B1","B2","B3","B4", "第六列"} \'B表数据接收列
            Dim dr As DataRow = DataTables("表B").AddNew
            For i As Integer = 0 To nma.Length - 1
                dr(nmb(i)) = e.DataRow(nma(i))
            Next
        End If
    Else
        DataTables("表B").DeleteFor("第六列 = \'" & e.DataRow("_Identify") & "\'")
    End If
End If

--  作者:ZHX88863808
--  发布时间:2014/11/3 20:59:00
--  
谢谢老师!!!