Access - Problema al modificar datos en tabla

   
Vista:

Problema al modificar datos en tabla

Publicado por José (53 intervenciones) el 05/09/2013 04:11:41
Hola,
Tengo un formulario maestro/detalle. Desde este formulario en la parte maestro tengo un boton que ma abre otro formulario de entrada de datos basado en la misma table que el formulario detalle. Hago la entrada de datos , cierro el formulario y regreso al formulario maestro/detalle ( los datos han sido entrados correctamente y aparecen en el formulario detalle). Ahora mediante un botón desencadeno el calculo de los campos del formulario detalle que deban de ser calculados. Los calculos se hacen bien, pero desde hace algún tiempo al desencadenar la ejecución de los calculos me sale un error "Access paro el proceso pues otro usuario está modificando los datos que usted quiere modificar. Si pincho en finalizar la veces necesarias y vuelvo a empezar (2 a 4 veces) todo se ejecuta normalmente. Esto ocurre al cerrar el formulario de entrada de datos y regresar al formulario principal para desencadenar la ejecución de los calculos.
Si alguien tiene una idea...
un sasludo
José
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
Imágen de perfil de Neckkito

Problema al modificar datos en tabla

Publicado por Neckkito (1104 intervenciones) el 05/09/2013 08:16:41
Hola!
Al estar atacando a la misma tabla desde dos formularios diferentes y al mismo tiempo Access detecta esta "doble acción" y, ante la duda, pide autorización para realizar las modificaciones.
Lo que recomendaría que hicieras es lo siguiente:

- Desde tu formulario maestro, cuando abras el otro formulario, fuerza el cierre del primero. Esto se haría, en el código del botón que utilizas, con un código más o menos así (te lo pongo lo más simple posible, sin parámetros de modo de apertura o de filtro):
...
Private Sub...
docmd.close acform,me.name
docmd.openform "FormularioEntrada"
End Sub
...

Y cuando acabes con el formulario de entrada haces la operación inversa, de manera que:

...
Private Sub...
docmd.close acform,me.name
docmd.openform "FormularioMaestro"
End Sub
....

Ten en cuenta que si al volver al formulario maestro, si necesitas ir a algún registro en concreto, puedes abrir el formulario en función de algún identificador. Por ejemplo, si identificas el registro con un campo [Id] autonumérico, al volver al Maestro puedes indicarle que se vaya a ese registro en concreto, así:

...
Private Sub...
Dim miId as long
miId=me.Id.value
docmd.close acform,me.name
docmd.openform "FormularioMaestro",,,"[Id]=" & miId
End Sub
....

A ver si con esto te sale y te desaparecen esos mensajes.

Un saludo,


http://neckkito.siliconproject.com.ar
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

Problema al modificar datos en tabla

Publicado por José (53 intervenciones) el 07/09/2013 01:50:18
Hola Neckkito,

bueno he hecho lo que me indicas pero el problema sigue sin resolver.
Los formularios se cierran y se abren pero al pinchar en le botón para realizar calculos surge el mismo error "Access ha detenido el proceso porque otro usuario trata de modificar los mismos registros que usted está modificando".
Este error surge solamente cuando realizo los calculos por primera vez (supongo que aunque se fuerce un edit de la tabla este solo se realiza si los datos son diferentes). Una vez que el primer calculo se ha hecho el error no vuelve a surgir mas). Probablement he metido un código erroneo en algún procedimiento o quizá el hecho de que tengo la costumbre de abrir las tablas, procesarlas y salir del procedimiento sin cerrarlas). Tengto que mirar a ver por qué se da en algun (algunos) procedimientos y no en otros.
La tabla maestro tiene unos 800 registros, y la tabla detalle 14.000. He añadido 6 campos a la tabla detalle, he reclaculado todos los campos incluidos los 6 muevos y sin problema; es solo despues de hacer la introducción de datos.
De todas formas lo que me has indicado me servirá para otras cosas.
Gracias y
un saludo
José
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