HOLA QUE TAL AGRADECERIA INFINITAMENTE SU AYUDA...
TENGO UN PROYECTO MULTIEMPRESA DONDE MEDIANTE UNA TABLA LIBRE DEFINO
LA UBICACION DE LAS DIFERENTES BD DE C/EMPRESA, EN EL ENTORNO DE DATOS DE
CADA FORMA UBICO LA RUTA DE DATOS SELECCIONADA ACTUALMENTE, Y DE HECHO
HASTA
AHI PUEDO OBSERVAR QUE ESTA EN LA RUTA ADECUADA , SOLO QUE CUANDO INTENTO
ABRIR
LA FORMA ME MARCA "LA TABLA MITABLA.DBF" NO ESTA MARCADA COMO
PERTENECIENTE A LA BD "MIDBD" DESEA CREAR EL VINCULO ANTERIOR PARA
MARCARLA si no , LE DOY SI
Y ME PONE "ERROR AL CARGAR EL ARCHIVO # REG 6 "FRMMIFORMA >O UNO DE SUS
MIEMBROS> CARGANDO EL FORMULARIO O EL ENTORNO DE DATOS EL ARCHIVO C:MI
RUTA\MITABLA.DBF ES DE SOLO LECTURA.
ME IMAGINO QUE ES UN PROBLEMA AL CARGAR EL ENTORNO DE DATOS LO CURIOSO ES
QUE YO PUEDO CORROBORAR QUE LA RUTA ES LA ADECUADA Y SOLO ES EN EL
EJECUTABLE EN MI APLICACION DESDE VPF NO ME MARCA NINGUN ERROR.
GRACIAS DE ANTEMANO POR SU COLABORACION
*--CODIGO QUE USO EN EL ENTORNO --*
PUBLIC pcRuta, pcNombre_BD
LOCAL lcUnidad, lcDirDatos
IF USED("Config")
SELECT Config
SET ORDER TO TAG Id_Emp
ELSE
USE Config ORDER TAG Id_Emp SHARED IN 0
ENDIF
SEEK pnId_Emp
IF FOUND()
lcUnidad = Config.Unidad
lcDirDatos = RTRIM(Config.Carpeta)
pcRuta = lcUnidad + lcDirDatos
pcNombre_BD = pcRuta + "PRODUCCION.DBC"
MESSAGEBOX(pcNombre_BD)
SET PATH TO pcRuta
OPEN DATABASE (pcNombre_BD) SHARED
SET DATABASE TO (pcNombre_BD)
IF !EMPTY(lcDirDatos) and !EMPTY(lcUnidad)
*No importa la cantidad de cursores que sean se almacenan en el
siguiente vector
=AMEMBERS(A_Cursors,THISFORM.dataenvironment,1)
=ASORT(A_Cursors, 2) && Esto es opcional
nStartpos=ASUBSCRIPT(A_Cursors, ASCAN(A_Cursors, "Object"),1)
* Ahora recorro el dataenvironment asignado el path
FOR I = nstartpos TO ALEN(A_cursors,1)
IF A_Cursors(i,2) = "Object"
cObjClass = "THISFORM.DATAENVIRONMENT."+a_cursors(i,1)+".class"
IF EVAL(cObjClass)="Cursor"
cObjName="THISFORM.DATAENVIRONMENT." +
A_Cursors(i,1)+".DATABASE"
Data_Name=EVAL(cObjName)
* Modifico el path para la base de datos
NewDataPath =lcUnidad + lcDirDatos +
ALLTRIM(SUBSTR(Data_Name, RAT("\",Data_Name)+1))
* Evaluo el cursor para estar seguro
oRef = EVAL( "THISFORM.DATAENVIRONMENT."+a_cursors(i,1) )
* Le Modifico la propiedad de la base de datos
oRef.Database = newdatapath
ENDIF
ELSE
EXIT
ENDIF
ENDFOR
ENDIF
*-- Cierra Tabla CONFIG
USE IN (SELECT("Config"))
ELSE
MESSAGEBOX("Ha ocurrido un Error de Configuración." + CHR(13) +;
"El Sistema no reconoce el ID Empresa seleccionado o Falta
asignar Directorio de Datos!", CRUZ+OK, "Menu Principal")
Thisform.Release
ENDIF
PortalFox :: Nada corre como un zorro
http://www.portalfox.com
PortalFox - NNTP Forum Gateway
Leer las respuestas