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


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

主题:目录树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编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
yancheng
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | 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
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


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

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


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


 回到顶部
帅哥哟,离线,有人找我吗?
yancheng
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | 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
图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
yancheng
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | 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
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | 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编辑过]

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


加好友 发短信
等级:四尾狐 帖子:842 积分:5971 威望:0 精华:0 注册:2013/6/29 9:36:00
  发帖心情 Post By:2016/12/13 12:20:00 [显示全部帖子]

SQL SEVER 2008 SP2

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


加好友 发短信
等级:四尾狐 帖子:842 积分:5971 威望:0 精华:0 注册:2013/6/29 9:36:00
  发帖心情 Post By:2016/12/13 12:54:00 [显示全部帖子]

我试了一下:机具 订单表,按采购入库那样写,也不行。我改成下面的代码,不提错,但是不对。不能筛选,年月

Dim Filter As String
If e.node.name = "所有订单" Then
    filter = ""
Else
    Dim d1 As Date
    Dim d2 As Date
   Dim dr As DataRow = e.Node.DataRow
    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 = " " & dr("进货日期").year & "= " & Year & " And 合同名称 = '" & htmc & "'"
        Case 3
            Filter = "" & dr("进货日期").year & "= " & Year & " And " & dr("进货日期").month & "="  & month & " And 合同名称 = '"& htmc &"'"
        Case 4
            Filter = "" & dr("进货日期").year & "= " & Year & " And " & dr("进货日期").month & "="  & month & " And 合同名称 = '"& htmc &"' And 供应商 = '" & gys & "'"
    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
[此贴子已经被作者于2016/12/13 13:00:19编辑过]

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


加好友 发短信
等级:四尾狐 帖子:842 积分:5971 威望:0 精华:0 注册:2013/6/29 9:36:00
  发帖心情 Post By:2016/12/13 14:30:00 [显示全部帖子]

这样也写也不行。

弹错:标准表达式中数据类型不匹配。


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

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


加好友 发短信
等级:四尾狐 帖子:842 积分:5971 威望:0 精华:0 注册:2013/6/29 9:36:00
  发帖心情 Post By:2016/12/13 15:27:00 [显示全部帖子]

.NET Framework 版本:2.0.50727.5485
Foxtable 版本:2016.7.29.1
错误所在事件:
详细错误信息:
该字符串未被识别为有效的 DateTime。有一个从索引 0 处开始的未知字。


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