以文本方式查看主题

-  搭建论坛  (http://bbs.diylsoft.com:8118/starforum/index.asp)
--  数据库交流  (http://bbs.diylsoft.com:8118/starforum/list.asp?boardid=6)
----  建议增加“ADO查询”构件的[主数据源]与[主字段名]属性。  (http://bbs.diylsoft.com:8118/starforum/dispbbs.asp?boardid=6&id=6534)

--  作者:水手
--  发布时间:2006-11-26 14:36:34
--  建议增加“ADO查询”构件的[主数据源]与[主字段名]属性。
建议增加“ADO查询”构件的[主数据源]与[主字段名]属性。就像“ADO数据表”构件那样,因为在主从关系中经常用到。使用SQL语言查询到数据,通过主从表打印相关报表,如果使用数据表就会增加许多临时表,临时表数据的重复操作会使数据库的体积不段扩大,如果“ADO查询”构件能像“ADO数据表”构件那样具有[主数据源]与[主字段名]属性,数据操作起来会更加方便,会在数据库中减少许多临时表。
--  作者:admin
--  发布时间:2006-11-27 9:25:11
--  
SQL是一种数据库编程语言,利用SQL我们可以直接设置表的对映关系。
--  作者:王键
--  发布时间:2006-11-27 11:43:07
--  
以下是引用admin在2006-11-27 9:25:11的发言:
SQL是一种数据库编程语言,利用SQL我们可以直接设置表的对映关系。

我也建议增加,因为我不知怎样设置表的对映关系,并且大多数时候用的都是access数据库。


--  作者:水手
--  发布时间:2006-11-27 12:26:41
--  

如果有这样的属性,用户开发起来就更方便了。现在就是通过查询得到了数据,但是在打印时主从关系设置出了问题。如果查询构件有这样的功能,在数据库中可以省去很多临时表。


--  作者:FSJM
--  发布时间:2006-11-27 16:52:12
--  

不用加临时表的

你只要在“ADO查询”的“记录移动之后”的事件里,增加一个执行查询“明细表”的SQL语句就可以了。

如:select * from 明细表 where 明细表连接字段名 = 主表主键值


--  作者:FSJM
--  发布时间:2006-11-27 16:52:24
--  

不用加临时表的

你只要在“ADO查询”的“记录移动之后”的事件里,增加一个执行查询“明细表”的SQL语句就可以了。

如:select * from 明细表 where 明细表连接字段名 = 主表主键值

注意:实际写时,主表主键值是需要设置一个参数,来完成自动变化的。


--  作者:FSJM
--  发布时间:2006-11-27 16:54:50
--  
如果增加[主数据源],做法也是类似的。
--  作者:王键
--  发布时间:2006-11-27 21:12:39
--  
其实平常中也是这么应用的,只是觉的还是好麻烦。
--  作者:水手
--  发布时间:2006-11-27 21:17:05
--  关于“ADO查询”构件属性

select k.客户号,k.客户名称,y.油品名称,sum(j.加油数量) as 合计加油数量,sum(j.金额) as 合计金额,round((sum(j.金额)/sum(j.加油数量))/1.17,6) as 不含税单价,round(sum(j.金额)/1.17,2) as 不含税金额,sum(j.金额)-round(sum(j.金额)/1.17,2) as 税额
from 交易表 j, 客户资料表 k,油品单价表 y
where j.交易日期>=:date1 and j.交易日期<=:date2 and j.客户号=k.客户号 and j.油品代码=y.油品代码
group by k.客户号,k.客户名称,y.油品名称
order by k.客户号

上面是我的"ADO查询"的SQL语句,查询结果如下:


此主题相关图片如下:
按此在新窗口浏览图片

报表结果如下:



此主题相关图片如下:
按此在新窗口浏览图片

我现在的做法是使用“ADO命令”将查询结果写入一个临时表,通过主从关系实现了上面的结果。如果“ADO查询”构件像“ADO数据表”构件一样,直接设置一下就可以了,不需要将查询结果写入临时表中。
如何在ADO查询记录移动中设置?


--  作者:FSJM
--  发布时间:2006-11-28 1:23:49
--  

把你现在的 SQL查询 建一个视图(虚拟表),然后你可以使用"ADO数据表"构件打开,切还可以使用其中的[主数据源]。

视图 是一个非常好 的功能,用好了会给你带来很多方便。

你可以试一试。