Pregunta: | 4264 - PROBLEMAS CON CAMBIO DE DIRECTORIO |
Autor: | ROBERTO AVENDAÑO |
Hola Amigos: Resulta que hago un respaldo de todas mis .DBF (Cierre de Mes) a un directorio mensual por ejemplo ENE2000, Necesito que cuando el usuario lo decida se cambie a las bases de datos de ese mes para visualizar lo que quiera y logicamente no tocar los datos que se estan manejando en el Mes Actual. He intentado con SET DEFAULT y SET PATH y no me resulta. Si pueden ayudarme, Muchas Gracias. |
Respuesta: | Ramo Veliz |
Es bien sencillo,
primero dentro de tu directorio actual, crea otro directorio por año ejmplo A1999, A2000, A2001 Cuando hagas tus cierres llevalos al año que le corresponde crea una variable cRuta='\datos\' &&path actual de tus archivos cbase='fact' Crea una rutina donde el usuario puede decir que mes y de que año quiere ver el reporte cMes='01' cYear='2000' cBase='\datos\fact&cMes&Cyear' &&path de copias Use &cbase |
Respuesta: | Juan Carlos Flores |
Amigo, no especificas que tipo de error te da, es posible que no te funcione porque el comandoSET DEFAULT o SET PATH de cambio de directorio de trabajo y a lo mejor tus programas necesitan ejecutar otras DBF´s o Programas que estan el directoria anterior, te recomiendo que hagas una rutina en donde asignes a una variable, la ruta de acceso de cada tabla, esto se hace con las funciones SYS(5) "Devuelve la unidad de disco en que te encuentras" y SYS(2003) "Devuelve el directori en que te encuentras" asi que crea una tabla con los campos MESES y RUTA en donde MESES almacena los nombres de los meses o periodos anteriores, y RUTA la ruta de acceso a las bases de datos de cada uno omitiendo la unidad de disco Ej. MESES RUTA Enero \MISISTEMA\ENERO Febrero \MISISTEMA\FEBRERO Etc,. Cuando quieras accesar a los datos de enero, perimite al usuario seleccionar de alguna manera el mes, despues busca el registro del mes en esta tabla y almacena los datos de la ruta en una variable Ej. vRuta; antepone a esta variable la unidad de disco en que trabajas (Esto te permite que te funcione en cualquier unidd), con SYS(5) y tendras: SELECT 1 USE SYS(5)+&vRuta+"Tabla1.dbf" SET ORDER TO TAG xxxxx SELECT 2 Use Tabla2.dbf SET ORDER TO TAG xxxxx SELE 3 USE SYS(5)+&vRuta+"NombreTabla3.dbf" SET ORDER TO TAG xxxxx Etc., Espero te ayude, escribeme si no quedastes claro. |
Respuesta: | Cesar Alberto Lainez Jimenez |
Yo he hecho lo mismo y si me funciona, me imagino que lo que te pasa es que fox busca primero los dbf en el directorio actual y si no los encuentra los busca en el path especificado. Cualquier duda escribeme, con gusto te ayudo. Suerte |