Estructura de tabla a un .prg

Sam
10 de Septiembre del 2003
Es posible guardar el codigo de la estructura de una tabla en un archivo .prg para observarlo y poder ejecutarlo posteriormente y volver a crear la tabla...???
Con "Copy Structure" me crea una una tabla, pero lo que yo necesito es generar el codigo de esa tabla en un fichero de texto o directamente en un .prg
Es posible...???
Gracias, un saludo...

Luisen98
10 de Septiembre del 2003
Extracto de la Ayuda de VFP7 Español.

La información acerca de cada campo de la tabla seleccionada actualmente se copia a un registro de la nueva tabla. La estructura de la nueva tabla es fija en cuanto a formato y consta de 16 campos. En la tabla siguiente se muestran los nombres de los 16 campos y su contenido.

Campo Tipo de campo Contenido
FIELD_NAME Character Nombres de campo de la tabla seleccionada (hasta 128 caracteres)
FIELD_TYPE Character Tipos de campo:C = CharacterY = CurrencyN = NumericF = FloatI = IntegerB = DoubleD = DateT = DateTimeL = LogicalM = MemoG = General
FIELD_LEN Numeric Ancho del campo
FIELD_DEC Numeric Número de decimales en campos numéricos
FIELD_NULL Logical Compatibilidad del campo con valores nulos
FIELD_NOCP Logical Conversión de página de códigos no permitida (solamente campos Character y Memo)
FIELD_DEFA Memo Valores predeterminados del campo
FIELD_RULE Memo Reglas de validación del campo
FIELD_ERR Memo Texto de validación del campo
TABLE_RULE Memo Regla de validación de tabla
TABLE_ERR Memo Texto de validación de la tabla
TABLE_NAME Character Nombre largo de tabla (sólo para el primer registro)
INS_TRIG Memo Expresión del desencadenador Insert (sólo para el primer registro)
UPD_TRIG Memo Expresión del desencadenador Update (sólo para el primer registro)
DEL_TRIG Memo Expresión del desencadenador Delete (sólo para el primer registro)
TABLE_CMT Memo Comentarios de tabla (sólo para el primer registro)

Puede modificar la tabla recién creada y luego usar CREATE FROM para crear una nueva tabla con otra estructura diferente. COPY STRUCTURE y CREATE FROM permiten cambiar mediante programación la estructura de una tabla.

El ancho del campo FIELD_NAME es de 10 caracteres en versiones anteriores de Visual FoxPro, FoxPro para Windows y FoxPro para MS-DOS. Para utilizar CREATE FROM con una tabla creada mediante COPY STRUCTURE EXTENDED en Visual FoxPro 5.0 y anteriores, es necesario que cambie el ancho del campo FIELD_NAME a 10 caracteres. Observe que algunos tipos de campos no son compatibles con Visual FoxPro 3.0 y las versiones anteriores.

Ejemplo
El ejemplo siguiente muestra la estructura de la tabla orders, copia la estructura extendida a una tabla temp, explora temp, crea una tabla backup a partir de temp y muestra la estructura de backup.

CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Datatestdata')
USE orders && Abre la tabla Orders
CLEAR
DISPLAY STRUCTURE

WAIT WINDOW 'Estructura de la tabla Orders' NOWAIT
COPY STRUCTURE EXTENDED TO temp
USE temp
WAIT WINDOW 'La tabla temp - 1 registro - por cada campo en la tabla orders' NOWAIT
BROWSE
CREATE backup FROM temp
USE backup
DISPLAY STRUCTURE
WAIT WINDOW 'Backup.dbf tiene la misma estructura que orders' NOWAIT
USE
DELETE FILE temp.dbf
DELETE FILE backup.dbf

Como ves en un momento dado...puedes mandar imprimir (a impresora, txt, etc) la estructura de los campos de una Tabla, (llamada Temp, en el ejemplo). Saludos.

abraham
10 de Septiembre del 2003
en visual fox 6.0 esta un programa que se llama "gendbc" buscalo en la ayuda este programa lo que hace es generar todo el codigo para crear de nuevo tu base de datos, tablas e indices por codigo, de ahi tu estraes lo que necesitas y listo..

espero y te sirva