多表的操作(奖分50) ( 积分: 50 )

  • 主题发起人 主题发起人 fuxin198311
  • 开始时间 开始时间
F

fuxin198311

Unregistered / Unconfirmed
GUEST, unregistred user!
本人由于是第一次做关于多表之间的操作的 不知从那下手 我也看了关于多表连接的sql语法 在delphi中无法达到效果 如在delphi中显示的是
表一 字段 f03 表二 字段 f03 表三 字段(有很多字段值)
客户名称 送料客户 来料型号 品名 库存数量 .....
当我单击表一其中一个字段值时 就会在表二 表三中显示相对应的值 单击表二其中一个值就会在表三中显示相应的值 请教好心人了 能不能给我做个这样的例子呢 或是完成的操作步骤 谢谢了
 
主從表,論壇上很多例子
 
没有明白搂住的意思!给我的感觉是在单击事件里进行多表查询,然后分别显示结果
 
就是选中表一中的任一选项 表二 表三就显示对应的值
 
可以让表2数据源指向表1,表3数据源指向表2,让查询语句自动获取参数
 
我给你结构
table1:id name nextid
table2:nexitid name1,name2
id->获取nextid "当我单击表一其中一个字段值时"
nextid->name1,name2 "单击表二其中一个值就会在表三中显示相应的值"
表二和表三是同一个表中不通字段集合的信息嘛?
 
这是三个不同的表 我两个不同的表就可以 当我用到三个表时 就不行了 下面是我写的代码 运行时说 adoquery2 的字段 f01 没找到
procedure TT1090form.ADOQuery1AfterScroll(DataSet: TDataSet);
var strsql:string;
strsql1:string;
begin
strsql:='select * from T1090 where F10='''+adoquery1.fieldbyname('F01').asstring+'''and f11='''+adoquery2.FieldByName('F01').AsString+'''';
with adoquery3 do
begin
if active then
begin
active:=false;
sql.text:=strsql;
open;
end;
// SELECT FROM dbo.T1090 WHERE F10='05006' AND F11='05006'
end;
end;
procedure TT1090form.iniform;
var strsql:string;
begin
strsql:='select * from T1010';
with adoquery1 do
begin
if active then
active:=false;
sql.Text:=strsql;
open;
end;
 
运行时说 adoquery2 的字段 f01 没找到
那说明adoquery2里没这个字段啊?
你的sql?
 
有的 这是表的字段呀
 
后退
顶部