FoxPro/Visual FoxPro - Ayuda con tablas

 
Vista:

Ayuda con tablas

Publicado por Giovanni L. (11 intervenciones) el 15/06/2001 05:07:37
Amigos si alguien me puede colaborar se lo agradeceria
Soy algo novato con esto y me he rompido el coco y nada que logro lo que quiero bueno hay va...
SET EXCLUSIVE ON
IF !USED('MITABLA')
WAIT WINDOWS 'TABLA NO ABIERTA'
ELSE
WAIT WINDOWS 'TABLA ABIERTA'
ENDIF

Con estas lineas puedo evaluar si una dbf esta en uso o no, SIEMPRE Y CUANDO HAYA SIDO ABIERTA CON VFP O DESDE LA VENTANA DE COMANDOS.
pero si la DBF esta abierta con otro programa por ejemplo DBU o desde otra aplicacion las anteriores lineas no lo detectan y al correr el programa me genera un error.
Agradeceria me explicaran por que?? y tambien me dijeran como lo tengo que hacer?? para que funcione correctamente. sin nesecidad de tener que utilizar un controlador de errores con
ON ERROR DO miprocedimiento
si me pueden enviar unas lineas con el codigo mucho mejor
Un abrazo Giovanni
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Ayuda con tablas

Publicado por ElSuperRo (47 intervenciones) el 17/06/2001 06:10:35
Cual es el problema con ON ERROR? Por Que no?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Busqueda de otra alternativa

Publicado por Giovanni (11 intervenciones) el 17/06/2001 17:19:47
Amigo lo que pasa es que quiero saber si hay otra alternativa con VFP6 ya que con clippers si se puede controlar este error de la forma que enuncie anteriormente .
El programa maneja varias tablas y hay una version para DOS .exe y lo que se pretende es crear la interfaz visual desde VFP para tener las dos opciones segun el equipo que use el usuario, de por si actualmente funciona con ON ERROR
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ayuda con tablas

Publicado por mac (25 intervenciones) el 19/06/2001 02:43:14
no se si esto es lo que buscas

FUNCTION _Exclusivo(tcTabla)
*--------------------------------------------------
* Verifica si una tabla esta abierta en EXCLUSIVO
* USO: _Exclusivo("C:VFPMiTabla.DBF")
* PARAMETRO:
* tcTabla = Ruta completa del archivo .DBF
* RETORNO: .T. si se puede abrir en exclusivo
*--------------------------------------------------
LOCAL lnHandle, llRet
lnHandle = FOPEN(tcTabla)
IF lnHandle = -1
llRet = .F.
ELSE
llRet = .T.
=FCLOSE(lnHandle)
ENDIF
RETURN llRet
ENDFUNC

mac
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

FOPEN este es GRACIASsss

Publicado por Giovanni L. (11 intervenciones) el 20/06/2001 03:56:13
Gracias MAC este era el comando que estaba buscando.. este es un ejemplo de como lo puedo aplicar.
IF FILE('cxpf.dbf')
gnErrFile = FOPEN('cxpf.dbf',12)
IF gnErrFile < 0
WAIT WINDOWS 'IMPOSIBLE ABRIR EL ARCHIVO'
ELSE
=FCLOSE(gnErrFile)
USE CXPF
WAIT WINDOWS 'ARCHIVO ABIERTO CON EXITO'
CLOSE DATABASE
ENDIF
ENDIF

Si el archivo esta abierto con otra aplicacion por ejemplo DBU o esta siendo utilizado por otro programa lo puedo evaluar.
Muchas gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar