以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  筛选问题!  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=69978)

--  作者:zgjmost
--  发布时间:2015/6/14 3:15:00
--  筛选问题!

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:国家开放大学考务系统签到单打印条件问题.rar

现在一个问题,在考试时要制作一个供学生签到的表,即同一日期,同一起始时间,同一教室的考试信息要打在一张A4的纸上,供学生签到。

 

我不知道怎样用树将日期,起始时间,教室做一个树,然后通过选中树的节点来筛选 ,请专家指导详细些,在实例中有实际代码,谢谢!


--  作者:大红袍
--  发布时间:2015/6/14 10:01:00
--  

AfterLoad

 

tv.BuildTree("考试数据表", "日期|起始时间")

 

 

-------------------

 

取得筛选条件,报表代码自己学习专业报表去写。

 

Dim tj,Filter,bdm,xh As String                       \'定义几个字符串变量
If e.Form.Controls("加载条件").text = ""            \'若加载条件这个文本框的值为空
    Filter = ""                                      \'则filter也为空
Else                                                 \'否则
    tj = e.Form.Controls("加载条件").text            \'tj等于加载条件这个文本框的值
    tj = tj.Replace(vbcrlf,";").Replace(Chr(10),"").Replace(Chr(13),";").Replace(chr(-23636),",")
    \'规范条件按格式,就是将一些回车替换为逗号分号之类的
    Dim Values(),Value2s() As String                    \'定义2个字符串的数组
    Values = tj.split(";")                           \'values是将tj通过分号来分割
    For Index As Integer = 0 To Values.Length - 1    \'遍历这个数组
        bdm = Values(Index).split("/")(0)
        \'bdm的值等于values数组里每个值通过斜杠分割后的第一个值,比如   values数组里的当前值是  11\\22  那么bdm就等于11
        xh = Values(Index).split("/")(1)
        \'xh的值等于values数组里每个值通过斜杠分割后的第二个值,比如   values数组里的当前值是  11\\22  那么xh就等于22
        If xh = "all"                               \'若xh不等于all
            Filter = Filter & " or 日期 = \'" & bdm & "\'"  \'将分割出来的值组成filter
        Else
            Value2s = xh.split(",")
            \'value2这个数组是通过xh经过逗号分割而得到的数组
            For i As Integer = 0 To Value2s.Length - 1
                \'遍历这个value2数组
                Filter =Filter &  " or 起始时间 = \'" & Value2s(i) & "\'"
                \'将遍历的值合成为filter
            Next                                      \'结束遍历value2s的数组
        End If                                        \'结束对xh不等于all的判断
    Next                                              \'结束对values的数组遍历
End If

If  Filter > "" Then
    Filter = "$" & Filter
    Filter = Filter.Replace("$ or ","")
msgbox(filter)
    DataTables("考试数据表").LoadFilter = Filter          \'把得到的filter作为jbxx的加载条件
Else
    DataTables("考试数据表").LoadFilter = ""
End If
DataTables("考试数据表").Load

[此贴子已经被作者于2015/6/14 10:00:49编辑过]

--  作者:zgjmost
--  发布时间:2015/6/14 10:51:00
--  

大红袍老师:

我是要得到在加载条件下 

 

假设我作了如图的选择:

 
图片点击可在新窗口打开查看此主题相关图片如下:qq截图20150614104301.png
图片点击可在新窗口打开查看

 

短日期 = “10日”and 起始时间  = “08:00” 下所有教室的遍历,那么要依次得到下面的筛选条件:

 

短日期 = “10日”and 起始时间  = “08:00” and 教室  = “201”

短日期 = “10日”and 起始时间  = “08:00” and 教室  = “202”

短日期 = “10日”and 起始时间  = “08:00” and 教室  = “203”

短日期 = “10日”and 起始时间  = “08:00” and 教室  = “204”

短日期 = “10日”and 起始时间  = “08:00” and 教室  = “301”

短日期 = “10日”and 起始时间  = “08:00” and 教室  = “401”

 

因为从下图中可以得到在10日,08:30中起用了这6个教室

 


图片点击可在新窗口打开查看此主题相关图片如下:qq截图20150614104840.png
图片点击可在新窗口打开查看

 

还有
大红袍老师如果树形图还加一级教室就最好,因为我不会加,加了之后下一层总出问题,还请大红袍老师帮忙解决,谢谢!


图片点击可在新窗口打开查看此主题相关图片如下:qq截图20150614104840.png
图片点击可在新窗口打开查看

--  作者:大红袍
--  发布时间:2015/6/14 11:07:00
--  

 无语,本来就给你做好了啊

 

http://foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=69890&skin=0

 


--  作者:zgjmost
--  发布时间:2015/6/14 11:16:00
--  

短日期 = “10日”and 起始时间  = “08:00” 下所有教室的遍历,那么要依次得到下面的筛选条件:

 

短日期 = “10日”and 起始时间  = “08:00” and 教室  = “201”

短日期 = “10日”and 起始时间  = “08:00” and 教室  = “202”

短日期 = “10日”and 起始时间  = “08:00” and 教室  = “203”

短日期 = “10日”and 起始时间  = “08:00” and 教室  = “204”

短日期 = “10日”and 起始时间  = “08:00” and 教室  = “301”

短日期 = “10日”and 起始时间  = “08:00” and 教室  = “401”

 

 

大红袍老师:那这个加载条件是怎样的呢?


--  作者:大红袍
--  发布时间:2015/6/14 13:00:00
--  
 看4楼