Tengo una duda sobre selector de registros

Como puedo hacer para que en un subformulario, ¿no este habilitada la opción de eliminar un registro (mediante botón derecho/eliminar registro)? ¿Y qué solo se pueda hacer mediante un botón que te pida una contraseña maestra para autorizar dicha eliminación? Obvio previa selección del registro a eliminar...

¿Alguna ayudita?

Saludos Gente!

Respuesta
2

Hugo: El separador de Registros no tiene que ver con eliminar o no.

Puedes quitarlo en Propiedades Formato >> Separador de Registros (Si/No).

En cuanto a deshabilitar la opción de que salga el Eliminar y otros con el Botón derecho del mouse, has de ir a Propiedades >> Otras >> Menu Contextual >> (Si/No) . Un saludo >> Jacinto

1 respuesta más de otro experto

Respuesta
1

Además de lo que bien te comenta Jacinto, para impedir que se eliminen registros puedes:

1º/ En las propiedades del formulario, pestaña datos, poner "permitir eliminar" en No

2º/ En el evento "al cargar" del formulario poner Me.AllowDeletions=False

Luego cuando quieras permitir el borrado de registros, usas lo misma instrucción, pero con True (Me.AllowDeletions=True). Luego recuerda volver a bloquear la eliminación, pues si no te quedará permitida hasta que cierres y vuelvas abrir el formulario.

¡Gracias! 

Estaría buena la opción , pero hay que tener en cuenta que esto lo tiene que hacer un operador sin abrir los formularios en sus propiedades es decir, si habilito NO Eliminar, cuando llegue el momento de eliminar con una autorización, habría que ir al diseño y demás pasos ...Lo que trato de conseguir, sise puede es, algo pasa practico para el operador que se supone no sabe nada de access.

Saludos...

2º/ En el evento "al cargar" del formulario poner Me.AllowDeletions=False

Luego cuando quieras permitir el borrado de registros, usas lo misma instrucción, pero con True (Me.AllowDeletions=True). Luego recuerda volver a bloquear la eliminación, pues si no te quedará permitida hasta que cierres y vuelvas abrir el formulario.

¡Gracias! 

Y si, pero siempre es habilitando o deshabilitando dentro del modo diseño cambiando la instrucción,,,a eso me refiero, el operador no puede hacer eso...no se si me explico...

Esa es una instrucción VBA, no hace falta para nada entrar al modo diseño...

2º/ En el evento "al cargar" del formulario poner Me.AllowDeletions=False

Luego cuando quieras permitir el borrado de registros, usas lo misma instrucción, pero con True (Me.AllowDeletions=True).

***********       ***************              *************          ************            ***********

Esto es lo que yo entiendo...  que en modo diseÑo, en el evento "al cargar" agregue esta linea de comando Me.AllowDeletions=False , grabo y cierro y vuelvo a la vista del formulario...pero si quiero permitir el borrado, tengo que hacer toda la operación de nuevo y cambiar a TRUE verdad?

O tengo que escribir todo junto 

Me.AllowDeletions=False

Me.AllowDeletions=True

Es así o estoy equivoca? 

No, no es así, no has entendido nada de lo que te dije...

A ver: cuando haces una aplicación, antes de entregarla al usuario final, se supone que ya la has diseñado y programado en su totalidad para que el usuario solo la maneje, no tenga que hacer nada que implique ir al diseño de la misma...

Tu dices que quieres que en un formulario no se permita eliminar registros. Pues bien, para hacerlo tienes dos opciones (tu como diseñador/programador de la aplicación)

1º/ Abrir el formulario en vista diseño y ponerle en No la propiedad Permitir eliminaciones. Obviamente esto lo harás solo una vez, una vez que guardes los cambios, esa propiedad queda así "para siempre"

2º/ En vez de hacerlo "a mano", lo haces por código, cada vez que abras el formulario, con Me.AllowDeletions=False en el evento "al cargar" de ese formulario.

Luego quieres que con un botón puedas eliminar, pidiendo una contraseña y que una vez eliminado, no se puedan seguir eliminando. Pues también te lo expliqué, en tu botón tendrás que programar un código que haga esas 4 cosas que pides:

Pedir una contraseña

permitir borrar (aquí iría el AllowDeletions=True)

borrar el registro

bloquear las eliminaciones (aquí otra vez el allowdeletions=False)

En ningún momento el operador tendrá que entrar al diseño de la BD, y tu tan solo tendrás que hacerlo una vez: para programar esas acciones...

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas