以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  窗口查询  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=39171)

--  作者:良才
--  发布时间:2013/8/17 12:32:00
--  窗口查询

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

管理项目2有三张表分别是:学费信息、餐费信息、车费信息,在窗口1_Table1查询学费信息所有学生,添加在籍、午餐、接送列,并在对应学生姓名的行打  √,如果学生是在籍列有√、午餐、接送列为空,这个学生发 绿牌。如果学生是在籍列有√、午餐√、接送列为空,这个学生发 黄牌。如果学生是在籍列有√、午餐√、接送√,这个学生发 红牌。

查询结果应该是下图:

 


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

请高手指教  谢谢


--  作者:lsy
--  发布时间:2013/8/17 14:04:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:校牌管理.table


--  作者:Bin
--  发布时间:2013/8/17 14:20:00
--  
内部表或者ACCESSS

select a.学期,a.学生编号,a.学生姓名,IIF((select Count(b.学生姓名) from {餐费信息} b where b.学生编号=a.学生编号 and b.学期=a.学期)=0,\'\',\'√\') as 午餐,IIF((select Count(b.学生姓名) from {车费信息} b where b.学生编号=a.学生编号 and b.学期=a.学期)=0,\'\',\'√\') as 接送,IIF(午餐=\'√\' and 接送=\'√\',\'红牌\',IIF(午餐=\'\' and 接送=\'\',\'绿牌\',\'黄牌\')) as 校牌颜色 from {学费信息} a

MSSQL

select a.学期,a.学生编号,a.学生姓名,case (select Count(b.学生姓名) from {餐费信息} b where b.学生编号=a.学生编号 and b.学期=a.学期) when 0 then \'\' else \'√\' as 午餐,case (select Count(b.学生姓名) from {车费信息} b where b.学生编号=a.学生编号 and b.学期=a.学期) when 0 then \'\' else \'√\' as 接送, case 午餐=\'√\' and 接送=\'√\' then \'红牌\' case 午餐=\'\' and 接送=\'\' then \'绿牌\' else \'黄牌\' as 校牌颜色 rom {学费信息} a   
[此贴子已经被作者于2013-8-17 14:32:39编辑过]

--  作者:lsy
--  发布时间:2013/8/17 14:57:00
--  

三张表合成一张表,什么都有了。

那么多表,效率不高。


--  作者:良才
--  发布时间:2013/8/18 9:04:00
--  
谢谢
--  作者:良才
--  发布时间:2013/8/20 18:06:00
--  窗口查询

e.Form.Controls("Label1").text = Tables("学生校牌_Table1").Current("学期")&  "人数: " & Tables("学生校牌_Table1").Compute("count(IsNull(午餐, 0))")& " 人"

我想统计字符“午餐”列,有空值代码这样写,我这样写是错误count(IsNull(午餐, 0) 。请高手指教,谢谢!

[此贴子已经被作者于2013-8-20 18:19:56编辑过]

--  作者:Bin
--  发布时间:2013/8/21 8:44:00
--  
Tables("学生校牌_Table1").Compute("count(午餐)","午餐 IS NULL") & " 人"