Access - OnRecordExit - SOCORRO

   
Vista:

OnRecordExit - SOCORRO

Publicado por deboh (17 intervenciones) el 04/09/2008 10:10:30
Hola Buenas,

Estoy usando Access 2003 y necesito usar el evento OnRecordExit o algo similar. Tiene que ser ese evento....pero en 2003 no existe ¿Como puedo hacer algo similar? He encontrado código para reproducir el evento pero a mi no me funciona:

http://support.microsoft.com/default.aspx?scid=kb;en-us;304139

Lo tengo todo igual menos en la parte del WITH RS en el Form_Load ya que ya tengo definido el Recordset del Form, entonces tampoco he inicializado el recordset del form al rs propuesto. Creo que no es necesario pero ya me mosquea!!! porque no me funciona!!!! necesito un evento que se ejecute al cambiar de registro pero que sea antes del form_current (porque sino me guarda cambios que tengo que controlar) y que pueda cancelar la accion IrARegistro....

NECESITO AYUDA
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:OnRecordExit - SOCORRO

Publicado por Enrique (1299 intervenciones) el 04/09/2008 13:22:26
Hola Deboh:

¿ Has probado con alguno de estos dos Eventos ?

Antes de Insertar :
Private Sub Form_BeforeInsert(Cancel As Integer)

Antes de Actualizar :
Private Sub Form_BeforeUpdate(Cancel As Integer)

Igual uno de ellos te puede servir, pués se supone que se ejecutarán antes del Current (no lo he probado).

Saludos
Enrique
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:OnRecordExit - SOCORRO

Publicado por deboh (1 intervención) el 05/09/2008 11:29:46
ya lo probé y no me valen.....esque es un jaleo. Necesito controlar el acceso concurrente a un subformulario. Cuando se entra en el subform (Subf_Enter()) lo tengo, ahora necesito una manera de controlarlo cuando cambio de registro en el formulario principal....entonces el beforeinsert y beforeupdate se me ejecutan solo cuando son campos del formulario principal.....y cuando cambio de registro como se ejecuta formcurrent del principal antes que cualquiero del subform, no me vale controlarlo desde ahi. Es un caos......Pienso que no se puede hacer la verdad. Creo que le he encontrado a Microsoft un fallito grave.....Les informé de esto pero no me contestan. Antes de access2002 por lo visto existia un evento de formualrio llamado OnRecordExit pero dio problemas y lo quitaron.....tengo un marron encima......
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:OnRecordExit - SOCORRO

Publicado por Enrique (1299 intervenciones) el 05/09/2008 17:02:33
Hola Deboh:
Creo que entiendo tu problema. En tu mensaje inicial no indicabas que se trataba de un subformulario insertado en un formulario principal. Dices que puedes controlar si el registro del subformulario que tienes en pantalla ha sido modificado y grabado por otro usuario mientras tu sigues visualizado el antiguo (esto lo sé porque he visto tu mensaje en el Foro del Búho, no porque lo hayas explicado én este, que conste).

Pués si eso es así, posiblemente la solución consista en que el Form Principal sea "Independiente" (sin origen del registro) y todos sus campos tambien "Independientes" (sin origenes del control), con el campo clave del Principal relacionado con el campo clave del Subformulario en las propiedades del CONTROL subformulario "Vincular campos secundarios" y "Vincular campos principales". Mediante Recordset ADO o DAO, cargas en el Principal SOLO el registro que tenga que relacionarse con los datos del subformulario, anulando así la posibilidad de cambiar de registro en el Principal, que es cuando se graban automáticamente los datos en los formularios "Dependientes".

Cuando se trabaja con formularios y campos "Independientes", de la misma forma que antes hay que CARGAR un registro por código para poder modificarlo, también hay que GRABARLO por código expresamente mediante un botón o un Evento pués no se graba automáticamente, y como controlas si el registro del subformulario ha sido modificado, cancelas también la grabación de los datos del Principal, mostrando al mismo tiempo un mensaje advirtiéndolo e incluso refrescando el subformulario para que te muestre los nuevos datos que hizo el otro usuario. En resumen: Cargar un registro, Modificarlo, Grabarlo, Limpiar los campos y listo para cargar otro.

Puede parecerte que esto es simplemente teórico, pero así es como lo vengo haciendo desde hace ya mucho tiempo en mis aplicaciones, sobre todo las de Compras, Ventas y Facturación, con la excepción de que yo no controlo si otro usuario ha modificado un registro porque en mi caso no se necesita.

En fin, no sé si es algo así, más o menos, lo que buscas pero si puedo ayudarte en algo más, no dude en decirlo.

Saludos
Enrique
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:OnRecordExit - SOCORRO

Publicado por deboh (17 intervenciones) el 17/09/2008 18:00:08
Eternamente agradecida Enrique. Voy a probar a ver y si consigo que funcione no dudaré en decirtelo.

Muchas gracias en serio, parece que de todos los posts que he puesto sobre este tema , el que mejor lo ha entendido has sido tu a mi parecer.

Salu2
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