Ver Mensaje Individual
  #8  
Antiguo 14-04-2013
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

Pero así pareciera que estas llamando a FormSelequipo.adoQuery1 antes de que esté creado FormSelequipo !!

Si no te lanza una excepción, es que no lo has quitado de [ Proyect -> Options -> Forms -> Auto-create forms ] y por lo tanto si adoQuery3 tiene algún dato, estas creando otra instancia de aquél ...

Si TFormSelequipo esta en Auto-create forms no es necesaria la creación, basta con llamar al método ShowModal.

Particularmente quitaría a FormSelequipo de Auto-create forms y cambiaría mi código por:
Código Delphi [-]
  with TFormSelequipo.Create(Self) do
  try
    adoQuery3.Close;  // (1)
    adoQuery3.SQL.Text := 'Select * From mov where cod_cli = ' +QuotedStr(ADOQuery1rif.asstring); // (2) 
    adoQuery3.Open;
    if adoQuery3.IsEmpty then
      ShowMessage ('No se ha encontrado ningun articulo relacionado con el cliente.')
    else
    begin
      if ShowModal = mrOK then
      begin
         ShowMessage('Aquí las acciones a realizar');
        //...
        //...
      end;
    end;
  finally
    Free;
  end;
Donde:
(1) ADOQuery3 es el TADOQuery que reside en FormSelequipo.
(2) ADOQuery1 es el TADOQuery que reside en el form que invoca al al form anterior.

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 14-04-2013 a las 19:38:08.
Responder Con Cita