|
<< Haga clic para mostrar la tabla de contenido >> Navegación: Listados > Informes > Informes Directos > Consultas con datos |
Si queremos indicar consultas complejas para mostrar información relacionada y condicionada con los valores de las tablas de la base de datos, podemos indicarlo mediante consultas SQL directas en el código del documento.
para hacerlo más visual, vamos a mostrar un ejemplo para incluir la información del pedido de cliente de una línea del albarán de cliente.
Nota: Para realizar este tipo de consultas con datos, previamente se tiene que configurar el origen de datos ADODatabase y una query mediante ADOQuery que exponga en el SELECT los datos a mostrar.
En la banda MasterData1 donde se muestran los datos de los artículos de un albarán de cliente, añadir el dato a mostrar, en este ejemplo DOCUMENTO

Posteriormente en el evento OnBeforePrint de la banda de datos donde se mostrará la información, añadimos este código:
procedure MasterData1OnBeforePrint(Sender: TfrxComponent);
begin
ADOQuery1.Close;
ADOQuery1.SQL.Text :='SELECT P.SERIE, P.NUMERO, P.DOCUMENTO ' +
'FROM PEDCCAB P ' +
'WHERE P.SERIE = ' + IntToStr(<DETALLE_ALBARANES_A_CLIENTES."Serie del Pedido">) +
' AND P.NUMERO = ' + IntToStr(<DETALLE_ALBARANES_A_CLIENTES."Nº del Pedido">);
ADOQuery1.Open;
end;
En este fragmento de código, estamos cerrando y abriendo el query para que nos permita inyectarle la sentencia SQL directamente. Se puede observar que en la sentencia SQL se están utilizando los valores de la tabla de detalle de albaranes de cliente para los condicionantes de WHERE que nos permitirán obtener los datos necesarios del pedido de cliente desde la tabla PEDCCAB