以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  选择加载数据  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=161477)

--  作者:nxqtxwz
--  发布时间:2021/3/18 17:10:00
--  选择加载数据

老师您好:

我有一个SQL外部表,是历年来的学生信息,但现在只想加载目前在校学生信息,其它信息不加载。问题有三个:

1、下面的代码应放在哪个事件中?

If e.DataTableName = "学生名册"  Then
    e.SelectString =
"Se lect * Fr om {学生名册} Where ([班级] = #" 2017级1班 "#" or [班级] = #" 2017级2班 "#"  or [班级] = #" 2017级3班 "#"  )  \'班级很多,共41个,是不是都这样写

End If
2、上面的代码对吗?请问代码还能怎么写比较简单些

3、不读入的记录查询是是不是能查询到

[此贴子已经被作者于2021/3/18 17:14:04编辑过]

--  作者:有点蓝
--  发布时间:2021/3/18 17:28:00
--  
BeforeLoadOuterTable事件

If e.DataTableName = "学生名册"  Then
    e.SelectString = 
"Se lect * Fr om {学生名册} Where [班级] in (\'
2017级1班\',\'2017级2班\',\'2017级3班\')"  \'班级很多,共41个,是不是都这样写

End If


更合理的用法应该是在表格加一个逻辑列,不在校的班级就勾选。然后

e.SelectString = "Se lect * Fr om {学生名册} Where [某逻辑列] = false" 


--  作者:nxqtxwz
--  发布时间:2021/3/18 17:51:00
--  

增加逻辑列的办法是很好,但有个问题,逻辑列似乎只能一个一个的勾选,几千个学生太麻烦了,怎么能批量勾选呢?


--  作者:有点蓝
--  发布时间:2021/3/18 20:26:00
--  
使用代码处理,参考:http://www.foxtable.com/webhelp/topics/1532.htm