以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  DataColChanged中,查找下单时间之前的此下单人的最近一次记录,找到则返回优惠价的值,大神帮我看一下是不是这思路?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=79718)

--  作者:jinxilin
--  发布时间:2016/1/7 19:10:00
--  DataColChanged中,查找下单时间之前的此下单人的最近一次记录,找到则返回优惠价的值,大神帮我看一下是不是这思路?
老师好,我想查找下单时间之前的此下单人的最近一次记录,找到则返回优惠价的值,帮我看一下是不是这思路? 
我写了还是显示不出,不知道哪里错了,请指教,

Select Case e.DataCol.Name
      Case "确定订单"

        If e.DataRow("确定订单") = True  Then  \'当点击\'是第一次下单\'时,检查有无数据是重复的,
            Dim count As Integer =  DataTables("表A").SqlCompute("count(下单人)", "下单人 = \'" & e.DataRow("下单人") & "\'" )
            \'查找下单时间之前的此下单人的最近一次记录,找到则返回优惠价
            Dim dr As DataRow = DataTables("表A").SQLFind("下单人 = \'" & e.DataRow("下单人") & "\'" And "确定订单 = 1" And "日期 <= \'" & e.DataRow("日期") & "\'" ,"日期 Desc")

            If count >= 2 Then
                e.DataRow("二次下单") = True
                e.DataRow("优惠价") = dr("优惠价")             
            Else
                e.DataRow("二次下单") = False
                e.DataRow("优惠价") = ""
            End If
        Else
            e.DataRow("二次下单") = False
            e.DataRow("优惠价") = ""            
        End If

        e.DataRow.Save()
End Select

----------------------------------------


此主题相关图片如下:qq图片20160107183146.png
按此在新窗口浏览图片



--  作者:大红袍
--  发布时间:2016/1/7 19:31:00
--  
Select Case e.DataCol.Name
    Case "确定订单"
       
       
        If e.DataRow("确定订单") = True  Then  \'当点击\'是第一次下单\'时,检查有无数据是重复的,
            Dim count As Integer =  DataTables("表A").SqlCompute("count(下单人)", "下单人 = \'" & e.DataRow("下单人") & "\' And 确定订单 = 1" )
            \'查找下单时间之前的此下单人的最近一次记录,找到则返回优惠价
           
            If count >= 2 Then
                Dim dr As DataRow = DataTables("表A").SQLFind("下单人 = \'" & e.DataRow("下单人") & "\' And 确定订单 = 1 And 日期 <= \'" & e.DataRow("日期") & "\'" ,"日期 Desc, _Identify")
                e.DataRow("二次下单") = True
                e.DataRow("优惠价") = dr("优惠价")
            Else
                e.DataRow("二次下单") = False
                e.DataRow("优惠价") = Nothing
            End If
        Else
            e.DataRow("二次下单") = False
            e.DataRow("优惠价") = Nothing
        End If
       
       
        e.DataRow.Save()
End Select

--  作者:jinxilin
--  发布时间:2016/1/7 20:07:00
--  
完美解决,谢谢了