Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Formato de campos (https://www.clubdelphi.com/foros/showthread.php?t=54686)

GustavoCruz 27-03-2008 16:14:49

Formato de campos
 
Hola amigos del foro, mi pregunta es la siguiente, será posible darle formato a los campos directamente en la consulta?, yo se que con los campos fecha se puede, pero no sé como se hace con los numéricos.

Trabajo con un DB en Access, Lo que deseo es que la consulta me arroje lo siguiente:

CampoNumerico
000012102036

Gracias por vuestro tiempo. :)

duilioisola 27-03-2008 16:37:45

Prueba con DisplayFormat de los campos de la tabla.

Quizás sea:
Código Delphi [-]
TablaCAMPO.DisplayFormat := '000000000000';
o
Código Delphi [-]
TablaCAMPO.DisplayFormat := '999999999999';

GustavoCruz 27-03-2008 16:53:26

La idea es la siguiente:

Código SQL [-]
select format(campofecha,'mmmm/yyyy') from tabla
eso me muestra en una grilla el campofecha formateado...

campofecha
Enero/2008
Febrero/2008
Marzo/2008
Abril/2008
.
.
.
etc

lo que me gustaría saber es como se hace para los campos tipo fecha

Gracias por tu tiempo duilioisola:):):):)

BlueSteel 27-03-2008 19:17:26

Hola GustavoCruz

Una consulta, en donde quieres mostrar el resultado con formato.. en algun edit, label o a través de una grilla

si lo haces cuando muestras el dato, pero no en la consulta, puedes hacer esto...con el FormatFloat (es un ejemplo)

Código Delphi [-]
Edit1.Text := FormatFloat(',0.00',Tabla.Campo)

Tambien esta la opción de que en el Query o Table puedas darle formato al Campo que desees.... no estoy seguro si es DisplayFormat....


Aunque tambien puede ser que con el Cast puedas solucionar tu problema desde SQL.... si encuentro algun ejemplo lo posteo

Salu2:p:D

GustavoCruz 27-03-2008 21:35:31

Hola BlueSteel, gracias por tu aporte, pero el problema viene porque estoy desarrollando una aplicación y ésta debe generar un reporte del cual debo mostrar datos en forma de texto, es decir, tengo un campo numérico que debo concatenar con otros, pero en especial el campo numérico tiene cuatro cifras, así cualquier numero que sea mayor a mil no tendrá ningún problema pero para los demás sí, te doy un ejemplo;

el campo NUID está compuesto por la siguiente concatenación, codigo del municipio = 06; codigo del departamento o estado = 07; cuatro ceros=0000;
y el código del usuario o nui = a una cadena de 4 cifras (0001 ó 1234) y eso me da lo siguiente NUID = 06 07 0000 0001 ó 06 70 0000 1234,
esto me lo debe mostrar en una grilla o exportarlo directamente a Excel,

espero haberme explicado bien, gracias por tu aporte. :)

marcoszorrilla 27-03-2008 21:59:41

Prueba esto:

Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
begin
Adoquery1.Close;
Adoquery1.SQL.Clear;
Adoquery1.SQL.Add('Select id, numer, Total');
Adoquery1.SQL.Add('From Tabla1');

TFloatField(Adoquery1.Fields[1]).DisplayFormat := '000000000';
Adoquery1.Open;
end;

Un Saludo.

BlueSteel 27-03-2008 23:59:13

Hola de nuevo

busca información sobre el PadString, pero te sirve para usarlo desde codigo de delphi.. no desde sql...

por ejemplo, si tienes un campo de chr(20) y el contenido es de 5....y necesitas que tenga los 20 espacios.. debes poner algo asi.. y además que este alineado a la izquierda (que te rellene con espacios el lado derecho...

Código Delphi [-]
 
PadString(Tabla['Campo'],' ',20,toRight); // alinea texto a la izquierda y rellena hacia derecha
PadString(Tabla['Campo'],,' ',20,toLeft); // alinea texto a la derecha y rellena hacia la izquierda

tambien debes usar una unit.. pero no me acuerdo muy bien cual era...

Salu2

BlueSteel 28-03-2008 00:00:41

se me olvidaba.. en los ejemplos puse que rellenara con espacio.... lo puedes cambiar por ceros ( 0 ) u otro caracter...

salu2


La franja horaria es GMT +2. Ahora son las 05:34:36.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi