Hola. Tengo un sistema de facturación. Tengo 3 tablas: CLIENTES, FACTURAS, DETALLES en Paradox. Tengo relacionadas las tablas de modo que un Cliente puede tener muchas Facturas y cada factura puede tener muchos Detalles ( de productos). Tengo un Form con DBEdits para las claves primarias de las tablas. Quisiera navegar por los registros de la tabla FACTURAS de modo que al desplazarme por la tabla me muestre en el Form el cliente que la tiene y el respectivo detalle de productos que adquirio. La relacion Maestro-Detalle es CLIENTES->FACTURAS->DETALLES. Para la consulta SQL tengo un Query que no he podido configurar correctamente, solo me puedo desplazar por la tabla CLIENTES ya que es la tabla Maestra de mas alto rango. El problema se radica en que no puedo desplazarme por la tabla FACTURAS para rescatar la clave secundaria correspondiente a la clave primaria de CLIENTES para asi poder hacer la consulta con ese valor y pasarlo como parámetro en el Query. Me gustaria que alguien me dijera si cometi algún error o me faltan cosas por declarar
Propiedades del Query:
- DataBaseName: El alias correspondiente
- DataSource:TClientes
Código SQL
[-]
SELECT *FROM CLIENTES WHERE CLI_ID=:CLIENTE_ID
Código Delphi
[-]
procedure TForm.BitBtn1Click(Sender: TObject);
var CLAVE_CLIENTE,CLAVE_FACTURA:String;
begin
CLAVE_FACTURA:=FloatToStr(StrToFloat(TFacturas.FieldByName('FAC_ID').AsString) + 1); TFacturas.FindKey([CLAVE_FACTURA]); CLAVE_CLIENTE:=TFacturas.FieldByName('FAC_CLI_ID').AsString; Query.Clear;
Query.ParamByName('CLIENTE_ID').AsString := CLAVE_CLIENTE;
Query.Active:=True;
Query.Open;