在form1里,用adoquery1从多表中查询出了满足条件的若干条记录
现在我要在form2里引用这些form1里的记录,也就是要在form2里把这些记录复制到另外一个表中。
我应当怎么办

解决方案 »

  1.   

    看看下面的就明白了
    form1,adoquery1,dbgrid1
    form2.listbox1
    用book//引用form1;
    uses unit1,db;procedure TForm2.Button1Click(Sender: TObject);
      var bm:Tbook;
      count,i:integer;
    begin
      with form1.adoquery1 do
      begin
        bm:=getbook; 
        count:=dbgrid1.SelectedRows.Count;
        if count >0 then
        for i:=0 to count - 1 do
        begin
          bm:=pointer(dbgrid1.SelectedRows.items[i]);
          gotobook(bm);
          //或者 gotobook( pointer(dbgrid1.SelectedRows.items[i])
          listbox1.Items.Add(fieldbyname('id').value);
        end;
        FreeBookMark(bm);
      end;
    end;
      

  2.   

    在FORM2中 Use FORM1
    然后在Form2的OnShow事件中:
    Form2.DataSource1.Dataset:=Form1.ADOQuery1;