Access normalmente 'enllava' los registros que se estan editando en un
formulario. Esto evita que otro usuario modifique el mismo registro a la vez
(lo que haria que una de las dos modificaciones se perdiera). Una vez
modificado el registro (borrado, agregado o cambiado), cualquier usuario que
lo lea verá la ultima version. Si en ese momento lo tiene abierto, el
registro supuestamente no deberia dejarse modificar o borrar por otro
usuario.
--
Victor Delgadillo MS-MVP Access
Miami, Florida
Mensajes a los grupos de noticia, asi todos nos beneficiamos!
"Tony" <***@esa.com> wrote in message news:0b3601c3b99e$7ab66150$***@phx.gbl...
Hola, Victor,
Pues gracias por tu colaboración, a ver este gato se deja
despellejar:
Lo que quiero es que cuando alguien desde un puesto añada
o elimine un registro en una tabla (desde un formulario)
si hay otro que, desde otro puesto, ha accedido,
previamente a esa insercion/eliminacion, a un formulario
similar (con los mismos registros), no tenga que
forzar "manualmente" al formulario a ejecutar su origen
para que aparezca o desaparezca el dichoso registro.
Yo he encontrado una "solución" al tema, que sería
haciendo que el formulario vaya consultando su origen cada
x segundos, y, en caso de encontrar diferencias entre el
nº de registros del origen y el nº de regs que nos
muestra, ejecutar de nuevo la consulta de origen (requery)
y volver a donde estuviera. Pero, claro, para esto ha de
estar ejecutándose código todo el tiempo en busca de
posibles cambios. Por eso, había pensado en los Triggers,
que podrían lanzar alguna orden en caso de cambio.
Bueno, ¿cómo lo ves?
Tony.
-----Mensaje original-----
Tony, recuerda que hay mas formas de despellejar a un
gato!! Talvez si
explicas lo que deseas hacer ya exista una solucion. Con
Access no habran
triggers, pero hay APIs, codigo, acceso al sistema
operativo, exe's, y
muchos otros procedimientos que pueden resolver casi
cualquier situacion.
Cuando usas un servidor de SQL, es decir, un
administrador de databases que
no esta en tu maquina, tienes que forzosamente utilizar
procedimientos
(almacenados en el servidor), y triggers (en el servidor)
para saber cuando
ocurren ciertas operaciones. Con Access (el cual no es un
verdadero
cliente/servidor), se puede accionar ciertos mecanismos
para advertir al
usuario.
--
Victor Delgadillo [MVP Access]
Miami, Florida
Consultas al grupo, asi todos nos beneficiamos.
_
Gracias por la respuesta, Paco. Lo del mini Sql Server de
Access ya lo sabía, y durante una temporada estuve
intentando probar para llegar a la conclución de que no
tengo ni idea (habrá que intentarlo de nuevo). Lástima lo
de Access, ¿y no tiene nada parecido?
Bueno, saludos desde Donostia (bueno, cerquita)
Tony.
-----Mensaje original-----
Hola Tony. Estos bichos no existen en proyectos MDB.
Ademas de no tener
estos disparadores, tampoco tiene procedimientos
almacenados. Otra cosa es
trabajar con proyectos ADP (Yo no no le hecho en mi
vida) y Sql Server.
Ahí, según he leido, ya puedes utilizar los mencionados
disparadores.
Con Access (Pero ya no me acuerdo como se llama) viene un
mini Sql Server
que sí que tiene los procedimientos almacenados y los
triggers.
Aquí hay personas que seguro han trabajado con ello y te
podrán indicar
mejor.
--
Saludos desde Valladolid
Francisco Javier García Aguado
---
http://www.buho.tk
[http://www.clikear.com/webs/accessbhuo/index.html]
http://groups.msn.com/Access2000VisualBasic/
=======================================
Web de Access de Juan M Afan de Ribera
http://www.juanmafan.tk
=======================================
Creo que no es posible hacer triggers directamente sobre
tablas de Access, pero como muchas veces me sorprendéis
con lo que sois capaces de hacer (desde aquí mi más
sincera ovación), he pensado que igual alguno tiene
conocimiento de cómo hacerlo.
Bueno, pues eso, agradeceros vuestro interés y ayuda y
saludar,
Tony.
.
.