begin QueryB.Close; QueryB.Sql.Text := Foramt('select * from B where (字段1=%s) and (字段2=%s)',[ QueryA.FieldValues['AID'],QueryA.FieldValues['AMXID'] ]); QueryB.Open; end;//具体应用中,还要根据你的字段类型略有改动。
//至于是传递QueryA哪一条记录的AID、AMXID值,那就要结合QueryA的记录游标移动了(First、Next、Last等)Foramt ---> Format -_-
begin
QueryB.Close;
QueryB.Sql.Text := Foramt('select * from B where (字段1=%s) and (字段2=%s)',[ QueryA.FieldValues['AID'],QueryA.FieldValues['AMXID'] ]);
QueryB.Open;
end;//具体应用中,还要根据你的字段类型略有改动。
--------------------没看明白,能不能重新表达一下。
-----------------------
1 11
2 22
表B:
AID AMXID 其他字段
-----------------------
1 11 111
2 11 211
1 22 122
2 22 222
1 11 111
3 33 333要得到的查询结果是:AID AMXID 其他字段
-----------------------
1 11 111
2 22 222
1 11 111
如果是这个意思,联合查询就可以了:'select b.aid, b.amxid, b.其他字段 from a,b where (a.aid=b.aid) and (a.amxid=b.amxid)'
之所以我要用几个query,是因为我的B的结果要根据A的查询结果出来,然后还有C表的查询结果又要根据B的查询结果来确定,同样D、E、F、G、H(总共8个表)都要根据前面的查询结果得出。同时ABCDEFGH每个表都不是一个单纯的表,而是由主从表组合进行查询的。所有想直接把前一步查询的结果作为一个数据集直接传过来与B表等进行关联查询,然后再把B的结果与C进行关联查询,以此类推到最后。不知道我说清楚了没有!;)
之所以我要用几个query,是因为我的B的结果要根据A的查询结果出来,然后还有C表的查询结果又要根据B的查询结果来确定,同样D、E、F、G、H(总共8个表)都要根据前面的查询结果得出。同时ABCDEFGH每个表都不是一个单纯的表,而是由主从表组合进行查询的。所有想直接把前一步查询的结果作为一个数据集直接传过来与B表等进行关联查询,然后再把B的结果与C进行关联查询,以此类推到最后。不知道我说清楚了没有!;)