SoloCodigo

Programación General => Delphi => Mensaje iniciado por: Deiv en Jueves 26 de Julio de 2007, 00:02

Título: 2 Adoquery
Publicado por: Deiv en Jueves 26 de Julio de 2007, 00:02
Tengo el siguiente código delphi con una Tabla relacionada:
Código: Text
  1. procedure TForm1.Button1Click(Sender: TObject);
  2. const
  3.   sqlMuchos1 = ' Select * from muchos where IdTipo = "NM" ';
  4.   sqlMuchos2 = ' Select * from muchos where IdTipo = "M" ';  
  5. var
  6.   P,S,T : string;
  7. begin
  8.   ADOQuery1.Active:= False;
  9.   ADOQuery1.Sql.text := sqlMuchos1;
  10.   ADOQuery2.Sql.text := sqlMuchos2;
  11.   ADOQuery1.Active:= True;
  12.   ADOQuery2.Active:= True;
  13.  
  14.   with ADOQuery1 do
  15.     begin
  16.        first;
  17.        while not eof do
  18.          begin
  19.              P:= FieldByName('prefijo').AsString+ FieldByName('nom').AsString+FieldByName('sufijo').AsString+'  ';
  20.              with ADOQuery2 do
  21.                 begin
  22.                    first;
  23.                    while not eof do
  24.                       begin
  25.                          S:= FieldByName('prefijo').AsString+ FieldByName('nom').AsString+FieldByName('sufijo').AsString;
  26.                          T:=P+S;
  27.                          ListBox1.Items.Add(T);
  28.                          next;
  29.                       end;
  30.                 end;
  31.              next;
  32.          end;
  33.     end;  
  34. end;
  35.  
Adjunto la BD hecha en Access, y la imagen de relación.

Me preguntaba si se puede realizar la misma operación con UN SOLO ADOQuery?
o ¿Necesariamente debo utilizar los 2 ADOQueries porque son 2 consultas diferentes? (pregunto porque son mis primeros pasos con SQL)
En todo caso ¿Cuál sería la modificación de mi código para que trabaje con un solo TADOQuery si se puede?