以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  如何检查订单中重复录入产品的人为错误  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=61604)

--  作者:瞩望星空
--  发布时间:2014/12/15 21:16:00
--  如何检查订单中重复录入产品的人为错误

在录入订单明细表时,出现了重复录入产品的人为错误。

1、如何在现有的订单主表与订单明细表中已出现的产品重复录入错误,

如订单号为“342344”的订单明细中,物料编号为“1110617S”是重复录入的。

2、在录入订单明细表时,如何检查人为的重复录入(当重复选择产品时,应该不得录入)。

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:检查订单明细重复.table


--  作者:有点甜
--  发布时间:2014/12/15 21:19:00
--  

 类似这样处理

 

http://www.foxtable.com/help/topics/2481.htm

 


--  作者:瞩望星空
--  发布时间:2014/12/15 21:51:00
--  

不会改写这段代码,而且是在订单主表.订单明细表中检查。

 

 

Select Case e.DataCol.name
    Case
"型号"
       
If e.NewValue > "" AndAlso e.DataRow.IsNull("规格") = False
            Dim
dr As DataRow = e.DataRow
           
If e.DataTable.Find("型号 = \'" & e.NewValue & "\' And 规格 = \'" & dr("规格") & "\'") IsNot Nothing Then
                MessageBox.Show(
"已经存在相同型号和规格的行!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
                e.Cancel =
True
           
End If
        End
If
    Case
"规格"
       
If e.NewValue > "" AndAlso e.DataRow.IsNull("型号") = False
            Dim
dr As DataRow = e.DataRow
           
If e.DataTable.Find("型号 = \'" & dr("型号") & "\' And 规格 = \'" & e.NewValue & "\'") IsNot Nothing Then
                MessageBox.Show(
"已经存在相同型号和规格的行!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
                e.Cancel =
True
            End
If
        End
If
End
Select


--  作者:有点甜
--  发布时间:2014/12/15 21:58:00
--  
 If e.DataCol.Name = "物料编号" Then
    If e.NewValue <> Nothing Then
        Dim fdr As DataRow = e.DataTable.Find("物料编号 = \'" & e.NewValue & "\' and 客户订单号 = \'" & e.DataRow("客户订单号") & "\'")
        If fdr IsNot Nothing Then
            msgbox("已存在")
            e.Cancel = True
        End If
    End If
End If

--  作者:HappyFt
--  发布时间:2014/12/15 22:04:00
--  
甜老师,这种情况只能是检查已加载表的数据,如果后台的数据库中已存在相同的编码怎么办,是不是还要用sqlcommad查询先生成一个临时表dt,再在这个临时表中有同样的方式再检查一次吗?
--  作者:有点甜
--  发布时间:2014/12/15 22:05:00
--  
 用sqlFind函数
--  作者:瞩望星空
--  发布时间:2014/12/15 22:08:00
--  

嗯,这个代码可以检查了。谢谢