Hola que tal, tengo un problema para abrir una base de datos que se encuentra localizada en una carpeta diferente a la del ejecutable, en total abro cuatro bases de datos utilizando el mismo proceso, pero en la ultima me manda un error "BASE/1002 Alias does not exist: BODEGA", aqui esta parte del codigo:
FUNCTION EXPORTAR(N,C,D)
local cvar:=space(255)
PUBLIC cruta4,CRUTA5,CRUTA6,CRUTA7
if msgyesno("Desea exportar los datos para traspaso a otro punto?","EXPORTAR DATOS")
selpunto(@cvar)
cvar:=alltrim(cvar)
cruta4:=cvar + "ENTRADAS.DBF"
CRUTA5:=CVAR + "ENTDET.DBF"
CRUTA6:=CVAR + "TARJETAS.DBF"
CRUTA7:=CVAR + "BODEGA.DBF"
SVTRASDT(@n,cRuta5,CRUTA6) //funciona bien
SVTRASEN(@n, @c,@d,cRuta4) //funciona bien
TRASBODE(@d,CRUTA7) //no funciona bien
ENDIF
RETURN NIL
// Aqui esta la funcion donde no me abre la base de datos
// ya verifique que la ruta este correcta
// y si la abro via "dbfntx" no me manda ningun error, pero
// no me indexa los datos
FUNCTION TRASBODE(d,CRUTA7)
USE (cRuta7) ALIAS "BODEGT" //via "dbfntx" SHARED NEW
WHILE NETERR()
USE (cRuta7) ALIAS "BODEGT" //via "dbfntx" SHARED NEW
end while
msginfo(bodegt->id)
INDEX ON BODEGT->ID TAG ID TO BODEGT
SET ORDER TO TAG ID IN BODEGT
msginfo(bodegt->id)
COMAR2->(DBGOTOP())
WHILE !COMAR2->(EOF())
IF BODEGT->(DBSEEK(COMAR2->CLAVE))
MSGINFO(BODEGT->ID)
BODEGT->(RLOCK())
BODEGT->CANTIDAD += COMAR2->CANT
IF BODEGT->COSTO<> COMAR2->COSTO
BODEGT->COSTO := COMAR2->COSTO
BODEGT->P_PUB := COMAR2->PREC
ENDIF
BODEGT->ULT_ENT := d[1]
BODEGT->(DBCOMMIT())
BODEGT->(DBUNLOCK())
ENDIF
COMAR2->(DBSKIP())
END WHILE
BODEGT->(DBCLOSEAREA())
return nil
Espero que me puedan ayudar, gracias!