Foxtable(狐表)用户栏目专家坐堂 → [求助]表事件代码在窗口中不能实现


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

主题:[求助]表事件代码在窗口中不能实现

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


加好友 发短信
等级:一尾狐 帖子:463 积分:4163 威望:0 精华:0 注册:2011/4/5 16:54:00
[求助]表事件代码在窗口中不能实现  发帖心情 Post By:2022/8/4 12:00:00 [只看该作者]

表事件代码如下,表中操作正常,但为何在窗口(表类型为:Normal)中不能实现(重复值判断)?求老师指点!谢谢!

If e.DataCol.Name = "箱号" Then
    If e.NewValue Is Nothing Then
        MessageBox.Show("转运箱码不允许为空!")
        e.Cancel = True
    End If
End If

Select Case e.DataCol.name
    Case "箱号"
        Dim dr As DataRow = e.DataRow
        If dr.IsNull("箱号") = False Then
            If e.DataTable.SqlCompute("Count([_Identify])", "箱号 = '" & dr("箱号") & "' ") > 1 Then
                MessageBox.Show("此箱码已经存在,请勿重复接收!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information)
                e.DataRow(e.DataCol.Name) = e.OldValue '取消输入
            Else
                e.DataRow("接收人姓名") = _UserName
                e.DataRow("接收实验室") = _UserDept
                e.DataRow("接收时间") = Date.Now()
                DataTables("jsb").Save()
                Tables("jsb").AddNew()
            End If
        End If
End Select

Select Case e.DataCol.name
    Case "接收时间", "接收人姓名", "接收实验室"
        Dim drs As List(Of DataRow)
        drs = DataTables("A20220712").SqlSelect("箱号 = '" & e.DataRow("箱号") & "'")
        For Each dr As DataRow In drs
            dr(e.DataCol.Name) = e.DataRow(e.DataCol.Name)
        Next
        DataTables("A20220712").SQLUpdate(drs)
End Select

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


加好友 发短信
等级:超级版主 帖子:110744 积分:563646 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/8/4 12:04:00 [只看该作者]

是不是数据没有保存?SqlCompute只能统计已经保存的数据。

Sqlxxx系列的方法都是直接查询后台数据的,没有保存的数据查不了

 回到顶部