Foxtable(狐表)用户栏目专家坐堂 → 有空查找-3


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

主题:有空查找-3

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


加好友 发短信
等级:幼狐 帖子:109 积分:1074 威望:0 精华:0 注册:2019/1/16 22:56:00
有空查找-3  发帖心情 Post By:2019/2/28 2:09:00 [只看该作者]

这次又来一个新的问题了,就是有空位的查找,在实例里我编写好了事件代码,但就是因为有空位查找不出来。
这样的,销售档案为基础数据表,泵送明细为查找表,我在泵送明细表中用销档和车型(这两个是必填的),以及时段、位置,去销售档案表里查找价和台班方量,如果销档、车型、时段和位置四个都为非空,那么是能查找到我需要的数据的,但是时段和位置,如果其中一个或是两个为空,即使我在查找时让其为空,那么就查找不了了,请高手们帮更下代码,要是能解释下就更好了。


图片点击可在新窗口打开查看此主题相关图片如下:2.jpg
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:1.jpg
图片点击可在新窗口打开查看
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:有空查找.rar
[此贴子已经被作者于2019/2/28 2:14:43编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/2/28 9:18:00 [只看该作者]

照抄

 

Select Case e.DataCol.name
    Case "销档","泵车信息_车型"
        Dim drs1 = e.DataTable.Select("销档='" & e.DataRow("销档") & "' and 泵车信息_车型='" & e.DataRow("泵车信息_车型") & "'")
        Dim drs = DataTables("销售档案").Select("销档编号='" & e.DataRow("销档") & "' and 泵送费用_车型='" & e.DataRow("泵车信息_车型") & "'")
        For Each cdr As DataRow In drs
            Dim flag As Boolean = True
            For Each dr As DataRow In drs1
                If cdr("泵送费用_时段") = dr("单价_时段") AndAlso cdr("泵送费用_位置") = dr("单价_位置") Then
                    flag = False
                    Exit For
                End If
            Next
            If flag Then
                e.DataRow("单价_价") = cdr("泵送费用_单价")
                e.DataRow("台班方量") = cdr("泵送费用_台班方量")
                e.DataRow("单价_时段") = cdr("泵送费用_时段")
                e.DataRow("单价_位置") = cdr("泵送费用_位置")

            End If
        Next
End Select

 

http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=130873&authorid=0&page=0&star=2

 


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


加好友 发短信
等级:幼狐 帖子:109 积分:1074 威望:0 精华:0 注册:2019/1/16 22:56:00
  发帖心情 Post By:2019/2/28 13:10:00 [只看该作者]

甜版主,测试了下,出不来呢,

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/2/28 15:14:00 [只看该作者]

认认真真看代码,认认真真测试。

 

删除你之前的数据,然后输入 销档和车型。


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


加好友 发短信
等级:幼狐 帖子:109 积分:1074 威望:0 精华:0 注册:2019/1/16 22:56:00
  发帖心情 Post By:2019/2/28 16:45:00 [只看该作者]

对不起了版主,可能是我没表达明白,我的意思是,我在泵送明细中查找销售档案里的数据,只要单价_价和台班方量,单价_时段和单价_位置是在销售档案表里有的时候,再输上去,没有就都空着,麻烦您再帮看下,对不起了

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/2/28 17:21:00 [只看该作者]

Select Case e.DataCol.name
    Case "销档","泵车信息_车型","单价_时段","单价_位置"
        Dim filter As String = "1=1"
        If e.DataRow.IsNull("销档") Then
            filter &= " and 销档编号 is null"
        Else
            filter &= " and 销档编号 = '" & e.DataRow("销档") & "'"
        End If
       
        If e.DataRow.IsNull("泵车信息_车型") Then
            filter &= " and 泵送费用_车型 is null"
        Else
            filter &= " and 泵送费用_车型 = '" & e.DataRow("泵车信息_车型") & "'"
        End If
       
        If e.DataRow.IsNull("单价_时段") Then
            filter &= " and 泵送费用_时段 is null"
        Else
            filter &= " and 泵送费用_时段 = '" & e.DataRow("单价_时段") & "'"
        End If
       
        If e.DataRow.IsNull("单价_位置") Then
            filter &= " and 泵送费用_位置 is null"
        Else
            filter &= " and 泵送费用_位置 = '" & e.DataRow("单价_位置") & "'"
        End If       
       
        Dim fdr = DataTables("销售档案").find(filter)
        If fdr IsNot Nothing Then
            e.DataRow("单价_价") = fdr("泵送费用_单价")
            e.DataRow("台班方量") = fdr("泵送费用_台班方量")
        End If
End Select

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


加好友 发短信
等级:幼狐 帖子:109 积分:1074 威望:0 精华:0 注册:2019/1/16 22:56:00
  发帖心情 Post By:2019/2/28 17:33:00 [只看该作者]

完美解决,谢谢了,非常感谢!

 回到顶部