SQL - Truncado de valores

 
Vista:

Truncado de valores

Publicado por GIOVANNI (1 intervención) el 02/02/2006 23:59:49
Hola amigos les agradeceria su ayuda, tengo las siguientes lineas:

SELECT Cartera.fecha_fact AS fecha,;
Cartera.fact_num AS documento,;
IIF(Cartera.anulada = 'N', Balanaux.nombre_cta, 'FACTURA ANULADA ') AS cliente,;
IIF(Cartera.anulada = 'N', Cartera.vr_factura, 0) AS valor,;
IIF(Cartera.anulada = 'N', Ciudgeog.nombre, ' ') AS ciudad; &&SE DEFINE EL ANCHO DEL CAMPO IGUAL AL ANCHO EN LA ESTRUCTURA DE LA DBF PARA QUE NO TRUNQUE LA EXPRESION

FROM Ciudgeog, Clientes, Balanaux, Cartera;
WHERE Cartera.fecha_fact BETWEEN F_CONS.PFR.PAGES(PAG).TX1.VALUE AND F_CONS.PFR.PAGES(PAG).TX2.VALUE;
AND Cartera.doc_tipo = 'FACT';
AND Cartera.cod_client = Balanaux.cuenta_no;
AND Balanaux.cuenta_no = Clientes.codigo;
AND Clientes.cod_ciudad = Ciudgeog.codigo;
ORDER BY documento;
INTO CURSOR Consulta

Cuando la consulta supera determinada cantidad de registros me trunca los resultados en las lineas con los IF dando como ancho del campo el ancho cuando la expresion es falsa, esto se arregla añandiendo espacios al valor que arroja cuando la expresion es falsa, claro si es de caracter, PERO ¿como hago si la expresion es numerica ? osea los valores del campo valor me aparecen con asteriscos exepto cuando el valor es 0.


Espero sea clara mi pregunta.

De antemano Gracias,
Giovanni
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Truncado de valores

Publicado por Alexander (1 intervención) el 03/02/2006 14:30:50
Para mi es clara tu pregunta loco..................

Fijate lo que haces cuando es de caracter ..... Colocar espacios entre las comilas
¿ y que haces cuando son numericos ? colocas un cero 0 ....
entonces para que no te aparezcan astericos colocas tantos ceros como quiera que sea el ancho de tu campo en el cursor.... Ejemplo

Esta es tu linea
IIF(Cartera.anulada = 'N', Cartera.vr_factura, 0) AS valor,;

Esta es la que tiene que colocar

IIF(Cartera.anulada = 'N', Cartera.vr_factura, 00000000000) AS valor,;

y listo.......

Estoy seguro que eso te va a funcionar,, ensaya y me cuentas o.k.

Suerte
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar