两个Adoquery如何设置主从关系?

cjzy22 2005-03-24 10:23:30
Adoquery1.sql.text:=
select a.replace_product_id,a.replace_product_name,a.picture_of_id,a.replace_product_pn, a.product_factory,a.manufacturer_code,a.replace_product_num,a.exchange_product_id,
a.replace_reasion,b.product_num from replace_product a left join input_yes b on a.replace_product_id=b.product_id where a.work_id='AAA'
Adoquery2.sql.text:=
select product_replace_id '替换件号',product_replace_name '替换名称',case replace_relation when 0 then '完全替代' when 1 then '升级替代' when 2 then '降级替代' end '替代关系' from product_replace

其中Adoquery1中的replace_product_id和Adoquery2中的product_id是一对多的关系;如何设置Adoquery1和Adoquery2之间的主从关系?
...全文
422 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
cjzy22 2005-03-24
  • 打赏
  • 举报
回复
现在fastreport中显示的是每条主表都会在细项中出现相同的信息,而实际中仅仅
只有相关的主表才有.而fastreport中仅仅调用的是主从表关系呀
Kshape 2005-03-24
  • 打赏
  • 举报
回复

主的为ADOQuery1和DateSource1,从的为另两个。
把ADOQuery2的DateSource属性设为DateSource1,
还有一点要注意的是两个表中要通过相同的字段关联

ADOQuery2的sql语句中要体现出关联字段
比喻:select * from Table where tag=:tag
其中tag就是两个表中的相同字段
boyjason 2005-03-24
  • 打赏
  • 举报
回复
在主表adoquery的afterscroll事件里将从表adoquery的参数赋值。

adoquery2.sql:='select product_replace_id '替换件号',product_replace_name '替换名称',case replace_relation when 0 then '完全替代' when 1 then '升级替代' when 2 then '降级替代' end '替代关系' from product_replace
where product_id=:product_id'//此外为修改部分

在adoquery1的onafterscroll事件中写如下代码
begin
adoquery2.close;
adoquery2.parameters[0].value=adoquery1.fieldvalue['replace_product_id'];
adoquery2.open;
end;
这样就行了,还有一点就是adoquery1的Locktype要是ltOptimistic,adoquery2的locktype是ltBatchOptimistic,这样当adoquery1更新后才会更新adoquery2的数值



cjzy22 2005-03-24
  • 打赏
  • 举报
回复
可是我的sql语句有可能是多表操作,adotable肯定不行;而使用Datasource时
在做主从报表时不能实现相应的主从关系
Heyongfeng 2005-03-24
  • 打赏
  • 举报
回复
从表用ADOTABLE,通过mastersource与masterfields两个属性就可以设置了。
madyak 2005-03-24
  • 打赏
  • 举报
回复
Adoquery2.sql.text:=
select product_replace_id '替换件号',product_replace_name '替换名称',case replace_relation when 0 then '完全替代' when 1 then '升级替代' when 2 then '降级替代' end '替代关系' from product_replace where product_id=:replace_product_id

放个DataSource1,ADOQuery2.DataSource=DataSource1

DataSource1.DataSet=ADOQuery1

5,928

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧