我有两个表,用两个表格,在表格1中显示表1的记录,当单击表格1的某一行时,在表格2中显示表2中所有记录的某个字段和表格1中单击的那一行的某个字段相同的记录

解决方案 »

  1.   

    假设表格1的数据源DataSource1
    ........1的DataSet为  ADOQuery1
    ........2........DataSource2
    ........2的DataSet为  ADOQuery2procedure TForm1.DataSource1DataChange(Sender: TObject; Field: TField);
    var
          vStr : String;
    begin
          vStr := ADOQuery1.FieldByName('字段名1').AsString;
          with ADOQuery2 do
          begin
                Close;
                SQL.Clear;
                SQL.Add('SELECT * FROM table WHERE 字段名2=:aa');
                Parameters.ParamByName('aa').Value := vStr;
                Open;
          end;
    end;
      

  2.   

    不行啊
    我的表格1显示的是通过查询的出来的,既先输入一个值,根据这个值在表1中查询,在表格1中显示,但在表格1的cellclick中写的时候没有ADOQuery1.FieldByName('字段名1').AsString;啊