以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  请位老师帮助我解决加载逻辑列的语法,怎样加载审核与未审核的数据?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=45882)

--  作者:ahbzczy
--  发布时间:2014/2/12 19:31:00
--  
应该把生成的加载树中的“年”、“月”及“”“(3份)”之类的内容替换掉
--  作者:ahbzczy
--  发布时间:2014/2/12 19:47:00
--  

NodeMouseDoubleClick 语法为:

 

Dim Filter As String = ""
If e.Node.Name <> "加载所有数据" Then
    Dim Value()As String
    Value = e.Node.FullName.Split("\\")
    Select Case e.Node.Level
        Case 0
            Filter ="Year(审核日期) = " & Cstr(Value(0)).substring(0,4)
        Case 1
            Filter ="Year(审核日期) = " & 
Cstr(Value(0)).substring(0,4) & " And Month(审核日期) = " & Cstr(Value(1)).substring(0,Cstr(Value(1)).Index("月")) 

        Case 2
            Filter ="Year(审核日期) = " & 
Cstr(Value(0)).substring(0,4)  & " And Month(审核日期) = " & Cstr(Value(1)).substring(0,Cstr(Value(1)).Index("月"))  & " And 审核= " & Cstr(Value(2)).substring(0,Cstr(Value(2)).Index("("))  
    End Select
End If
DataTables("证件信息").LoadFilter = Filter
DataTables("证件信息").Load()


--  作者:ahbzczy
--  发布时间:2014/2/12 20:01:00
--  
indexof,我写错了


--  作者:lsy
--  发布时间:2014/2/13 7:52:00
--  

试用版的例子发上来。

很多人都会,很快就会有人解答。


--  作者:狐狸爸爸
--  发布时间:2014/2/13 8:30:00
--  

你的审核列是逻辑列吧,逻辑列不是字符型,不能用引号。

 

应该这样:

 

 

Dim Filter As String = ""
If e.Node.Name <> "加载所有数据" Then
    Dim Value()As String
    Value = e.Node.FullName.Split("\\")
    Select Case e.Node.Level
        Case 0
            Filter ="Year(审核日期) = " & Value(0)
        Case 1
            Filter ="Year(审核日期) = " & Value(0) & " And Month(审核日期) = " & Value(1)
        Case 2
            Filter ="Year(审核日期) = " & Value(0) & " And Month(审核日期) = " & Value(1) & " And 审核= " & cbool(Value(2))
    End Select
End If
DataTables("证件信息").LoadFilter = Filter
DataTables("证件信息").Load()


--  作者:狐狸爸爸
--  发布时间:2014/2/13 9:46:00
--  

你生成加载树的统计部分的条件代码,也需要改一下。
 
还有之前的不完善
 
  Filter ="Year(审核日期) = " & Value(0) & " And Month(审核日期) = " & Value(1) & " And 审核= " & cbool(Value(2))
 
 
请改为:

 

If Value(2) = True then

    Filter ="Year(审核日期) = " & Value(0) & " And Month(审核日期) = " & Value(1) & " And 审核= True"

Else

    Filter ="Year(审核日期) = " & Value(0) & " And Month(审核日期) = " & Value(1) & " And (审核= False Or 审核 Is Null)"

End If


--  作者:狐狸爸爸
--  发布时间:2014/2/13 14:06:00
--  

加上双引号:

 

If Value(2) = “True” then

    Filter ="Year(审核日期) = " & Value(0) & " And Month(审核日期) = " & Value(1) & " And 审核= True"

Else

    Filter ="Year(审核日期) = " & Value(0) & " And Month(审核日期) = " & Value(1) & " And (审核= False Or 审核 Is Null)"

End If

 

还不行的话,做个例子文件发上来,我帮你看一下

[此贴子已经被作者于2014-2-13 14:07:40编辑过]

--  作者:狐狸爸爸
--  发布时间:2014/2/13 14:49:00
--  
可以,记得单独做个例子上传,不要整个项目上传。
--  作者:狐狸爸爸
--  发布时间:2014/2/13 16:10:00
--  

我新增了一个窗口1,看看我是怎么做的,其实我说的方法正确,但是你不能硬套:

 

 

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


--  作者:狐狸爸爸
--  发布时间:2014/2/13 17:01:00
--  

你四行数据,没有审核的这样,你没有输入日期,所以没办法加载,你把这行的日期也输入。

因为你是根据日期生成的加载树。