我先建了一个表A,里面有两个字段“供应商编号”“供应商名称”,输入了几条记录。又建了一个表B,里面有字段“签订日期”“供应商编号”“供应商名称”,我想在表B输入记录的时候,“供应商编号”“供应商名称”两个字段能从表A中读取,(例如有个象
combox的框用于让我直接选出表A中已填入的记录,放到表B里),请问如何实现呀??
combox的框用于让我直接选出表A中已填入的记录,放到表B里),请问如何实现呀??
调试欢乐多
你先把A表的内容取出来加到COMMBOBOX中然后选择在确定后再通过COMBOBOX中的内容在A中取出相应的记录写到B中
COMBOBOX加内容这样写
adoquery1.close;
adoquery1.sql.clear;
adoquery1.sql.add('select 供应商编号 from A');
adoquery1.open;
while not adoquery1.eof do
begin
combobox1.items.add(adoquery1.fileds[0].asstring);
adoquery1.next;
end;
然后在你选择后确定的时候把供应商编号供应商名称写到B中
adoquery1.close;
adoquery1.sql.clear;
adoqeury1.sql.add('insert into B (签定日期,供应商编号,供应商名称)');
adoquery1.sql.add('(:v1,:v2,:v3)');
adoqeury1.excutsql;
这之前你可以通过SQL取出供应商的编号和名称赋给v2,v3同时把时间赋给V1
表B:DateIn, SupplierID在表B中输入数据时,我假定你是用一个窗体来做的。那么要用到DBLookupCombobox。对于DBLCB,你的设置要包括:Datasource: TableB对应的DS;
Field: SupplierID;
LookupSource: TableA对应的DS;
KeyField: SupplierID;
还有一个Field(名字一下子想不起来了):SupplierName这样,你在输入时点那个DBLCB,弹出来的是名称,选择一个后将对应的SID存到表B中去。