Hola Amigos, encontre que ya estaba inscrito, pero prácticamente soy nuevo acá.
Trabajo profesionalmente con access, pero tengo un problema que no he podido solucionar correctamente.
Es acerca del tema de los registros que un usuario elimina(Uno o varios). Si estos necesitan sumar algo o algún trabajo en otras tablas, esto se vuelve una locura en access, tanto así que por cada evento delete prefiero recalcular cualquier total de otras tablas (y esto me parece absurdo y lento).
Normalmente, prefiero no almacenar muchos valores (suma o totales) en otras tables, sino que prefiero sumar de nuevo todo, pero realmente lo eficiente es llevar algunos totales en ciertas tablas. Pero borrar un registro es una pesadilla.
El evento delete del formulario se ejecuta una vez por cada registro borrado (sin esperar por la respuesta del usuario, estos registros pasan a un buffer temporal (pero este es el único momento en el que se pueden accesar los datos del registro(s) borrado, y por lo tanto poder hacer las relaciones(sumas, restas) con las demás tablas. Teniendo que reversar todo, en caso de que el usuario decida no borrar 100 datos, jaja. Valla lío.
Si esperamos a la pregunta de "Borrar 100 registros (o uno)" y el usuario contesta que si (borralos), no hay manera de ver los datos. Si el usuario los reversa, pues bien, no hicimos nada aun.
Así que no hay acceso a los registros, teniendo la decisión definitiva de borrarlos.
Incluso cambiando a una pregunta manual, digamos por cada delete, entonces hay choques por ejemplo si el registro es una linea de albarrán y actualizas el total del producto, aunque este en otra tabla (obviamente) aun así, debido a que esta linea tiene algunas uniones (relaciones) con el producto y que en este momento access puede hacer no se que cosa con el registro del producto (tal vez actualizaciones en cadena) lo cierto es que en este momento si actualizo el producto me aborta la eliminación con el mensaje de que no se puede borrar porque otro usuario esta usando los mismos datos, y soy yo solo el que estoy haciendo pruebas.
Si no escribo en el producto, no ocurre el error y borra correctamente, pero ya no actualice stock y me toca sumar 1 millón de compras y ventas. jajaja.
En resumen no logro borrar si hay relaciones (de sumas y restas entre archivos no las de las tablas)
Posible mente si quito las relaciones de las tablas funcione, pero no me parece lógico.
Ademas de que si cancelan la eliminación hay que memorizar todo, para echarlo atrás.
No se si me explique, pero no encuentro una buena forma para hacer esto
Gracias, a ver si alguien se anima a ponerme unas letras
Editado por luis45ccs - 03/Octubre/2019 a las 02:05