Foxtable(狐表)用户栏目专家坐堂 → Filter 问题


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

主题:Filter 问题

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


加好友 发短信
等级:七尾狐 帖子:1511 积分:9801 威望:0 精华:0 注册:2014/12/18 16:12:00
Filter 问题  发帖心情 Post By:2021/11/27 15:51:00 [只看该作者]

Dim a As DataRow = DataTables("钣金送货单").Find("材料 is null") 
Dim Nian As String = a("送货年月日").Substring(0,4)

上面的代码放在一个按钮里面。查找时是从 钣金送货单 这个表的所有数据行进行查找。我希望只从筛选后的数据行里面去查找数据。请问要怎样改代码?谢谢、

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


加好友 发短信
等级:四尾狐 帖子:996 积分:6630 威望:0 精华:0 注册:2014/10/20 11:06:00
  发帖心情 Post By:2021/11/27 16:00:00 [只看该作者]


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


加好友 发短信
等级:超级版主 帖子:107739 积分:548028 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/11/27 16:38:00 [只看该作者]

dim filter as string = "材料 is null"
if Tables("钣金送货单").filter > "' then
filter = filter & " and " & Tables("钣金送货单").filter
end if 
Dim a As DataRow = DataTables("钣金送货单").Find(filter ) 
if a isnot bhing then
Dim Nian As String = a("送货年月日").Substring(0,4)
end if


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


加好友 发短信
等级:七尾狐 帖子:1511 积分:9801 威望:0 精华:0 注册:2014/12/18 16:12:00
  发帖心情 Post By:2021/11/27 16:46:00 [只看该作者]

这些代码,我老是学不会,没有理解前面4行的含义。

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


加好友 发短信
等级:超级版主 帖子:107739 积分:548028 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/11/27 17:14:00 [只看该作者]


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


加好友 发短信
等级:七尾狐 帖子:1511 积分:9801 威望:0 精华:0 注册:2014/12/18 16:12:00
  发帖心情 Post By:2022/9/1 15:25:00 [只看该作者]

    If CurrentTable.name.contains("员工名单") Then
        Dim filter As String = Tables("请假加班").filter
        If filter > "" Then filter = filter & " and "
            Dim xms As List(Of String) = DataTables("请假加班").GetValues("姓名",Tables("请假加班").filter)
            For Each xm As String In xms
                Dim qty As Integer = Tables("请假加班").Compute("sum(无薪假天数)", "姓名 ='" & xm & "' ")
                Dim dr97 As DataRow = DataTables("员工名单").find("姓名 ='" & xm & "' ")
                If dr97 IsNot Nothing Then
                    If qty > 0 Then
                        dr97("无薪假天") = qty
                    Else
                        dr97("无薪假天") = Nothing
                    End If
                End If
            Next
    End If

上面的代码,我先在“请假加班”里面做一次筛选,然后再执行 Tables("请假加班").Compute("sum(无薪假天数)", "姓名 ='" & xm & "' ") 的计算,希望只计算筛选后的数据,但是实际上计算出来的qty 却还是筛选前的数据,请问是哪里的问题呢?谢谢。

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


加好友 发短信
等级:超级版主 帖子:107739 积分:548028 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/9/1 15:36:00 [只看该作者]

 If CurrentTable.name.contains("员工名单") Then
        Dim filter As String = Tables("请假加班").filter
        If filter > "" Then 
filter = filter & " and 姓名 ='" & xm & "'"
else
 filter = "姓名 ='" & xm & "'"
endif
            Dim xms As List(Of String) = DataTables("请假加班").GetValues("姓名",Tables("请假加班").filter)
            For Each xm As String In xms
                Dim qty As Integer = Tables("请假加班").Compute("sum(无薪假天数)", filter )
                Dim dr97 As DataRow = DataTables("员工名单").find("姓名 ='" & xm & "' ")

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


加好友 发短信
等级:七尾狐 帖子:1511 积分:9801 威望:0 精华:0 注册:2014/12/18 16:12:00
  发帖心情 Post By:2022/9/1 16:23:00 [只看该作者]

我后来再测试一次,好像6楼的数据又正确了。奇怪。

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


加好友 发短信
等级:七尾狐 帖子:1511 积分:9801 威望:0 精华:0 注册:2014/12/18 16:12:00
  发帖心情 Post By:2022/9/2 13:35:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:临时代码1.rar

请看附件代码。我还加了一句:
Dim ty9 As String = DataTables("考勤记录").GetComboListString("季度") 

但是这句会处理筛选前的数据,而我希望它处理筛选后的数据,请问这里要怎样修改?谢谢。

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


加好友 发短信
等级:超级版主 帖子:107739 积分:548028 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/9/2 13:37:00 [只看该作者]

不都一样的处理方法?

Dim ty9 As String = DataTables("考勤记录").GetComboListString("季度",Tables("考勤记录").filter

 回到顶部
总数 11 1 2 下一页