以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  DataColChanged中,从后台数据中查询数据,看是否有重复的数据,在确认订单有重复时在二次下单中自动为真。我应该怎么写?  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=79604)

--  作者:jinxilin
--  发布时间:2016/1/5 21:17:00
--  DataColChanged中,从后台数据中查询数据,看是否有重复的数据,在确认订单有重复时在二次下单中自动为真。我应该怎么写?
DataColChanged中,从后台数据中查询数据,看是否有重复的数据,在确认订单时,发现有重复时在二次下单中自动为真。我应该怎么写?

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

        If e.DataRow("确定订单") = True  Then  \'当点击\'是第一次下单\'时,检查有无数据是重复的,

            Dim drCF As DataRow = e.DataRow   
            If drCF.IsNull("确定订单") = False  Then
                Dim drs As List(of DataRow)  = DataTables("表A").SQLSelect("下单人 = e.DataRow(\'下单人\') " )
                Dim Sum As Integer 
                Sum = 0
                For Each dr As DataRow In drs
                    Sum = Sum + 1
                Next

                If Sum > 0 Then
                    e.DataRow("二次下单") = True
                End If
            End If
        End If
End Select


------------
图片点击可在新窗口打开查看此主题相关图片如下:qq图片20160105211541.png
图片点击可在新窗口打开查看


--  作者:大红袍
--  发布时间:2016/1/5 21:21:00
--  

Select Case e.DataCol.Name
    Case "确定订单"
       
       
        If e.DataRow("确定订单") = True  Then  \'当点击\'是第一次下单\'时,检查有无数据是重复的,
            Dim count As Integer =  DataTables("表A").SqlCompute("count(下单人)", "下单人 = \'" & e.DataRow("下单人") & "\'" )
            If count >= 2 Then
                e.DataRow("二次下单") = True
            Else
                e.DataRow("二次下单") = False
            End If
        Else
            e.DataRow("二次下单") = False
           
        End If

End Select


--  作者:jinxilin
--  发布时间:2016/1/5 21:30:00
--  
谢谢,辛苦了,就是这查询这边的公式代码老是搞不懂,不知道有哪里可以系统学习
--  作者:大红袍
--  发布时间:2016/1/5 21:34:00
--  
论坛首页的视频教程看一遍。
--  作者:jinxilin
--  发布时间:2016/1/5 21:45:00
--  
好的,谢谢了


--  作者:jinxilin
--  发布时间:2016/1/7 18:44:00
--  
----
[此贴子已经被作者于2016/1/7 19:01:45编辑过]

--  作者:jinxilin
--  发布时间:2016/1/7 18:58:00
--  
---------
[此贴子已经被作者于2016/1/7 19:01:59编辑过]

--  作者:jinxilin
--  发布时间:2016/1/7 19:01:00
--  
以下是引用大红袍在2016/1/5 21:21:00的发言:

Select Case e.DataCol.Name
    Case "确定订单"
       
       
        If e.DataRow("确定订单") = True  Then  \'当点击\'是第一次下单\'时,检查有无数据是重复的,
            Dim count As Integer =  DataTables("表A").SqlCompute("count(下单人)", "下单人 = \'" & e.DataRow("下单人") & "\'" )
            If count >= 2 Then
                e.DataRow("二次下单") = True
            Else
                e.DataRow("二次下单") = False
            End If
        Else
            e.DataRow("二次下单") = False
           
        End If

End Select


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


老师好,我想查找下单时间之前的此下单人的最近一次记录,找到则返回优惠价,帮我看一下是不是这思路? 
我写了还是显示不出,不知道哪里错了,请指教,




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:30: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:06:00
--  
谢谢,完美解决。