Control por blqueos para Recordsets

Como estás!, mira mi pregunta es la siguiente. Yo utilizo Acces97 como gestor de Bd. Y Visual Basic 5.0 como herramienta de desarrollo, Desarrollo consultas con Sql y las amaceno en access para después desde visual ejecutarlas y generar Recordsets, ¿pero el inconveniente es como se lleva a cabo un control de bloqueos con recordset? Si estos tu sabes están integrados por varias tablas, ¿qué pasaría si un usuario abre una de esas tablas para modificar datos y tengo en momento un recordset que emplea una de esas tablas para la consulta?
2

2 Respuestas

37.975 pts. Calculista Científica (Universidad Nacional de La Plata)
Cuando haces la conexión hay uno de los parámetros que define el tipo de cursor, y el tipo de permiso. Pero no tengo una experiencia concreta en tu consulta. Es posible que un bloqueo a nivel de registro bloquee todas las tablas. Déjame leer un poco y te contesto.
Cordialmente. MarCiana
115.250 pts.
El tratamiento de los bloqueos en cualquier base de datos es bastante complejo, de echo cuando se diseñan aplicaciones para entornos multiusuario, este concepto es el pilar de que todo funcione de forma optima.
Existe mucho material al respecto, para que puedas informarte sobre cual es la mejor forma de trabajar con tus tablas, de hecho en sql (libros en pantalla) tienes una gran fuente, y en Access, también existe en la ayuda bastante información.
Pero yo voy a comentarte aquí cual es el método que yo utilizo.
A mi me gusta trabajar con bloqueo optimista, así que mis aplicaciones (realizadas en Access) acceden de forma predeterminada sin bloquear registros.
Cuando empleo código VBA y tengo que manejar recordset, yo los seteo siempre con bloqueo optimista de la siguiente forma:
set db.openrecordset ("Nombrerecordset",dbopendynaset,dbseechanges,dboptimistic)
De esta forma, los usuarios pueden manejar las tablas sin encontrar bloqueos, y la información que queda registrada en el caso extremo, es decir, cuando dos o más usuarios modifican el mismo registro, es la última que se haya realizado.
Espero que esta información te ayude, y si tienes algún comentario más que realizarme, no tengas reparos en hacerlo, estaré encantado de compartir contigo mi experiencia.
¿Cómo así Seteas?, ¿Acaso haces un Refresh?, ¿Cada cuánto seteas? ¿U recordset?
El efecto de setear, se entiende que es hacer SET a un recordset.
Se setea cuando se necesita un grupo de regristros.
Se hace refresh, cuando se han actualizado datos en algún recordset activo.
En fin, mira haber si he contestado a tus preguntas.
Estimado Sofocles creo que no me has entendido muy bien la pregunta original, ¿mira lo que pasa es que mientras estoy trabajando con un grupo de datos llámese "Recordsets" integrado por varias tablas en ese momento un usuario distinto elimina o hace cambios en una de las tablas como se yo cuando debo setear y men encuentro con mi grupo de registros activos?.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas