以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]窗口多表查询 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=16350) |
||||
-- 作者:游山玩水 -- 发布时间:2012/2/10 14:36:00 -- [求助]窗口多表查询 我想通过查询窗口,通过输入变量值,来查询表B、表C中符合条件的行,生成表A式样的查询表,查询条件可以选其中任意组合,如果在一个表中,通过代码很容易,但是多表查询不知怎么搞,请高手指点,谢谢。
[此贴子已经被作者于2012-2-10 14:46:35编辑过]
|
||||
-- 作者:狐狸爸爸 -- 发布时间:2012/2/10 14:48:00 -- 既然是结构相同的数据,你应该放在一个表中,而不是分开多个表。
否则只能用SQL语句:
Select * From {表B} Where 条件 UNION ALL Select * From {表C} Where 条件
|
||||
-- 作者:游山玩水 -- 发布时间:2012/2/10 14:54:00 -- 以下是引用狐狸爸爸在2012-2-10 14:48:00的发言:
既然是结构相同的数据,你应该放在一个表中,而不是分开多个表。
否则只能用SQL语句:
Select * From {表B} Where 条件 UNION ALL Select * From {表C} Where 条件
因为除了几个要查询的主要字段外,后面的很多字段都不同的,为了便于输入和核对,只能分几个表。 我的问题是sql语句中,怎么组合这几个变量,请狐爸指教,谢谢! |
||||
-- 作者:lihe60 -- 发布时间:2012/2/10 14:55:00 -- 能用sql语句的地方,就不要用狐表专用语句。 |
||||
-- 作者:游山玩水 -- 发布时间:2012/2/10 15:22:00 -- 如何在sql语句中,组合几个变量呢? |
||||
-- 作者:狐狸爸爸 -- 发布时间:2012/2/10 15:27:00 -- 你原来怎么合成的条件,现在就怎么合成:
Dim flt As String \'合成条件保存到flt变量 DataTables("表A").Fill("Select * From {表B} Where " & flt & " UNION ALL Select * From {表C} Where " & flt, "", False) |
||||
-- 作者:游山玩水 -- 发布时间:2012/2/10 16:28:00 -- 查询按钮代码如下:
Dim Filter As String DataTables("表A").Fill("Select 日期,姓名,车号,行程 From {表B} Where " & Filter & " UNION ALL Select 日期,姓名,车号,行程 From {表C} Where " & Filter, "", False)
筛选可以正常筛选,但提示出错!请问错在哪里啊
此主题相关图片如下:截图04.jpg |
||||
-- 作者:狐狸爸爸 -- 发布时间:2012/2/10 16:29:00 -- DataTables("表A").Fill("Select 日期,姓名,车号,行程 From {表B} Where " & Filter & " UNION ALL Select 日期,姓名,车号,行程 From {表C} Where " & Filter, "", False)
改为
DataTables("表A").Fill("Select 日期,姓名,车号,行程 From {表B} Where " & Filter & " UNION ALL Select 日期,姓名,车号,行程 From {表C} Where " & Filter, "", True)
看看行不行。
不行再留言。 |
||||
-- 作者:游山玩水 -- 发布时间:2012/2/10 16:38:00 -- 以下是引用狐狸爸爸在2012-2-10 16:29:00的发言:
DataTables("表A").Fill("Select 日期,姓名,车号,行程 From {表B} Where " & Filter & " UNION ALL Select 日期,姓名,车号,行程 From {表C} Where " & Filter, "", False)
改为
DataTables("表A").Fill("Select 日期,姓名,车号,行程 From {表B} Where " & Filter & " UNION ALL Select 日期,姓名,车号,行程 From {表C} Where " & Filter, "", True)
看看行不行。
不行再留言。 现在可以了,非常感谢狐爸! |
||||
-- 作者:游山玩水 -- 发布时间:2012/2/11 0:32:00 -- 新问题,为什么使用外部sql数据源后这段代码又不行了,提示“sql语句执行错误,请检查语法和数据源设置”?我已经在代码前设置了名称为manager的外部数据源了
Dim cmd As New SQLCommand Dim Filter As String DataTables("表A").Fill("Select 日期,姓名,车号,行程 From {表B} Where " & Filter & " UNION ALL Select 日期,姓名,车号,行程 From {表C} Where " & Filter, "", true)
[此贴子已经被作者于2012-2-11 0:33:15编辑过]
|