以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]重复问题(老师们再进)  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=12342)

--  作者:jxjzj2000
--  发布时间:2011/8/30 13:46:00
--  [求助]重复问题(老师们再进)

各位老师:

客户表有a 和 b两列,我想在订单录入的时候ab两列不重复,就是说,当a重复且b重复的时候,提示录入员已经存在这个客户,并且定位到这个客户,代码如何写,写在什么事件中

[此贴子已经被作者于2011-8-30 17:24:55编辑过]

--  作者:czy
--  发布时间:2011/8/30 13:50:00
--  

看链接的示例四:

 

http://help.foxtable.com/topics/0624.htm


--  作者:jxjzj2000
--  发布时间:2011/8/30 16:20:00
--  

竟然帮助中有,找了半天没找到。。。


--  作者:jxjzj2000
--  发布时间:2011/8/30 16:22:00
--  

碰到一个问题:

 

If e.DataCol.Name = "姓名" Then
    Dim dr As DataRow
    dr = e.DataTable.Find("姓名 = \'" & e.NewValue & "\'")
    If dr IsNot Nothing And dr("发货日期") = e.DataRow("发货日期") Then
        MessageBox.Show("此客户今天订单已录入,请查询客户姓名并加录订单!")
        e.Cancel = True
    End If
End If
If e.DataCol.Name = "发货日期" Then
    Dim dr As DataRow
    dr = e.DataTable.Find("发货日期 = #" & e.newValue & "#")
    If dr IsNot Nothing And dr("姓名") = e.DataRow("姓名") Then
        MessageBox.Show("此客户今天订单已录入,请查询客户姓名并加录订单!")
        e.Cancel = True
    End If
End If

 

这个写在

DataColChanging

有错?

为什么试了几次都不行,老师帮忙检查下,谢谢


--  作者:jxjzj2000
--  发布时间:2011/8/30 16:23:00
--  

碰到一个问题:

 

If e.DataCol.Name = "姓名" Then
    Dim dr As DataRow
    dr = e.DataTable.Find("姓名 = \'" & e.NewValue & "\'")
    If dr IsNot Nothing And dr("发货日期") = e.DataRow("发货日期") Then
        MessageBox.Show("此客户今天订单已录入,请查询客户姓名并加录订单!")
        e.Cancel = True
    End If
End If
If e.DataCol.Name = "发货日期" Then
    Dim dr As DataRow
    dr = e.DataTable.Find("发货日期 = #" & e.newValue & "#")
    If dr IsNot Nothing And dr("姓名") = e.DataRow("姓名") Then
        MessageBox.Show("此客户今天订单已录入,请查询客户姓名并加录订单!")
        e.Cancel = True
    End If
End If

 

这个写在

DataColChanging

有错?

为什么试了几次都不行,老师帮忙检查下,谢谢


--  作者:jxjzj2000
--  发布时间:2011/8/30 16:23:00
--  

这样写,当日起相同的时候,姓名无法相同,但是当姓名相同的时候,日期相同却没有提示对话框出现


--  作者:jxjzj2000
--  发布时间:2011/8/30 18:01:00
--  
顶上去哦,问题解决不了
--  作者:紙上不談兵
--  发布时间:2011/8/30 18:31:00
--  

DataColChanged事件:

Dim fl As String
Select Case e.DataCol.Name
    Case "姓名","发货日期"
        fl = "姓名 = \'" & e.DataRow("姓名") & " \'And 发货日期 = #" & e.DataRow("发货日期") & "#"
        If e.DataTable.Compute("count(姓名)", fl) > 1 Then
           MessageBox.Show("此客户今天订单已录入,请查询客户姓名并加录订单!")
            e.DataRow(e.DataCol.Name)= Nothing
        End If
End Select

--  作者:blackzhu
--  发布时间:2011/8/31 7:41:00
--  
DataColChanged事件
dim dr as datarow
Select Case e.DataCol.Name
 case "姓名","发货日期"
    dr = e.DataTable.Find("姓名 = \'" & e.NewValue & "\'And 发货日期 =#" & e.newvalue &"#")
    If dr IsNot Nothing  Then
        MessageBox.Show("此客户今天订单已录入,请查询客户姓名并加录订单!")
        e.Cancel = True
    End If
End If
end 
Select

--  作者:jxjzj2000
--  发布时间:2011/8/31 8:49:00
--  
以下是引用blackzhu在2011-8-31 7:41:00的发言:
DataColChanged事件
dim dr as datarow
Select Case e.DataCol.Name
 case "姓名","发货日期"
    dr = e.DataTable.Find("姓名 = \'" & e.NewValue & "\'And 发货日期 =#" & e.newvalue &"#")
    If dr IsNot Nothing  Then
        MessageBox.Show("此客户今天订单已录入,请查询客户姓名并加录订单!")
        e.Cancel = True
    End If
End If
end 
Select

这个代码运行错误


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