Problemas al crear indices
Publicado por YETICA (13 intervenciones) el 08/11/2007 19:50:51
HOLA A TODOS Y GRACIAS ANTICIPADAS
ME DA UN ERROR EN UN PROGRAMA PARA CREAR LOS FICHEROS INDICES DE LAS TABLAS DE UN SISTEMA. SUCEDE Q CUANDO CORRO LA APLICACION DESDE AFUERA, O SEA, EL .EXE DA ERROR Y DICE Q LA TABLA NO ESTA ABIERTA EN MODO EXCLUSIVO ... COSA Q NO ES CIERTA PQ SI LA ABRO EN EXCLUSIVE....
*** Reindexar las tablas del Sistema
LOCAL ErrorFinal
ErrorFinal=.F.
SET SAFETY OFF
SiNo=MESSAGEBOX('Se cerrarán todas las Tablas abiertas'+CHR(13)+' ¿ Está seguro ?',4+48+0,'¡¡¡ Alerta !!!')
IF SiNo=7 && NO
RETURN
ENDIF
CLOSE TABLES ALL
CLOSE INDEX
cExclusive=SET('EXCLUSIVE')
*** Tabla: SalNeto.DBF
IF FILE(DirectorioActual+'\SalNeto.DBF')
IF FILE(DirectorioActual+'\SalNeto.CDX')
DELETE FILE DirectorioActual+'\SalNeto.CDX'
ENDIF
USE (DirectorioActual+'\SalNeto.DBF') IN 0 EXCLUSIVE
SELECT SalNeto
IF ISEXCLUSIVE( )
WAIT WINDOW NOWAIT ' Reindexando: SalNeto.DBF '
***HASTA AQUI TODO CORRE OK INCLUSO ENTRA POR AQUI, O SEA Q ESTA ABIERTA LA TABLA EN MODO EXCLUSIVO, PERO AL LLEGAR AL ***COMANDO SIGUIENTE ... DA ERROR
INDEX ON ALLTRIM(area)+ALLTRIM(exp) TAG AREAEXP
INDEX ON ALLTRIM(area) TAG AREA
INDEX ON VAL(ALLTRIM(area)) TAG NUMAREA
INDEX ON ALLTRIM(exp) TAG EXPED UNIQUE
INDEX ON ci TAG CI
* REINDEX
ELSE
WAIT WINDOW 'La Tabla SalNeto.DBF no se abrió para uso exclusivo'
ENDIF
USE
ELSE
MESSAGEBOX(' Configuración del Sistema INADECUADA'+CHR(13)+' NO EXISTE el fichero '+DirectorioActual+'\SalNeto.DBF',16,'ERROR !!!')
ErrorFinal=.T.
ENDIF
.............
POR FAVOR ALQUIEN PODRIA SUGERIRME ALGUNA AYUDA ????
ME DA UN ERROR EN UN PROGRAMA PARA CREAR LOS FICHEROS INDICES DE LAS TABLAS DE UN SISTEMA. SUCEDE Q CUANDO CORRO LA APLICACION DESDE AFUERA, O SEA, EL .EXE DA ERROR Y DICE Q LA TABLA NO ESTA ABIERTA EN MODO EXCLUSIVO ... COSA Q NO ES CIERTA PQ SI LA ABRO EN EXCLUSIVE....
*** Reindexar las tablas del Sistema
LOCAL ErrorFinal
ErrorFinal=.F.
SET SAFETY OFF
SiNo=MESSAGEBOX('Se cerrarán todas las Tablas abiertas'+CHR(13)+' ¿ Está seguro ?',4+48+0,'¡¡¡ Alerta !!!')
IF SiNo=7 && NO
RETURN
ENDIF
CLOSE TABLES ALL
CLOSE INDEX
cExclusive=SET('EXCLUSIVE')
*** Tabla: SalNeto.DBF
IF FILE(DirectorioActual+'\SalNeto.DBF')
IF FILE(DirectorioActual+'\SalNeto.CDX')
DELETE FILE DirectorioActual+'\SalNeto.CDX'
ENDIF
USE (DirectorioActual+'\SalNeto.DBF') IN 0 EXCLUSIVE
SELECT SalNeto
IF ISEXCLUSIVE( )
WAIT WINDOW NOWAIT ' Reindexando: SalNeto.DBF '
***HASTA AQUI TODO CORRE OK INCLUSO ENTRA POR AQUI, O SEA Q ESTA ABIERTA LA TABLA EN MODO EXCLUSIVO, PERO AL LLEGAR AL ***COMANDO SIGUIENTE ... DA ERROR
INDEX ON ALLTRIM(area)+ALLTRIM(exp) TAG AREAEXP
INDEX ON ALLTRIM(area) TAG AREA
INDEX ON VAL(ALLTRIM(area)) TAG NUMAREA
INDEX ON ALLTRIM(exp) TAG EXPED UNIQUE
INDEX ON ci TAG CI
* REINDEX
ELSE
WAIT WINDOW 'La Tabla SalNeto.DBF no se abrió para uso exclusivo'
ENDIF
USE
ELSE
MESSAGEBOX(' Configuración del Sistema INADECUADA'+CHR(13)+' NO EXISTE el fichero '+DirectorioActual+'\SalNeto.DBF',16,'ERROR !!!')
ErrorFinal=.T.
ENDIF
.............
POR FAVOR ALQUIEN PODRIA SUGERIRME ALGUNA AYUDA ????
Valora esta pregunta


0