以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]逻辑判断修正  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=92257)

--  作者:xh2207
--  发布时间:2016/10/30 15:46:00
--  [求助]逻辑判断修正

在订单明细表中,

已完成逻辑:不允许同一订单号、品名、型号规格的出现,计量单位和单价是引用品名和规格得出,

问题:同一订单号、品名、型号规格出现虽能判断并删除品名和型号,但计量单位和单价依然存在。

请指教,谢谢!

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项6.zip


--  作者:xh2207
--  发布时间:2016/10/30 16:36:00
--  
图片点击可在新窗口打开查看
--  作者:有点蓝
--  发布时间:2016/10/31 8:49:00
--  
Select Case e.DataCol.name
    Case "品名"
        If e.DataCol.Name= "品名" Then
            Dim dr As DataRow = e.DataTable.Find("品名=\'" & e.NewValue & "\' and 订单号=\'" & e.DataRow("订单号") & "\' and 型号规格=\'" & e.DataRow("型号规格") & "\'")
            If dr IsNot Nothing Then
                e.DataRow("品名")=Nothing
                e.DataRow("单价") = Nothing
                e.DataRow("计量单位") = Nothing
                MessageBox.Show("2同一订单号已经存在相同型号和规格的行!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
                e.Cancel = True
                Return
            End If
        End If
        
    Case "型号规格"
        If e.DataCol.Name= "型号规格" Then
            Dim dr As DataRow = e.DataTable.Find("型号规格=\'" & e.NewValue & "\' and 订单号=\'" & e.DataRow("订单号") & "\' and 品名=\'" & e.DataRow("品名") & "\'")
            If dr IsNot Nothing Then
                e.DataRow("品名")=Nothing
                e.DataRow("单价") = Nothing
                e.DataRow("计量单位") = Nothing
                e.Cancel = True
                MessageBox.Show("3已经存在相同型号和规格的行!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
                Return
            End If
        End If
End Select