Foxtable(狐表)用户栏目专家坐堂 → 禁止重复


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

主题:禁止重复

帅哥哟,离线,有人找我吗?
deliangzhaoe
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:364 积分:3491 威望:0 精华:0 注册:2012/7/24 7:15:00
禁止重复  发帖心情 Post By:2019/1/15 21:22:00 [只看该作者]


窗口A中表1选中的行,通过按钮添加到表2中,如果表2中已经存在与表1中列7、列8、列9、列10内容相同的行,则不添加,否则添加。现在代码是这样:
For Each r As Row In Tables("快速添加组织机构_table1").GetCheckedRows
    Dim xz As winform.checkbox = e.Form.controls("checkbox1")
    Dim nr As DataRow = DataTables("年度安全目标").addnew
    nr("企业名称") = r("企业名称")
    nr("部门设置") = r("部门设置")
    nr("岗位设置") = r("岗位设置")
    nr("第四层机构设置") = r("第四层机构设置")
    nr("第五层机构设置") = r("第五层机构设置")
    nr("第六层机构设置") = r("第六层机构设置")
    r.checked = False
    xz.checked = False
    Dim tr As WinForm.TreeView = Forms("安全信息化系统主窗口").Controls("TreeView4")
    tr.BuildTree("年度安全目标", "企业名称|部门设置|岗位设置|第四层机构设置|第五层机构设置|第六层机构设置")
    tr.ExpandAll()
Next
MessageBox.Show("已向《年度安全目标》表中成功添加了公司组织机构!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)

自己写了几次没成功,请帮忙改一下,谢谢。

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110450 积分:562116 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/1/15 21:31:00 [只看该作者]

For Each r As Row In Tables("快速添加组织机构_table1").GetCheckedRows
    Dim nr As DataRow = DataTables("年度安全目标").Find("列7='" & r("列7") & "' and 列8='" & r("列8") & "' ") '其它列自行参考补充完整
    If nr Is Nothing Then
        nr  = DataTables("年度安全目标").AddNew
        nr("企业名称") = r("企业名称")
        nr("部门设置") = r("部门设置")
        nr("岗位设置") = r("岗位设置")
        nr("第四层机构设置") = r("第四层机构设置")
        nr("第五层机构设置") = r("第五层机构设置")
        nr("第六层机构设置") = r("第六层机构设置")
    End If
    r.checked = False
Next
Dim xz As winform.checkbox = e.Form.controls("checkbox1")
xz.checked = False
Dim tr As WinForm.TreeView = Forms("安全信息化系统主窗口").Controls("TreeView4")
tr.BuildTree("年度安全目标", "企业名称|部门设置|岗位设置|第四层机构设置|第五层机构设置|第六层机构设置")
tr.ExpandAll()
MessageBox.Show("已向《年度安全目标》表中成功添加了公司组织机构!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)

 回到顶部
帅哥哟,离线,有人找我吗?
deliangzhaoe
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:364 积分:3491 威望:0 精华:0 注册:2012/7/24 7:15:00
  发帖心情 Post By:2019/1/16 8:17:00 [只看该作者]

不行啊,有重复的照样能添加进去。改了一下代码,也不行。
For Each r As Row In Tables("快速添加组织机构_table1").GetCheckedRows
    Dim nr As DataRow = DataTables("年度安全目标").Find("企业名称='" & r("企业名称") & "' and 年度 = '" & Date.Today.year & "' and 部门设置 = '" & r("部门设置") & "' and 岗位设置 = '" & r("岗位设置") & "'")
    Dim xz As winform.checkbox = e.Form.controls("checkbox1")
    If nr IsNot Nothing Then
        MessageBox.Show("本年度您可能已添加过本公司的组织机构,禁止重复添加!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
    Else
        nr = DataTables("年度安全目标").addnew
        nr("企业名称") = r("企业名称")
        nr("部门设置") = r("部门设置")
        nr("岗位设置") = r("岗位设置")
        nr("第四层机构设置") = r("第四层机构设置")
        nr("第五层机构设置") = r("第五层机构设置")
        nr("第六层机构设置") = r("第六层机构设置")
        r.checked = False
        xz.checked = False
        Dim tr As WinForm.TreeView = Forms("安全信息化系统主窗口").Controls("TreeView4")
        tr.BuildTree("年度安全目标", "企业名称|部门设置|岗位设置|第四层机构设置|第五层机构设置|第六层机构设置")
        tr.ExpandAll()
        MessageBox.Show("已向《公司年度安全目标》表中成功添加了公司组织机构!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
    End If
Next

老师,再帮忙看一下吧。谢谢
另外,如果选中行的部门设置或岗位设置是空值,查找年度安全目标表中的部门设置或岗位设置是空值的行,有影响吗?
[此贴子已经被作者于2019/1/16 8:20:08编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/1/16 8:53:00 [只看该作者]

代码要改成这样

 

 

Dim filter As String = "年度 = '" & Date.Today.year & "'"

If r("企业名称") = Nothing Then
   
    filter &= " and 企业名称 is null"
   
Else
   
    filter &= " and 企业名称 = '" & r("企业名称") & "'"
   
End If

If r("部门") = Nothing Then
   
    filter &= " and 部门 is null"
   
else
   
    filter &= " and 部门 = '" & r("部门") & "'"
   
End If

If r("岗位设置") = Nothing Then
   
    filter &= " and 岗位设置 is null"
   
Else
   
    filter &= " and 岗位设置 = '" & r("岗位设置") & "'"
   
End If

msgbox(filter)

Dim nr As DataRow = DataTables("年度安全目标").Find(filter)


 回到顶部
帅哥哟,离线,有人找我吗?
deliangzhaoe
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:364 积分:3491 威望:0 精华:0 注册:2012/7/24 7:15:00
  发帖心情 Post By:2019/1/16 9:16:00 [只看该作者]

可以了,谢谢蓝老师,甜老师

 回到顶部