Foxtable(狐表)用户栏目专家坐堂 → 如何不导入重复的值?


  共有3025人关注过本帖树形打印复制链接

主题:如何不导入重复的值?

帅哥,在线噢!
有点蓝
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110768 积分:563772 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/6/6 8:53:00 [显示全部帖子]

Tables("绩效明细").StopRedraw
Dim str As String = ""
For Each r As Row In Tables("设置").GetCheckedRows
    str = str & ",'" & r("姓名") & "'"
Next
str = str.Trim(",")
If DataTables("绩效明细").Find("姓名 in (" & str & ")") IsNot Nothing Then
    MessageBox.Show("有重复")
    Return
End If

For Each r As Row In Tables("设置").GetCheckedRows
    Dim r1 As Row = Tables("绩效明细").AddNew
    r1("姓名") = r("姓名")
Next
Tables("绩效明细").ResumeRedraw
If MessageBox.Show("你已导入人员信息,请开始计算绩效工资","提示",MessageBoxButtons.OK,MessageBoxIcon.None) = DialogResult.OK Then
    
    DataTables("绩效明细").DataCols("姓名").RaiseDataColChanged()
    DataTables("绩效明细").DataCols("姓名").RaiseDataColChanged()
    Forms("导入窗口").Close
End If

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110768 积分:563772 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/6/6 10:31:00 [显示全部帖子]

既然知道问题在哪,那就加一个判断呀,判断有没有选中

 回到顶部
帅哥,在线噢!
有点蓝
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110768 积分:563772 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/6/6 14:15:00 [显示全部帖子]

这样取一次集合即可

dim rs as List(of row) = Tables("设置").GetCheckedRows

If rs.count = 0 Then
    MessageBox.Show("请选中要导入的行,再导入数据","温馨提示",MessageBoxButtons.OK,MessageBoxIcon.Warning)
    Return
Else
    Dim str As String = ""
    For Each r As Row In rs
        str = str & ",'" & r("姓名") & "'"
    Next
    str = str.Trim(",")
    If DataTables("绩效明细").Find("姓名 in (" & str & ")") IsNot Nothing Then
        MessageBox.Show("导入数据重复,请核对!","温馨提示",MessageBoxButtons.OK,MessageBoxIcon.Warning)
        Return
    End If
End If

 回到顶部