Foxtable(狐表)用户栏目专家坐堂 → DataColChanged中,从后台数据中查询数据,看是否有重复的数据,在确认订单有重复时在二次下单中自动为真。我应该怎么写?


  共有2024人关注过本帖树形打印复制链接

主题:DataColChanged中,从后台数据中查询数据,看是否有重复的数据,在确认订单有重复时在二次下单中自动为真。我应该怎么写?

帅哥哟,离线,有人找我吗?
jinxilin
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:202 积分:1639 威望:0 精华:0 注册:2014/6/17 19:26:00
DataColChanged中,从后台数据中查询数据,看是否有重复的数据,在确认订单有重复时在二次下单中自动为真。我应该怎么写?  发帖心情 Post By:2016/1/5 21:17:00 [只看该作者]

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
图片点击可在新窗口打开查看


 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By: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
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:202 积分:1639 威望:0 精华:0 注册:2014/6/17 19:26:00
  发帖心情 Post By:2016/1/5 21:30:00 [只看该作者]

谢谢,辛苦了,就是这查询这边的公式代码老是搞不懂,不知道有哪里可以系统学习

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/1/5 21:34:00 [只看该作者]

论坛首页的视频教程看一遍。

 回到顶部
帅哥哟,离线,有人找我吗?
jinxilin
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:202 积分:1639 威望:0 精华:0 注册:2014/6/17 19:26:00
  发帖心情 Post By:2016/1/5 21:45:00 [只看该作者]

好的,谢谢了


 回到顶部
帅哥哟,离线,有人找我吗?
jinxilin
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:202 积分:1639 威望:0 精华:0 注册:2014/6/17 19:26:00
  发帖心情 Post By:2016/1/7 18:44:00 [只看该作者]

----
[此贴子已经被作者于2016/1/7 19:01:45编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
jinxilin
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:202 积分:1639 威望:0 精华:0 注册:2014/6/17 19:26:00
  发帖心情 Post By:2016/1/7 18:58:00 [只看该作者]

---------
[此贴子已经被作者于2016/1/7 19:01:59编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
jinxilin
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:202 积分:1639 威望:0 精华:0 注册:2014/6/17 19:26:00
  发帖心情 Post By: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
按此在新窗口浏览图片



 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By: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
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:202 积分:1639 威望:0 精华:0 注册:2014/6/17 19:26:00
  发帖心情 Post By:2016/1/7 20:06:00 [只看该作者]

谢谢,完美解决。

 回到顶部