基本步骤:
比如:
连接关系:
DBGrid->DBDataShource1->AdoQuery1->AdoConnection1
AdoQuery2->AdoConnection1
表结构
table1{
id1
Name2
}
table2{
id2
Name2
}
比如你想在dbgrid中显示table1 然后在dbgrid的name1字段中出现下拉列表
Adoquery1.sql.text:='select * from table1';
adoquery2.sql.text:='select * from table2';
然后设置adoquery1和adoquery2的active:=true;
双击adoquery1
在出现的窗口中右键单击,选择添加所有字段,再单击右键,选择'new field'
在出现的对话筐中:
name;为这个查找字段取名字 比如叫AAA
type: AAA的类型 这里为string
size: AAA的大小
field type: 这里选择lookup
key fields: 选择table1的关键字段
Dataset: adoquery2
LookUp Key: table2的关键字段
Result Field: 查找的参考字段 这里添 Name2
结果是: 运行后 dbgrid中显示table1中的内容, 点击name字段的格子 出现一个下拉列表
列表中显示table2.name2的值
注意问题:就是查找字段的KEYfields 一定要是原来ADOQuery已有的字段..所以要把原来的字段的VISAL属性设为FALSE,这样就不会重复了.