Contraseña en diseño de un formulario

No se si es posible, he creado un formulario al cual le he asignado una contraseña, para que sólo lo pueda abrir yo, el código (que no es mío) es el siguiente:

Private Sub Form_Open(Cancel As Integer)
Dim MyPass As String
Dim TuPass As String
MyPass = "schwepps"
TuPass = InputBox("Introduzca la clave para acceder a este formulario", "Introduce la clave", "")
If TuPass <> MyPass Then
MsgBox "La clave de aceso al formulario no es válida"
Cancel = -1
End If

End Sub

La pregunta sería, podría poner contraseña sólo para acceder al diseño y que el formulario se pueda abrir normalmente.

2 respuestas

Respuesta
2

La solución más sencilla, aunque hay más, es que conviertas la base en accde. Funciona exactamente igual, pero no permite ver el diseño de los formularios, informes, macros y módulos.

Lo que hace es compilar y encriptar el código. Pero, importantísimo, guarda el original accbd en sitio seguro.

También puedes usar, para entrar al formulario

Private Sub Form_Load()
Dim tupass As String
tupass = InputBox("Escribe la clave", "Muy amable")
If tupass <> "cocacola" Then
MsgBox "Anda ya, no has dado ni una", vbOKOnly + vbexclamation, "Me cierro"
Cancel = True
DoCmd.Close acForm, "nombredelformularioquequierenabrir"
End If
End Sub

También para que no vean el diseño de los formulario puedes ocultar todo el entorno Access.

O Puedes pulsar Archivo-Opciones-Base de datos actual y desmarcar las casillas de

Permitir el uso de menús no restringidos

Permitir el uso de menús contextuales

pero si convierto en accde, cuando quiera modificar mis diseños debería trabajar en accdb y volver a convertir a accde?

Gracias

Desgraciadamente es así. Por eso te apuntaba la posibilidad de ocultar todo el entorno Access, de manera que sólo le muestre los formularios e informes que a ti te interese. Pero no puede acceder a las tablas, ni a los diseños. Personalmente creo que es la mejor solución.

Que te quedaría algo así

Y al hacer doble clic sobre el icono

Te muestra única y exclusivamente lo que quieres que vea.(No hagas caso al formulario), sin posibilidad de que "toque" nada, y así te evitas la necesidad de tener que liquidarlo por tocar lo que no debía.

Respuesta
1

Además de deshabilitar algunas opciones de la base de datos, se puede controlar que el usuario sin contraseña válida abra el formulario en diseño, pero se debe crear un Menú Contextual Personalizado y se debe proteger el código VBA de la base datos. Como usted mismo no pude abrir directamente en diseño el formulario, necesita hacerlo desde otro formulario en donde se debe pedir la contraseña para continuar. Veamos el ejemplo-

Formulario con menú contextual personalizado

Se abe el menú contextual con el botón derecho del mouse, pero no es posible ingresar al diseño. Para abrir este formulario nos valemos de otro. (Se requiere contraseña)

Formulario auxiliar para abrir el formulario

Y tengo el formulario abierto en vista diseño.

Código del botón abrir en diseño

Este ejemplo tiene un módulo y código en el evento al mover mouse, abrir y cerrar del formulario. Exponerlo acá es extenso, puede solicitar el ejemplo a [email protected] favor anotar en el asunto la consulta.

Hay que tener claro como se va a trabajar:

1- Base datos accdb

2- Base datos accde

Para la primera no es posible tener plena seguridad que un usuario no logre ingresar al diseño del formulario, ni con lo expuesto por mi ni por lo sugerido por otros, toda vez, que un usuario experimentado puede violar cualquier seguridad e inclusive conseguir la clave del código, el ejemplo que le menciono solo es "útil" cuando los usuarios no tienen bastantes conocimientos de Access.

Para la segunda y desactivando la tecla Shift si tiene seguridad total, porque no hay forma de ingresar al diseño de ningún objeto, estamos hablando de una aplicación terminada, ahora, como usted mismo lo dice tendría que estar modificando y creando archivo accde.

Para mi concepto y resumiendo no es suficiente ocultar e inventar cosas mientras no se tenga la base de datos como archivo accde.

¡Gracias! Muchas gracias por la información, intentaré plasmar lo sugerido. Porque la posibilidad de restringir el acceso de SHIFT con una contraseña y si es correcta abril la vista diseño, en caso contrario abrir el formulario?

No esta confunfido la tecla shift es cuando ha creado un archivo accde y código que la deshabilita, este no le dejea ver código y ningún formulario y creo que este no es su caso.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas