以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]请教添加不重复值的问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=109139)

--  作者:lusfater
--  发布时间:2017/11/5 11:12:00
--  [求助]请教添加不重复值的问题
现有“考勤管理”窗口,内有“考勤主表”和“考勤明细表”表两个,在点击“导入员工”后,打开“员工导入”窗口,在“员工导入”窗口中按条件筛选出需要的员工,将勾选的员工导入到“考勤管理”窗口中的“考勤明细表”中。这个功能已经测试可用,现在想要在导入的时候判断“考勤明细表”是否有“员工导入”窗口筛选出来的表中重复的员工(以“员工编号”为判断标准),如果有则不添加该条员工信息,如果没有则添加。琢磨了1天了,都没有琢磨出来,特来求救。谢谢。

图片点击可在新窗口打开查看此主题相关图片如下:qq图片20171105105723.png
图片点击可在新窗口打开查看

导入按钮的代码

If Tables("员工导入_员工列表").Rows.Count>0 Then
    
    For Each r1 As Row In Tables("员工导入_员工列表").GetCheckedRows
                Dim r2 As Row =Tables("考勤主表.考勤明细表").AddNew
                r2("员工编号")=r1("员工编号")
                r2("姓名")=r1("姓名")
    Next
    Tables("考勤主表.考勤明细表").Select(-1,0)
    e.Form.Close    
Else    
    MessageBox.Show("没有可以添加的员工")    
End If


--  作者:有点甜
--  发布时间:2017/11/5 21:36:00
--  
If Tables("员工导入_员工列表").Rows.Count>0 Then
    For Each r1 As Row In Tables("员工导入_员工列表").GetCheckedRows
        Dim idx As Integer = Tables("考勤主表.考勤明细表").FindRow("员工编号 = \'" & r1("员工编号") & "\'")
        If idx < 0 Then
            Dim r2 As Row = Tables("考勤主表.考勤明细表").addnew
            r2("员工编号")=r1("员工编号")
            r2("姓名")=r1("姓名")
        End If
    Next
    Tables("考勤主表.考勤明细表").Select(-1,0)
    e.Form.Close
Else
    MessageBox.Show("没有可以添加的员工")
End If
[此贴子已经被作者于2017/11/5 21:36:11编辑过]