FoxPro/Visual FoxPro - ANCHO DE CAMPOS

 
Vista:
sin imagen de perfil

ANCHO DE CAMPOS

Publicado por Rodrigo (5 intervenciones) el 28/07/2021 22:51:00
Hola qué tal, soy nuevo en VFP.

Tengo una duda que no he logrado resolver.

Existe alguna forma de asignar un ancho a cada campo de forma automática en un DBF?

Mi tabla tiene cada campo en 254 y me gustaría saber si existe la forma de que se "adapten" automáticamente al tamaño más ancho de cada campo.

Muchas gracias.
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
sin imagen de perfil
Val: 147
Bronce
Ha mantenido su posición en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

ANCHO DE CAMPOS

Publicado por zarlu (79 intervenciones) el 29/07/2021 17:33:02
Buenos días Rodrigo!

Te refieres a ajustar el ancho del campo al tamaño más largo de los datos contenidos?

Para darte una idea:

*-ajusta ancho de campos
lcCursor="nombretabla"
FOR lcField=1 TO FCOUNT()
lcName=FIELD(lcField)
lcWidthC=1&&ancho minimo del campo caracter
FOR lcL=254 TO 1 STEP -1
LOCATE FOR LEN(AlLtrim(&lcName))=lcL
IF FOUND()
lcLen=lcL
EXIT
EndIF
ENDFOR
lcWidthC=MAX(lcLen,lcWidthC)
ALTER TABLE (lcCursor) ALTER COLUMN (lcName) c(lcWidthC)
ENDFOR

Suerte
zarlu
Chetumal, Quintana Roo, México
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
sin imagen de perfil

ANCHO DE CAMPOS

Publicado por Rodrigo (5 intervenciones) el 30/07/2021 18:46:22
Gracias, ya lo veo.
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
sin imagen de perfil

ANCHO DE CAMPOS

Publicado por Rodrigo (5 intervenciones) el 30/07/2021 18:54:23
Contestando el comentario de abajo, ¿Cómo podría asignarle un tamaño predefinido?
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
sin imagen de perfil
Val: 309
Bronce
Ha mantenido su posición en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

ANCHO DE CAMPOS

Publicado por santiago (518 intervenciones) el 30/07/2021 18:06:55
Hola, ajustar los anchos al contenido no es una buena practica de programación, supongamos que tienes el máximo de 254 y ajustas al mayor ancho de datos existente digamos 60, y cuando llegue un dato mayor a 60 que harás? nuevamente crecer el ancho?, que consigues con esto?, ahorrar bytes en tamaño y espacio en disco duro?, piénsalo mejor.

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
sin imagen de perfil

ANCHO DE CAMPOS

Publicado por Rodrigo (5 intervenciones) el 30/07/2021 18:53:41
Así es, el fin de todo es reducir el tamaño de la base, te explico;

Tengo 40 columnas y si las dejo todas en 254, el espacio de la base llega a ser 77 mb.
Ahora, si lo ajusto al tamaño como debe de ser, este tamaño se reduce hasta 2 mb.
Aquí cabe resaltar que sé el ancho que debe tener cada campo.
Partiendo de esto, mi pregunta fue que siempre se tomara el ancho del último campo, sin embargo creo que es mejor asignarle el valor que ya sé que es el correcto.
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
sin imagen de perfil

ANCHO DE CAMPOS

Publicado por Rodrigo (5 intervenciones) el 31/07/2021 03:48:23
*ACTUALIZANDO*
Al final opté por una solución más sencilla;
Ya tengo una base con los anchos que necesito, entonces mejor decidí tomar esta base como "borrador" aplicándole un ZAP
y la base nueva, la que tiene los campos en 254, le hice un APPEND FROM a la que tengo como "borrador" y funcionó perfecto, gracias.
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