FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para CA-Clipper Abrir base de datos de otra carpeta
Posts: 2
Joined: Thu Feb 01, 2007 03:16 PM
Abrir base de datos de otra carpeta
Posted: Tue Sep 18, 2007 02:23 PM

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!

Posts: 114
Joined: Fri Nov 24, 2006 09:03 PM
Abrir base de datos de otra carpeta
Posted: Thu Sep 20, 2007 04:30 PM
A ver



FUNCTION TRASBODE(d,CRUTA7)


Deberias poner
USE (cRuta7) ALIAS "BODEGT" SHARED

Creo que estas lineas estan demas:

*WHILE NETERR()
*USE (cRuta7) ALIAS "BODEGT"
*end while

Continue the discussion