问一个与combobox有关的问题(50分)

  • 主题发起人 主题发起人 cosmile
  • 开始时间 开始时间
C

cosmile

Unregistered / Unconfirmed
GUEST, unregistred user!
之前建立了两个表格,用于用户录入信息
结构为
表一 表二
|fcode | name1| 和 soncode | name2 |
---------------- ---------------------
| | | | | |
---------------- ----------------------
现在我想在应用界面,用两个combobox分别显示表一二中的name项,(表二是表一的从表,
即在combobox一中选择了某项,在combobox二中显示该项的从项)
请各位指点。
不尽感激。
 
建一个LookUp字段,再把该字段拖到窗体上就行了.
 
在change中写过程,是可以的
 
我刚开始用delhi,能说的详细点么
 
建立两个ComboBox同步显示的示例,仿此可建立在combobox一中选择了某项,在combobox二中显示该项的从项
procedure TForm1.ComboBox1Change(Sender: TObject);
var
i:byte;
begin
for i:=0 to combobox2.Items.count-1 do
if combobox1.text=combobox2.Items then break;
combobox2.text:=combobox2.Items;
end;
 
combobox1.onchange事件里动态改变combobox2的内容(从表中装入)
 
我想这是你想要的吧
procedure TForm1.FormCreate(Sender: TObject);

var i,j:integer;
begin
j:=table1.FieldCount -1 ;
for i:=0 to j do
begin
combobox1.Items.Add(table1.Fields.FieldName );
end;

end;
procedure TForm1.ComboBox1Click(Sender: TObject);
begin
with table1 do
begin
table1.First ;
combobox2.Clear;
while not eof do
begin
combobox2.Items.Add(fieldbyname(combobox1.Text).asstring);
next;
end;
// combobox2.Text :=table1.fieldbyname
end;

end;
 
maginnn,谢谢你的程序,可以正常运行,不过和我的目的有一点出入,还麻烦你帮我改一下
你的程序完成的功能是建立了表一中的内容和字段的从属关系,
我现在想实现表二中的name字段对应的内容和表一中的name字段内容的从属关系,
表二中存在一个字段(隐藏)和表一相同。表二是表一的从表
表一结构为
code1 | name1
表二结构为
code2 | name2 | code1
----
3ks,请大家也帮忙看看
 
来不及看,做个记号先.
 
这么罗索了半天,吓着大家了吧,谢谢诸位的指点,我现在写好地程序贴一下,
希望对大家有点用

procedure Tmain.PageControl1Change(Sender: TObject);
begin

query1.SQL.Clear;
//装入combobox1
query2.sql.clear;
query2.sql.add('select town_code,town_name from town');
query2.open;
combobox1.Items.Clear;
while not query2.Eof do begin
combobox1.items.add(query2.FieldByName('town_code').asString);
query2.next
end;
if combobox1.Items.Count > 0 then combobox1.ItemIndex := 0;
combobox1.OnChange(nil)

end;


procedure Tmain.ComboBox1Change(Sender: TObject);
begin
query3.close;
query3.sql.clear;
query3.sql.add('select count_name,town_code ,count_code from cun where town_code = '''+combobox1.text+'''');
query3.open;
combobox2.Items.Clear;
while not query3.Eof do begin
combobox2.items.add(query3.FieldByName('count_code').asString);
query3.next
end;

if combobox2.items.count >0 then combobox2.itemindex := 0 ;

query1.SQL.Clear;
query1.SQL.Add('select * from qiye where '''+combobox1.Text+'''' ) ;
query1.open;

end;

procedure Tmain.ComboBox2Change(Sender: TObject);
begin

query1.SQL.Clear;
query1.SQL.Add('select * from qiye where town_code = '''+combobox2.text+'''') ;
query1.Open;

end;

 
多人接受答案了。
 
后退
顶部