Tengo el siguiente código delphi con una Tabla relacionada:
procedure TForm1.Button1Click(Sender: TObject);
const
sqlMuchos1 = ' Select * from muchos where IdTipo = "NM" ';
sqlMuchos2 = ' Select * from muchos where IdTipo = "M" ';
var
P,S,T : string;
begin
ADOQuery1.Active:= False;
ADOQuery1.Sql.text := sqlMuchos1;
ADOQuery2.Sql.text := sqlMuchos2;
ADOQuery1.Active:= True;
ADOQuery2.Active:= True;
with ADOQuery1 do
begin
first;
while not eof do
begin
P:= FieldByName('prefijo').AsString+ FieldByName('nom').AsString+FieldByName('sufijo').AsString+' ';
with ADOQuery2 do
begin
first;
while not eof do
begin
S:= FieldByName('prefijo').AsString+ FieldByName('nom').AsString+FieldByName('sufijo').AsString;
T:=P+S;
ListBox1.Items.Add(T);
next;
end;
end;
next;
end;
end;
end;
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?