以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 查询表分页及查询 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=148458) |
||||
-- 作者:qaz17909 -- 发布时间:2020/4/8 12:50:00 -- 查询表分页及查询 由三个表关联生成查询表,想进行分页及查询,但发现没法引用ID列及任何一个独立不重复的列作为分页列,有没有比较好的办法。 |
||||
-- 作者:有点蓝 -- 发布时间:2020/4/8 14:07:00 -- 我测试没有问题,上传实例说明 |
||||
-- 作者:qaz17909 -- 发布时间:2020/4/8 15:29:00 -- 实例已上传,麻烦帮我看下如何分页,谢谢
|
||||
-- 作者:有点蓝 -- 发布时间:2020/4/8 16:54:00 -- 内部表没有办法,如果是外部表比如access,在数据库里添加一个查询(视图),sql: Select 任务单号,单位名称,合同表.合同编号,合同内容,到款日期,金额,任务单号 + format(到款日期,\'yyyymmdd\') As [ID] From (到款表 Right JOIN 合同表 ON 合同表.[合同编号] = 到款表.[合同编号]) Right JOIN 任务表 ON 任务表.[合同编号] = 合同表.[合同编号] 假设数据库里查询(视图)的名称为“收费查询”,添加sql语句查询表:http://www.foxtable.com/webhelp/topics/2329.htm,sql为: select * from 收费查询 然后分页这样 DataTables("收费查询").LoadOver = "id" DataTables("收费查询").LoadTop = 5 DataTables("收费查询").LoadPage = 1 DataTables("收费查询").Load |
||||
-- 作者:qaz17909 -- 发布时间:2020/4/8 21:56:00 -- 我是在窗口设计生成sql查询表的。我已经按照你的思路,用表达式合成一个“ID”列,但是当我用“ID”列作为分页列时(Datatables("收费查询").LoadOver = "ID"),提示出错:列名“ID”无效”。我试了下,只能用到款表的真实存在列作为分页列。 |
||||
-- 作者:有点蓝 -- 发布时间:2020/4/9 9:12:00 -- 必须到数据库里添加查询,如果是SqlServer,添加视图。然后早foxtable里使用这个查询或者视图,才能使用分页 |
||||
-- 作者:qaz17909 -- 发布时间:2020/4/9 10:54:00 -- 你说的是到服务器sqlserve里去添加视图是吗? |
||||
-- 作者:有点蓝 -- 发布时间:2020/4/9 10:59:00 -- 是 |
||||
-- 作者:qaz17909 -- 发布时间:2020/4/9 12:00:00 -- sqlserve视图里,我想添加一列表达式列即合并任务单号及到款编号作为ID列,但当到款编号为空时用“1”替代,代码如下但提示出错,应该怎么写? dbo.任务表.任务单号 + ISNULL([dbo.到款表.到款编号], 1) AS ID
|
||||
-- 作者:有点蓝 -- 发布时间:2020/4/9 12:11:00 -- dbo.任务表.任务单号 + ISNULL([dbo.到款表.到款编号], \'1\') AS ID |