Foxtable(狐表)用户栏目专家坐堂 → [求助]检查后台数据的代码求助


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

主题:[求助]检查后台数据的代码求助

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


加好友 发短信
等级:五尾狐 帖子:1105 积分:8967 威望:0 精华:0 注册:2014/10/25 11:24:00
[求助]检查后台数据的代码求助  发帖心情 Post By:2020/5/25 16:00:00 [只看该作者]

有以下表:

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

在全局DataColChanging中有以个代码:
'复核后禁止去审核
If e.DataTable.Datacols.Contains("审核") AndAlso e.DataTable.Datacols.Contains("复核人") Then
    If e.DataCol.Name = "审核" AndAlso e.NewValue = False Then
        If e.DataRow("复核人") <> Nothing Then
            e.Cancel = True
            MessageBox.Show("此记录已经复核,取消复核后才能去审核","提示!",MessageBoxButtons.OK,MessageBoxIcon.Information)
        End If
    End If
End If

现在有个漏洞,在用户A打开此表时,用户B还没有复核第3条记录,此时用户B在另一个专用复核的窗口中复核了此条记录并把复核人写入了数据库,由于用户A的表上复核人还是空的,因此他还是能去掉复核,请问这种情况应该如何处理,谢谢!



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


加好友 发短信
等级:幼狐 帖子:162 积分:1089 威望:0 精华:0 注册:2020/1/16 11:58:00
  发帖心情 Post By:2020/5/25 16:09:00 [只看该作者]


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


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/5/25 16:26:00 [只看该作者]

试试

If e.DataTable.Datacols.Contains("审核") AndAlso e.DataTable.Datacols.Contains("复核人") Then
    If e.DataCol.Name = "审核" AndAlso e.NewValue = False Then
        Dim nu As Boolean = e.DataRow.isnull("复核人")
        If nu
            Dim dr As DataRow = e.DataTable.sqlfind("[_Identify]=" & e.DataRow("_Identify")) Then
            If dr IsNot Nothing AndAlso dr.IsNull("复核人") = False Then
                nu = False
            End If
        End If
        If nu = False
            e.Cancel = True
            MessageBox.Show("此记录已经复核,取消复核后才能去审核","提示!",MessageBoxButtons.OK,MessageBoxIcon.Information)
        End If
    End If
End If

 回到顶部