如下代码为,如果form2的capition为 化学成份查询 以及combobox1.text为混合料厂,那么点击combobox2的时候,自动添加数据列,运行时其下拉框中并未出现数据,求其原因,代码应该没什么问题的,
procedure TForm2.ComboBox2Click(Sender: TObject);
begin
if (form2.Caption='化学成份查询') and (form2.ComboBox1.text='混合料厂') then
begin
form2.ADOQuery1.Close;
form2.ADOQuery1.SQL.Clear;
form2.ADOQuery1.SQL.Add('select distinct 牌号 from 混合料化成');
form2.ADOQuery1.Open;
form2.ComboBox2.Clear;
while not form2.ADOQuery1.Eof do
begin
form2.ComboBox2.Items.Add(form2.ADOQuery1.fieldbyname('牌号').AsString);
form2.ADOQuery1.Next;
end;
end
else
combobox2.Clear;
end;
end.
procedure TForm2.ComboBox2Click(Sender: TObject);
begin
if (form2.Caption='化学成份查询') and (form2.ComboBox1.text='混合料厂') then
begin
form2.ADOQuery1.Close;
form2.ADOQuery1.SQL.Clear;
form2.ADOQuery1.SQL.Add('select distinct 牌号 from 混合料化成');
form2.ADOQuery1.Open;
form2.ComboBox2.Clear;
while not form2.ADOQuery1.Eof do
begin
form2.ComboBox2.Items.Add(form2.ADOQuery1.fieldbyname('牌号').AsString);
form2.ADOQuery1.Next;
end;
end
else
combobox2.Clear;
end;
end.
解决方案 »
- 如何把下面一段事件写成一个过程或函数?
- 0分帖赚分~~~
- 动态创建了一个控件,如何写这个控件的事件代码?
- 【求】代码规范文档
- 如何让dbgrid中的显示长度等于每个字段选出的值的最大值?
- 紧急求救!C/S三层结构连接应用程序服务器的问题...
- delphi有没有将字符‘42.23’转成实数的函数啊
- 我是新手,求教
- DEL 的 Ascal码是多少, 谢了!
- 一次只能付这么多分,太少,可以在继续加加加。竟然叫我一个搞销售的写代码。来求救拉,实在是没办法了
- 请问是否窗体显示的时候,才会"激活"上面的OLE控件的呢?
- 请教:DBGridEh双击弹出修改窗口,修改了数据后,返回DBGridEh,要看到最新修改的
我个人感觉 放到ComboBox1的OnSelect事件下做这中问题比较好
begin
form2.ADOQuery1.Close;
form2.ADOQuery1.SQL.Clear;
form2.ADOQuery1.SQL.Add('select distinct 牌号 from 混合料化成');
form2.ADOQuery1.Open;
form2.ComboBox2.Clear;
form2.adoquery1.first;///加这句试试
while not form2.ADOQuery1.Eof do
begin
form2.ComboBox2.Items.Add(form2.ADOQuery1.fieldbyname('牌号').AsString);
form2.ADOQuery1.Next;
end;
end
else
combobox2.Clear;
end;
楼主,这三个事件是控制最基础的,相对来说执行的次序你搞明白了,也就OK了。combox 的onclick事件是不行的