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 (97 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 (551 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

ANCHO DE CAMPOS

Publicado por Pablo (1 intervención) el 24/04/2024 16:32:34
Buen día/tarde/noche! Quisiera que me ayuden con un problema con una tabla que me imprime una app programada con foxpro (y el que me la hizo no me da la solución, así que estoy trantando de ponerme en claro y ver si puedo resolver yo mismo el tema). Voy a explicar el problema con texto:

COLUMNA 1__|__ COLUMNA 2 __|___COLUMNA 3__|___ COLUMNA 4___|__ COLUMNA 5__|

____5_________|_____ 0,111_______|_______ 2,345____ | ___ BULTOS _ ___|__ *******.**_____|

Bien, lo que hace la app es imprimirme un formulario (Tabla), y en determinado renglón tiene varias columnas. Nos sucede que en la columna 5, al imprimir, nos sale la información con asteriscos porque supera los cientos de miles, es decir, cuando el número tiene unidad de millón imprime con asteriscos (algo similar cuando excel pone numerales en la celda si la cantidad de dígitos es mayor a la que se puede renderizar).

Yo supongo que es algo muy facil de corregir, porque se podría reducir los espacios en algunas columnas para darle más ancho a la columna en cuestión. Y espero que sea tan sencillo como buscar el archivo donde está la config y modificar los valores.

En el caso más complicado supongo que tendré que instalar el foxpro para modificar la tabla directamente desde el sistema.

Si me pueden orientar ¿es posible corregir de marena facil? ¿el programador que no me da la solución es un flojo? De antemano le agradezco a quien lea y a quien conteste.

Saludos.
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