¿Cómo impedir borrar un campo completo en un subformulario?

Tengo un formulario con un subformulario (en vista Hoja de Datos), el tema es que un usuario al querer borra la información del campo posiciono el mouse sobre la casilla de ingreso de datos (en la parte donde esta el nombre del campo, el cursos se transformo en una flecha hacia abajo) y se marco la casilla completa, al intentar borrar la información del campo lo borro por completo al punto de hacerlo desaparecer del formulario. ¿Cómo se puede impedir eso?

1 respuesta

Respuesta
1

Para evitarlo lo primero de todo es darle una paliza a ese usuario. Porque, diga lo que diga, lo hizo a propósito. Cuando vas a eliminar un campo e intentas cerrar el formulario te pregunta si quieres guardar los cambios y no me creo que no se diera cuenta que acababa de borrar un campo completo.

Dicho esto, permíteme decirte que los formularios en vista hoja de datos son una auténtica mierda que sacaron los programadores de Microsoft para justificar que trabajan y que compres un producto nuevo, pero que no sirve absolutamente para nada. Es como si te dicen "Te vendo este coche que lleva un climatizador especial para cuando la carretera supera los 7000 metros de altura y además te pongo el idioma swahili en el TomTom". ¿Para qué coño quiero ese climatizador?, ¿Cuándo voy a subir con el coche a esa altura? ¿Cuándo voy a buscar calles en el Sahara?

Los formularios en vista hoja de datos son copias "virtuales" de una tabla, y las tablas no tienen código. Prueba en vista diseño a poner un color de fondo a un cuadro de texto, comprobaras que al abrir el formulario el fondo sigue siendo blanco. Además, en que se diferencia del formulario que te pongo en la imagen

Y es un formulario continuo, al que si le puedes poner código.

Resignación(eso sí, después de pegarle la paliza). Te aconsejo que el subformulario en vista hoja de datos lo cambies a continuo.

Gracias por la respuesta, pero la verdad, es que el pobre usuario no sabia que hacer debido a que no podía seguir introduciendo datos, así que me aviso preocupado.. ja (en verdad no se dio cuenta pobre). Tu consejo no me dio resultado... te mando unas capturas de pantalla, para que me digas que pudo haber pasado.

Al no saber el origen del formulario y el subformulario, te digo lo que haría. Un formulario único con un subformulario y éste último en vista formularios continuos. Te lo digo, porque así si permite hacer muchas cosas en código de VB. Nunca jamás le he visto ni una sola ventaja a los formularios en vista hoja de datos. Por ejemplo, en vista formulario continuos puedes ponerle

me.allowdeletions=false( con lo cual no pueden eliminar un registro

o

me.allowedits=false, con lo que no pueden modificar nada

me.allowadditions=false, con lo que no pueden añadir nada

y un etc. casi infinito

O por ejemplo, en algún evento Al bajar una tecla

if keycode=46 then

keycode=0

end if

Es decir que si pulsan la tecla Suprimir no haga nada.

OKI. Lo voy a hacer desde cero de nuevo así como me aconsejas vos. Luego te comento como me fue. Muchas gracias !

Permíteme unos consejos dictados por la experiencia. Considera a las tablas un simple almacén de datos y nada más. Huye de los campos calculados, son una mierda y dan más problemas que resuelven. Los cálculos se hacen en los formularios, en código VB. Lo mismo digo de los campos multivalor, otro invento de los técnicos de Microsoft para justificar que trabajan.

Por otro lado, por el hecho de que una tabla vaya a usar o coger datos de otra no quiere decir que deban estar relacionadas y mucho menos con integridad referencial. Siempre podremos usar las funciones Dlookup o Dcount, Dsum etc. Pero si van a trabajar juntas, tipo formulario y subformulario, entonces sí.

No sigo, que vas a decir que soy un pesado

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas