以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  请问这个如何解决?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=162412)

--  作者:a272797388
--  发布时间:2021/4/13 21:18:00
--  请问这个如何解决?

表A有个逻辑列“是否调档完毕”, 如果我勾选这个逻辑列, 如果该行的身份证号在表B里存在,执行下面的代码:

If e.DataCol.name = "是否调档完毕" Then
If e.newvalue = True
DataTables("小学学籍库").deletefor("身份证号=\'" & e.DataRow("身份证件号") & "\'")
End If
End If

If e.DataCol.name = "是否调档完毕" Then
If e.newvalue = True
DataTables("初中学籍库").deletefor("身份证号=\'" & e.DataRow("身份证件号") & "\'")
End If
End If

If e.DataCol.name = "是否调档完毕" Then
If e.newvalue = True
DataTables("高中学籍库").deletefor("身份证号=\'" & e.DataRow("身份证件号") & "\'")
End If
End If

如果我勾选这个逻辑列, 如果该行的身份证号在表B里不存在,执行下面的代码:

If e.DataCol.Name = "学段" OrElse e.DataCol.Name = "是否调档完毕"
    If e.DataRow("是否调档完毕") = True Then
    Dim s As String
    Select Case e.DataRow("学段")
        Case "小学"
            s = "小学学籍库"
        Case "初中"
            s = "初中学籍库"
        Case "高中"
            s = "高中学籍库"
        Case Else
            Return
    End Select
        Dim nma() As String = {"姓名","身份证号","学籍号","转入学校","年级","经办人","经办人电话"} \'A表数据来源列
        Dim nmb() As String = {"学生姓名","身份证件号","学籍号","学校名称","年级","家庭成员姓名","联系电话"} \'B表数据接收列
        Dim dr As DataRow = DataTables(s).AddNew
        For i As Integer = 0 To nma.Length - 1
            dr(nmb(i)) = e.DataRow(nma(i))
        Next
    End If
End If

 

请问如何能实现?

 

 


--  作者:有点蓝
--  发布时间:2021/4/13 21:46:00
--  
If e.DataCol.name = "是否调档完毕" Then
If e.newvalue = True
if DataTables("表B").find("身份证号=\'" & e.DataRow("身份证件号") & "\'") isnot nothing then
DataTables("小学学籍库").deletefor("身份证号=\'" & e.DataRow("身份证件号") & "\'")
DataTables("初中学籍库").deletefor("身份证号=\'" & e.DataRow("身份证件号") & "\'")
DataTables("高中学籍库").deletefor("身份证号=\'" & e.DataRow("身份证件号") & "\'")
else
 Dim s As String
    Select Case e.DataRow("学段")
        Case "小学"
            s = "小学学籍库"
        Case "初中"
            s = "初中学籍库"
        Case "高中"
            s = "高中学籍库"
        Case Else
            Return
    End Select
        Dim nma() As String = {"姓名","身份证号","学籍号","转入学校","年级","经办人","经办人电话"} \'A表数据来源列
        Dim nmb() As String = {"学生姓名","身份证件号","学籍号","学校名称","年级","家庭成员姓名","联系电话"} \'B表数据接收列
        Dim dr As DataRow = DataTables(s).AddNew
        For i As Integer = 0 To nma.Length - 1
            dr(nmb(i)) = e.DataRow(nma(i))
        Next

endif
endif
endif