hola, aprovecho y pregunto: si la sesion es de datos es
privada?
De: [email protected] [mailto:[EMAIL PROTECTED] En nombre de Pata del Santo
Enviado el: Miércoles, 18 de Octubre de 2006 08:43 a.m.
Para: GUFA List Member
Asunto: [GUFA] Falla Append from en Multiusuario
Yo lo haría más breve:
*nos aseguramos de cerrar la tabla si este usuario la
tuviera abierta
IF USED("Tabla_destino")
USE IN Tabla_destino
ENDIF
*buscamos una zona libre
SELECT 0
TRY
*si nadie la tiene abierta, entonces la abro
exclusiva para hacer un PACK
USE Tabla_destino EXCLUSIVE
PACK
CATCH
*esto sucederá siempre que cualquier otro usuario
tenga la tabla abierta (sea EXCLUSIVE o SHARED)
*si da
un error simplemente no hago nada (aunque no pude hacer el
PACK)ENDTRY
*ahora la vuelvo a abrir compartida, para que otros
usuarios tengan acceso
USE Tabla_destino SHARED
*agrego los registros
APPEND FROM
DBF("Cursor_Origen")
*cierro la tabla
USE
Pata.
De: [email protected] [mailto:[EMAIL PROTECTED] En nombre de Hernando Ferreira
Enviado el: miércoles, 18 de octubre de 2006 15:15
Para: GUFA List Member
Asunto: [GUFA] Falla Append from en Multiusuario
Necesito anexar registros de un cursor, previo borrado
de los ya existente en la tabla de destino por medio de una condicion, el tema
es que funciona bien cuando nadie mas esta usando la tabla, pero en cuanto
alguien tiene el uso de la tabla no agrega los registros, ni da error ni nada.
De paso revean este trozo de codigo para sacarle un mejor fruto al try.. catch,
que es la 1ra vez que lo uso...
SELECT Tabla_destino
DELETE FOR num < 0
DELETE FOR num < 0
TRY
USE IN Tabla_destino
SELECT 0
USE Tabla_destino IN 0 EXCLUSIVE
USE IN Tabla_destino
SELECT 0
USE Tabla_destino IN 0 EXCLUSIVE
CATCH
IF !USED("Tabla_destino")
USE Tabla_destino IN 0 AGAIN
ENDIF
USE Tabla_destino IN 0 AGAIN
ENDIF
ENDTRY
IF ISEXCLUSIVE("Tabla_destino")
SELECT Tabla_destino
PACK
ENDIF
SELECT Tabla_destino
PACK
ENDIF
SELECT Tabla_destino
APPEND FROM DBF("Cursor_Origen")
USE IN Tabla_destino
APPEND FROM DBF("Cursor_Origen")
USE IN Tabla_destino
Saludos
Nando
Preguntá. Respondé. Descubrí.
Todo lo que querías saber, y lo que ni imaginabas,
está en Yahoo! Respuestas (Beta).
Probalo ya!
