6- Protección con el Cuarto Parámetro
Autor: Marius Puig
En Access tenemos la propiedad
AllowBypassKey
que nos permite activar
a (True) o desactivar
(False) el comportamiento de Access al abrir
una MDB o MDE.
Si esta propiedad está en True (o no está
creada) y mantenemos pulsada la tecla
Shift
al abrir una MDB/MDE, podremos saltarnos las
propiedades de inicio y la macro autoexec.
Si esta en False no podremos saltarnos esas
propiedades o la macro.
Para crear esta propiedad usamos el método
CreateProperty
de la siguiente forma:
CreateProperty("allowbypasskey", dbBoolean,
True)
CreateProperty(propiedad, tipo, valor,
DDL
)
Normalmente omitimos el
4º
cuarto
parámetro (DDL quedará = False), de este
modo estamos permitiendo que a
través de
código se pueda acceder a la propiedad y
cambiarla, sin importar que usuario está
accediendo a esta propiedad.
Si queremos que esta propiedad no pueda ser
cambiada, salvo por el usuario que la creo,
lo podemos hacer de la siguiente forma:
Necesitamos un grupo de trabajo -MDW- y un
usuario (p.e. Usuario
Shift
)
distinto del Administrador que es el que
viene por defecto. (ver Curso de Seguridad)
1-
Nos uniremos a un
grupo de trabajo (MDW)
¡!!!
2- Hacemos el login con el usuario
UsuarioShift
3- Creamos una nueva base de datos
4- En permisos:
objeto Base de datos
* denegamos
Administrar
a todos los usuarios/grupos excepto al
UsuarioShift
5- Creamos un modulo con las siguientes
funciones:
'En referencias tiene que estar marcada DAO)
' - estas funciones las podemos ejecutar
situando el cursor y pulsando F5 -
'
'Esta funcion la usaremos 1 vez para crear
la propiedad
Private Function
CREARshift
()
Dim Prp As
DAO.Property
Set Prp =
CurrentDb.CreateProperty("AllowBypassKey",
dbBoolean, True, True)
CurrentDb.Properties.Append Prp
Msgbox “fin Crear”
End Function
'Esta funcion la usaremos para cambiar el
estado de la propiedad
Private Function ONOFFshift()
CurrentDb.Properties("AllowBypassKey") = Not
CurrentDb.Properties("AllowBypassKey")
msgbox “fin ONOFF”
End Function
IMPORTANTE !!
1 - Ejecutamos las dos funciones
(1 vez) y ya tenemos la propiedad
AllowBypassKey "segura". Antes de crear
OBJETOS
2 - Creamos un formulario y lo establecemos
como inicial.
Si salimos de access y
volvemos a entrar con el login del usuario
Administrador comprobaremos que al intentar
ejecutar la funcion ONOFFshift nos indicará
que no tenemos permisos suficientes. La
única forma de desactivar/activar esta
propiedad será mediante el UsuarioShift.
Nota:
Este proceso solo es para asegurar una
propiedad de Access, como complemento a
otros métodos que usemos para dar mas
seguridad a nuestras bases de datos.