以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  两表不重复录入  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=192323)

--  作者:yuyu060712
--  发布时间:2024/6/14 12:23:00
--  两表不重复录入
老师,我想实现两个表无法录入同一个编号,谢谢
If e.DataCol.Name = "订单号" Then
    Dim dr As DataRow
    dr = e.DataTable.Find("订单号 = \'" & e.NewValue & "\'")
    If dr IsNot Nothing Then
        MessageBox.Show("此订单号已经存在!")
        e.Cancel = True
    End If
End If
这个是当前表的,但是涉及其他表的就没头绪了
[此贴子已经被作者于2024/6/14 12:26:51编辑过]

--  作者:SbFox
--  发布时间:2024/6/14 12:53:00
--  
If e.DataCol.Name = "订单号" Then
    Dim dr As DataRow
    Dim dr1 As DataRow
    dr = DataTables("表A").Find("订单号 = \'" & e.NewValue & "\'")
    dr1 = DataTables("表B").Find("订单号 = \'" & e.NewValue & "\'")
    If dr IsNot Nothing Or dr1 IsNot Nothing Then
        MessageBox.Show("此订单号已经存在!")
        e.Cancel = True
    End If
End If

--  作者:有点蓝
--  发布时间:2024/6/14 13:30:00
--  
If e.DataCol.Name = "订单号" Then
    Dim dr As DataRow
    dr = e.DataTable.Find("订单号 = \'" & e.NewValue & "\'")
    If dr Is Nothing Then
        dr = DataTables("另一个表").Find("订单号 = \'" & e.NewValue & "\'")
    End If
    If dr IsNot Nothing Then
        MessageBox.Show("此订单号已经存在!")
        e.Cancel = True
    End If
End If

--  作者:13315253800
--  发布时间:2024/6/15 8:43:00
--  
蓝老师,上面代码是放到表DataColChanged事件中吗,我试了不管表B是否有订单号均提示:此订单号已经存在
--  作者:13315253800
--  发布时间:2024/6/15 8:58:00
--  
知道了,我放错位置了