Error "Update o CancelUpdate sin AddNew o Edit" en access

Necesito por favor ayuda de algún experto, hay un error que me lleva de cabeza y seguro que es alguna chorrada pero que no alcanzo a solucionar.

Tengo una base de datos con un formulario en la que tengo una serie de registros con sus campos, si yo me desplazo por los registros mediante las flechas y cambio los datos de cualquier campo, no tengo ningún problema y los datos se guardan, en la imagen pongo ejemplo:

En cambio si uso la lista desplegable y selecciono un registro cualquiera y luego intento escribir un dato en un campo comienza a salir una ventana continuamente con el siguiente mensaje: "Update o CancelUpdate sin AddNew o Edit" lo peor de todo es que no se puede cerrar la base de datos y me toca apagarlo todo de mala manera. En la foto pongo el cuadro desplegable y el erro que me da

He estado buscando información y parece ser que hay que poner algo en el VBA para que se guarden los registros de esos campos, pero yo de VBA se mas bien poco y no entiendo porque al desplazarme con las flechas si me funciona todo pero al elegir el mismo elemento del cuadro desplegable me da el error al intentar modificar los campos.

Respuesta
2

Si, como parece, es un error de código, deberías poner el código que estás usando para tratar de localizar el error. Si no es imposible decirte a ciencia cierta dónde está.

Tu problema no es poner "algo" que te guarde los datos, sino indicarle que estás en un nuevo registro o editando uno antes de guardarlos.

Por ejemplo:

Dim rst As DAO.Recordset

Set rst=CurrentDb.Openrecordset("TablaDatos")

Rst. AddNew '<- aquí vas a un nuevo registro (rst. Edit para modificar uno existente)

rst("Nombre")='Pepe'  '<- Rellenas un campo

Rst.Update  '<- Actualizas la tabla (aquí te da el error a tí)

Rst. Close

La linea en negrita es la que te faltaría.

Un saludo.


Lo primero de todo agradecer que me respondas!

Yo podría poner aquí el código pero es demasiado largo y además no se exactamente que parte del código tengo que poner ya que el código usado en el formulario donde me da el error engloba otras partes de la base de datos.

La parte de VBA me la controlaba un experto en bases de datos que veraneaba por mi zona pero ahora por motivos de distancia no puedo contactar con el, yo en tema de código ando escaso, por eso al yo añadir nuevos campos a ese formulario me da ese problema, y el caso es que me funcionan pero el problema que cuando abro un registro especifico en el cuadro de lista pues ya no me deja guardar los datos.

¿El código ese que me has mandado lo tendría que poner en un módulo de VBA o en el código del formulario donde me da el problema?

La verdad no se como completar lo queme has pasado para adaptarlo a mis datos, luego haré pruebas haber si doy con la tela.

Gracias y un saludo!

Pues sin ver el código, va estar difícil...

Cosas que puedes hacer:

Mira si en el control que te da el error tienes asociado algún código en algún evento. Luego mira si ese código tiene asociado un control de errores (yo diría que sí), algo como On error Goto...

Si comentas (o borras esa línea) y vuelves a hacer en el formulario lo que te da el error, te tendría que llevar a la parte del código que da problemas. Ahí es donde has de ver si previo al .Update tienes un . AddNew o . Edit, como en el "mini-código" que te puse en la anterior respuesta.

Un saludo.


Hola buenas, he realizado la  búsqueda desde el editor de VBA, y he puesto partes del código que me has pasado pero me aparecen muchas lineas y cuando modifico algo del programa luego me da error.

Si tienes tiempo y no es molestia te puedo pasar el programa y así seguro que encuentras el problema directamente al ver el código, y si me tienes que cobrar sin problema, y ya de paso si se soluciona se pone por aquí la respuesta que he visto que hay mas gente que le ha surgido este problema y no le han dado una solución directa.

Gracias de nuevo.

Envíame una copia de tu BD, comprimida en rar o zip a [email protected]

Deja solo los elementos que intervienen en el problema (tablas, consultas, formularios) e indícame el nombre del formulario que te da problema.

Enviado a tu email.

Después de dos tardes trasteando con tu BD, soy incapaz de localizar el error, y al usar macros incrustadas, es imposible depurar a ver dónde falla.

Lamento mucho no poder ayudarte con esto, pero no le puedo dedicar más tiempo.

Por otro lado, Tecsys me suena que es (o era) la empresa de uno de los expertos de Access de este foro (y otro muchos): Jesus Mansilla Castells Igual puedes preguntarle a él directamente.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas