Foxtable(狐表)用户栏目专家坐堂 → 对比取值


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

主题:对比取值

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


加好友 发短信
等级:一尾狐 帖子:412 积分:2665 威望:0 精华:0 注册:2015/10/2 23:48:00
对比取值  发帖心情 Post By:2015/11/2 16:44:00 [只看该作者]

 


图片点击可在新窗口打开查看此主题相关图片如下:2015-11-02_160633.jpg
图片点击可在新窗口打开查看

已经得到各订单运费,接下来要比较得出最高运费 (前提条件是:同一个司机,同一部车 ,同一天出车日期),满足前提条件的情况下把运费进行对比得出最高运费 其他返回空值,

然后把当天订单的送货地址对比得出不重复的送货地址 (在不重复的送货地址订单的点费栏赋值:9M6的80      6M2/6M8 /7M6 的60  4M5的30  )如果运费栏已经有值则不需要在点费栏赋值

最终效果如下图:



图片点击可在新窗口打开查看此主题相关图片如下:2015-11-02_161739.jpg
图片点击可在新窗口打开查看

 

请问版主怎样用代码实现


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


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

上传例子。

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


加好友 发短信
等级:一尾狐 帖子:412 积分:2665 威望:0 精华:0 注册:2015/10/2 23:48:00
  发帖心情 Post By:2015/11/2 17:43:00 [只看该作者]

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

最后的截图是想要的结果.手动输入的 代码还没有

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


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

Select Case e.DataCol.name
    Case "司机", "车牌", "出车日期"
        Dim filter As String = "司机 = '" & e.DataRow("司机") & "' and 车牌 = '" & e.DataRow("车牌") & "' and 出车日期 = #" & e.DataRow("出车日期") & "#"
        Dim drs As List(of DataRow) = e.DataTable.Select(filter)
        For Each dr As DataRow In drs
            If DataTables("价目表").DataCols.Contains("车型_" & e.DataRow("车型")) Then
                Dim jdrs As List(of DataRow) = DataTables("价目表").Select("项目 like '%" & e.DataRow("项目") & "%' and 城市 like '%" & e.DataRow("城市") & "%'")
                For Each jdr As DataRow In jdrs
                    If e.DataRow("地点") Like "*" & jdr("地点") & "*" Then
                        e.DataRow("运费") = jdr("车型_" & e.DataRow("车型"))
                        Exit For
                    End If
                Next
            End If
        Next
        drs = e.DataTable.Select(filter, "运费 desc")
        For i As Integer = 0 To drs.Count - 1
           
            Select Case drs(i)("车型")
                Case "9M6"
                    drs(i)("点费") = 80
                Case "6M2","6M8","7M6"
                    drs(i)("点费") = 60
                Case "4M5"
                    drs(i)("点费") = 30
            End Select
           
            If i = 0 Then
                drs(i)("点费") = Nothing
            Else
                drs(i)("运费") = Nothing
            End If
        Next
        For Each str As String In e.DataTable.GetValues("送货地址", filter)
            drs = e.DataTable.Select(filter & " and 送货地址 = '" & str & "'")
            For i As Integer = 0 To drs.Count - 1
                If i > 0 Then
                    drs(i)("点费") = Nothing
                End If
            Next
        Next
End Select

 回到顶部