Foxtable(狐表)用户栏目专家坐堂 → 目录树filter出错?


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

主题:目录树filter出错?

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


加好友 发短信
等级:四尾狐 帖子:842 积分:5971 威望:0 精华:0 注册:2013/6/29 9:36:00
目录树filter出错?  发帖心情 Post By:2016/12/12 20:35:00 [只看该作者]

Dim filter As String
If e.Node.name = "所有考勤" Then
    filter = ""
Else

    Dim dr As DataRow = e.Node.DataRow
    Dim htmc As String = e.Node.DataRow("合同名称")
    Dim Year As Integer = e.Node.DataRow("年")
    Dim Month As Integer = e.Node.DataRow("月")
    Select Case e.Node.Level
        Case 0
            Filter ="合同名称 ='" & htmc & "'"
        Case 1
            Filter =" Year(考勤月份) = " & dr("年") & " And 合同名称 = '" & htmc & "' "
        Case 2
            Filter ="Year(考勤月份) = " & dr("年") & " And  Month(起始日期) = " & dr("月") & " And 合同名称 ='" & htmc & "'"
    End Select
End If
DataTables("考勤").loadFilter = filter
DataTables("考勤").load
Tables("考勤").Filter = filter

  Case 1
            Filter =" Year(考勤月份) = " & year & " And 合同名称 = '" & htmc & "' "   这样写也一样提示错误.


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

[此贴子已经被作者于2016/12/12 20:36:06编辑过]

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


加好友 发短信
等级:超级版主 帖子:106464 积分:541467 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/12/12 20:45:00 [只看该作者]

Dim filter As String
If e.Node.name = "所有考勤" Then
    filter = ""
Else
    
    Dim dr As DataRow = e.Node.DataRow
    Dim htmc As String = e.Node.DataRow("合同名称")
    Dim Year As Integer = e.Node.DataRow("年")
    Dim Month As Integer = e.Node.DataRow("月")
Dim dy As Date = new Date(Year ,1,1)
Dim dm As Date = new Date(Year ,Month ,1)
    Select Case e.Node.Level
        Case 0
            Filter ="合同名称 ='" & htmc & "'"
        Case 1
            Filter =" 考勤月份 >= #" & dy & "# and 考勤月份 < #" & dy.AddYears(1) & "# And 合同名称 = '" & htmc & "' "
        Case 2
            Filter ="考勤月份 >= #" & dm & "# and 考勤月份 < #" & dm.AddMonths(1) & "#  And 合同名称 ='" & htmc & "'"
    End Select
End If
DataTables("考勤").loadFilter = filter
DataTables("考勤").load
'Tables("考勤").Filter = filter

如果是sql server,把#改为单引号

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


加好友 发短信
等级:四尾狐 帖子:842 积分:5971 威望:0 精华:0 注册:2013/6/29 9:36:00
  发帖心情 Post By:2016/12/13 10:15:00 [只看该作者]

Dim Filter As String 
If e.node.name = "所有订单" Then
    filter = ""
Else
    Dim d1 As Date
    Dim d2 As Date
    Dim Year As Integer = e.Node.DataRow("年")
    Dim Month As Integer = e.Node.DataRow("月")
    Dim htmc As String = e.Node.DataRow("合同名称")
    Dim gys As String = e.Node.DataRow("供应商")
    Select Case e.Node.Level
        Case 0
            filter = "false"
        Case 1
            filter="合同名称 = '"& htmc &"'"
        Case 2
            filter="Year(入库日期) = " & Year & " And 合同名称 = '" & htmc & "'"
        Case 3
            Filter = "Year(入库日期) = " & year & " And month(入库日期) ="  & month & " And 合同名称 = '"& htmc &"'"
        Case 4
            Filter = "Year(入库日期) = " & year & " And month(入库日期) ="  & month & " And 合同名称 = '"& htmc &"' And 供应商 = '" & gys & "'"
    End Select

End If
DataTables("采购入库").LoadFilter= Filter
DataTables("采购入库").load()
Tables("采购入库").Sort = "入库日期 desc"

这个是我另一个表的筛选。
用上面的代码可以。有什么差别吗?为什么考勤表,不能用?

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


加好友 发短信
等级:四尾狐 帖子:842 积分:5971 威望:0 精华:0 注册:2013/6/29 9:36:00
  发帖心情 Post By:2016/12/13 10:26:00 [只看该作者]

用有点蓝,老师的代码。提示错误。SQL数据


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


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


加好友 发短信
等级:超级版主 帖子:106464 积分:541467 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/12/13 10:43:00 [只看该作者]

Year(入库日期)在DataTables("采购入库").LoadFilter中可以用,在Tables("采购入库").Filter中不可以用,要想做通用的就按2楼的方式用

4楼问题检查事件代码,表达式的使用有问题

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


加好友 发短信
等级:四尾狐 帖子:842 积分:5971 威望:0 精华:0 注册:2013/6/29 9:36:00
  发帖心情 Post By:2016/12/13 10:58:00 [只看该作者]

Dim filter As String
If e.Node.name = "所有考勤" Then
    filter = ""
Else
    
    Dim dr As DataRow = e.Node.DataRow
    Dim htmc As String = e.Node.DataRow("合同名称")
    Dim Year As Integer = e.Node.DataRow("年")
    Dim Month As Integer = e.Node.DataRow("月")
    Dim dy As Date = new Date(Year ,1,1)
    Dim dm As Date = new Date(Year ,Month ,1)
    Select Case e.Node.Level
        Case 0
            Filter ="合同名称 ='" & htmc & "'"
        Case 1
            Filter =" 考勤月份 >= '" & dy & "' and 考勤月份 < '" & dy.AddYears(1) & "' And 合同名称 = '" & htmc & "' "
        Case 2
            Filter ="考勤月份 >= '" & dm & "' and 考勤月份 < '" & dm.AddMonths(1) & "'  And 合同名称 ='" & htmc & "'"
    End Select
End If
If filter > "" Then
    DataTables("考勤").RemoveFor(filter)
    DataTables("考勤").AppendLoad(filter)
    Tables("考勤").Filter = filter
Else
    DataTables("考勤").loadFilter = filter
    DataTables("考勤").load
    Tables("考勤").Filter = filter
End If
图片点击可在新窗口打开查看此主题相关图片如下:5.jpg
图片点击可在新窗口打开查看

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


加好友 发短信
等级:超级版主 帖子:106464 积分:541467 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/12/13 11:05:00 [只看该作者]

msgbox(filter) ,弹出内容看看

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


加好友 发短信
等级:四尾狐 帖子:842 积分:5971 威望:0 精华:0 注册:2013/6/29 9:36:00
  发帖心情 Post By:2016/12/13 11:25:00 [只看该作者]


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

我如果把代码的单引号去掉。弹错说;日期与双精度小数不匹配。
[此贴子已经被作者于2016/12/13 11:36:44编辑过]

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


加好友 发短信
等级:四尾狐 帖子:842 积分:5971 威望:0 精华:0 注册:2013/6/29 9:36:00
  发帖心情 Post By:2016/12/13 11:31:00 [只看该作者]

111
图片点击可在新窗口打开查看此主题相关图片如下:3.jpg
图片点击可在新窗口打开查看
[此贴子已经被作者于2016/12/13 11:31:57编辑过]

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


加好友 发短信
等级:超级版主 帖子:106464 积分:541467 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/12/13 11:54:00 [只看该作者]

这个条件不应该有问题,是什么数据库?

 回到顶部
总数 23 1 2 3 下一页