Buenas chicos,
La siquiente pregunta esta relacionada con SQl en Delphi XE2. La base de datos con la que trabajo es de ACCES, con TADO.
Tengo la siguiente consulta que funciona a la perfección:
Código Delphi
[-]With Datamodule1.ADOQuery_consultasFlujo Do
Begin
Close;
SQL.Clear;
SQL.Add('SELECT * FROM Entradas_Salidas_ECS WHERE tipo_de_entrada =:condicion1 ');
SQL.Add('and tipo_de_salida =:condicion2 and nombre =:condicion3 ');
SQL.Add('and Fecha_salida BETWEEN :condicion4 and :condicion5 ');
SQL.Add('and Fecha_recepcion BETWEEN :condicion6 and :condicion7');
Parameters.ParamByName('condicion1').Value:=RG_Entradas.Items.strings[RG_Entradas.ItemIndex];
Parameters.ParamByName('condicion2').Value:=RG_Salidas.Items.strings[RG_Salidas.ItemIndex];
Parameters.ParamByName('condicion3').Value:=E_Empresa.text;
Parameters.ParamByName('condicion4').Value:=E_Entrada_Inicio.Text;
Parameters.ParamByName('condicion5').Value:=E_Entrada_Fin.Text;
Parameters.ParamByName('condicion6').Value:=E_Salida_Inicio.Text;
Parameters.ParamByName('condicion7').Value:=E_Salida_Fin.Text;
Open;
End;
Ahora querría que la consulta se hiciera de forma simultánea en dos tablas, la tabla Entradas_Salidas_ECS y la tabla Entradas_Salidas_BEA, (ambas tablas tienen la misma estructura). He probado algo así:
Código Delphi
[-]With Datamodule1.ADOQuery_consultasFlujo Do
Begin
Close;
SQL.Clear;
SQL.Add('SELECT * FROM Entradas_Salidas_ECS, Entradas_Salidas_BEA WHERE tipo_de_entrada =:condicion1 ');
SQL.Add('and tipo_de_salida =:condicion2 and nombre =:condicion3 ');
SQL.Add('and Fecha_salida BETWEEN :condicion4 and :condicion5 ');
SQL.Add('and Fecha_recepcion BETWEEN :condicion6 and :condicion7');
Parameters.ParamByName('condicion1').Value:=RG_Entradas.Items.strings[RG_Entradas.ItemIndex];
Parameters.ParamByName('condicion2').Value:=RG_Salidas.Items.strings[RG_Salidas.ItemIndex];
Parameters.ParamByName('condicion3').Value:=E_Empresa.text;
Parameters.ParamByName('condicion4').Value:=E_Entrada_Inicio.Text;
Parameters.ParamByName('condicion5').Value:=E_Entrada_Fin.Text;
Parameters.ParamByName('condicion6').Value:=E_Salida_Inicio.Text;
Parameters.ParamByName('condicion7').Value:=E_Salida_Fin.Text;
Open;
End;
Pero no funciona, al ejecutar la sentencia me salta el siguiente error: "Objeto Parameter mal definido. Se proporcionó información incompleta o incoherente".
Buscando por el foro he visto los comandos JOIN ON, LEFT JOIN pero me salta el mismo error.
Tenéis idea de como debería ser la estructura correcta de la sentencia para que el SQL me devolviera los resultados encontrados en ambas tablas?
Muchas Gracias!