La Web del Programador: Comunidad de Programadores
 
    Pregunta:  66302 - COMO PUEDO INSERTAR CAMPOS A VARIAS TABLAS
Autor:  Fernando Vargas
Tengan un muy buen dia todos, primero que nada les quiero dar las gracias por su valiosa ayuda.

Mi pregunta es la siguiente: Como puedo agregar el mismo campo a dos tablas diferentes, las tablas se guardan en carpetas de datos y meses diferentes por ejemplo:
Nombre de la carpeta general: EMP001
Nombre de las carpetas de los meses:
012012
022012
032012

etc.. las tablas se repiten en todos los meses, en algunos meses no existe (Es porque asi esta diseñado mi sistema), el detalle es que son muchos periodos los trabajados y muchas carpetas EMP00xx las que existen, necesito un codigo que vaya carpeta por carpeta validando si existen las dos tablas que les comento, entonces que agregue el campo...

Espero haberme dado a entender y gracias por su ayuda..

Saludos

  Respuesta:  Eduardo Ureña
Yo utilizaría un ciclo For para hacerlo.

Ejemplo:

DIME Años(4) &&Años que se van a trabajar...
Años(1)="2010"
Años(2)="2011"
Años(3)="2012"
Años(4)="2013"

FOR J=1 TO 4 &&Segun los años...
FOR I=1 TO 10 &&Cantidad de carpetas
IF I<10
Xl="0"+ALLTRIM(STR(I))
ELSE
Xl="ALLTRIM(STR(I))
endif

Carpeta_Principal="EMP001"+Xl+Años(I)+""
Archivo_a_modificar=Carpeta_Principal+"NombreArchivo.Dbf"
IF FILE(Archivo_a_modificar) &&Revisando si el archivo existe...
USE (Archivo_a_Modificar) in 0 ALIAS Trabajo EXCLUSIVE
SELECT Trabajo
ALTER TABLE Trabajo ADD COLUMN NombreCampo c(20)
use
ENDIF
NEXT I
NEXT J

************

Por ahí andaría el asunto, al menos para mí.

No he chequeado su funcionamiento porque es sólo un ejemplo y asumo que tenés conocimientos suficientes en VFP para entender la idea.

Saludos