El ClientDataSet que usas, ¿tiene codigo en su propiedad
CommandText?
¿Para que usas el SQLQuery?
Si lo que pretendes es llenar el ClientDataset con el resultado de esa consulta sql que pones, creo que deberia ser asi, mas o menos:
Código Delphi
[-]
procedure SQLBuscaAlbaran(Tabla: TSQLQuery; cdTabla : TClientDataSet; N_Alb: string);
begin
with Tabla.Sql do
begin
Clear;
Add('SELECT Pedidos.CODCLIENTE, Pedidos.PEDIDO, Pedidos.REF, Pedidos.F_PED, Pedidos.F_ENT, Pedidos.CANT, LISTO, COMPLETADO,');
Add('Pedidos.FACTURA, Pedidos.ALBARAN, Pedidos.N_FACT, Pedidos.CODDIR, Pedidos.REPOSICION,Pedidos.CERTIFMAT,Pedidos.USUARIO,');
Add('Pedidos.MATEMPRESA,Pedidos.REF2,Pedidos.PLANO,Pedidos.EMPRESA,Pedidos.SUBCON,Pedidos.TIPOSUBCON ,');
Add('Clientes.NOM Cliente, Clientes.Almacen,');
Add('Clientes.Clase,Clientes.Depto, Clientes.Trabexclusivo');
Add('FROM PEDIDOS Pedidos');
Add('left outer join clientes on pedidos.codcliente=clientes.codigo');
Add('WHERE Pedidos.PEDIDO= (');
Add('SELECT Albaran.PEDIDO FROM Albaran WHERE Albaran.N_ALB=' + N_Alb +')');
Add('ORDER BY pedidos.PEDIDO');
end;
CdTabla.CommandText := Tabla.SQL.Text;
CdTabla.Open;
end;