FoxPro/Visual FoxPro - Como se si una tabla está abierta??

 
Vista:

Como se si una tabla está abierta??

Publicado por brigi (172 intervenciones) el 01/06/2004 17:10:43
Hola tengo una duda,
necesito saber cómo puedo saber o preguntar si una tabla está utilizada por otro proceso distinto antes de que me el error de que esta tabla se encuentra abierta??
He probado con Used pero no me funciona.
Podeis ayudarme??
muchas gracias
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:Como se si una tabla está abierta??

Publicado por redrojo (66 intervenciones) el 01/06/2004 19:07:18
Saludos.
1. creas un procedimiento para procesar los errores
2. incluyes en tu software el llamado a ese procedimiento
3. basado en el error retornado sabras que pasa con la tabla.
3 = file in use, 13, alias not found, ETC
ej.
public gpnumerr
***cabecera necesaria para llamar el procedimiento de error
ON ERROR DO errhand WITH ;
ERROR( ), MESSAGE( ), MESSAGE(1), PROGRAM( ), LINENO( )

*** abres la tabla
sele mitabla
on error && invoco el procedimiento de errores antes
if gpnumerr = 3 && codigo retornado
TU CODIGO fuente.
else
TU CODIGO fuente
endif

*******procedimiento,,,puedes agregar muchas cosas en el,,,
*****desde la linea donde se produjo el error, la forma, etc.
PROCEDURE errhand
PARAMETER merror, mess, mess1, mprog, mlineno
CLEAR
gpnumerr = val(LTRIM(STR(merror))) && variable publica,,

RETURN

SUERTE.
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:Como se si una tabla está abierta??

Publicado por redrojo (66 intervenciones) el 01/06/2004 19:09:05
Saludos.
1. creas un procedimiento para procesar los errores
2. incluyes en tu software el llamado a ese procedimiento
3. basado en el error retornado sabras que pasa con la tabla.
3 = file in use, 13, alias not found, ETC
ej.
public gpnumerr
***cabecera necesaria para llamar el procedimiento de error
ON ERROR DO errhand WITH ;
ERROR( ), MESSAGE( ), MESSAGE(1), PROGRAM( ), LINENO( )

*** abres la tabla
sele mitabla
on error && invoco el procedimiento de errores antes
if gpnumerr = 3 && codigo retornado
TU CODIGO fuente.
else
TU CODIGO fuente
endif

*******procedimiento,,,puedes agregar muchas cosas en el,,,
*****desde la linea donde se produjo el error, la forma, etc.
PROCEDURE errhand
PARAMETER merror, mess, mess1, mprog, mlineno
CLEAR
gpnumerr = val(LTRIM(STR(merror))) && variable publica,,

RETURN

SUERTE.
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