以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]表事件代码在窗口中不能实现 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=179043) |
-- 作者:jygyyl -- 发布时间: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
|
-- 作者:有点蓝 -- 发布时间:2022/8/4 12:04:00 -- 是不是数据没有保存?SqlCompute只能统计已经保存的数据。 Sqlxxx系列的方法都是直接查询后台数据的,没有保存的数据查不了
|