1.用query控件实现联表查询,在sql中如何写。
2.在两个form中如何传递参数。例如:我想在一个form中的edit中给值,传到下一级form,因为下一级form需要用到上一级的参数。
3.我用showmodle一下子所有form都被激活,有什么办法让form1激活form2同时自己关闭!
                                                           谢谢了!

解决方案 »

  1.   

    我不知道理解的对不对:
    你是想有Form1时,调用Form2,同时Form1不见了,在Form2关闭时,Form1可见,同时把相应的数据传回给Form1
    你应该这样:
    begin
       Form2 :=TForm2.Create(nil);
       try     
          Form1.Visible:=false;      
          if Form2.showmodal()=mb_ok then
          begin
              Form1.Edit1.Text := Form2.GetEditValue();
              Form1.Visible := true;
          end;
       finally
          Form2.Free;      
       end;    
    end;
    也就是在Form2上定义一个共有函数,用来返回要获得的参数;
    避免单元间的循环调用,增强了单元的独立性;也就是Form2单元于其他单元
    的耦合性减低了,这是单元重用性就提高了条件之一;
    千万不要养成Form1使用Form2单元,Form2单元又去使用Form1单元;
    这样两个单元的耦合性太高,谁也离不开谁,成了两口子了,哈哈!!!
      

  2.   

    首先谢谢你,不是这样的,我的意思是说如何接收form1传来的参数,用什么办法声明?
      

  3.   

    form2:uses unit1
    form2.edit1.text:=form1.edit1.text