PDA

Ver la Versión Completa : Problemas con Clientdataset.Open;


jmlifi
16-11-2006, 08:53:59
me da el siguiente error: "Database server error: unassigned code"


procedure SQLBuscaAlbaran(Tabla: TSQLQuery; cdTabla : TClientDataSet; N_Alb: string);
begin
with Tabla,Sql do begin
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.Open;
end;

defcon1_es
16-11-2006, 13:51:13
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:

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;