proteccion tecla shift

5- Protección Tecla Shift

 

Autor: Javier Gómez ("javier.mil")

El siguiente código sirve para proteger la tecla SHIFT mediante codigo.

Casi todo el mundo que utiliza Access sabe que pulsando la tecla SHIFT mientras se abre la base de datos, permite saltarse el primer formulario (entrada o inicio). El siguiente código lo evita.

La novedad de este código es que No se aprovecha del error de la propiedad para crearla , sino que busca primero si existe la propiedad y si No la encuentra entonces la crea.

Para que sea 100% operativo hay que ejecutar el procedimiento XecPrimeraVezSHIFT una sola vez.

sitúa el cursor AQUI Public Sub XecPrimeraVezSHIFT ()

luego pulsa F8 Public Sub XecPrimeraVezSHIFT ()

y finalmente F5

En caso que No se ejecute No pasaría nada, simplemente que la base estaría sólo segura la segunda vez que se entrase en la base.

en un FORMULARIO DE ENTRADA o INICIO

 

Private Sub Form_Open(Cancel As Integer)
Rem protege la tecla SHIFT
Rem Primera vez hay que ejecutar la intruccion funSoloPrimeraVezSHIFT

If funProtegerSHIFT(Si) = False Then
Rem La propiedad No fue creada
MsgBox "Se ha producido un error grave de seguridad", vbExclamation, "Error Shift"
Application.DoCmd.Quit
End If
End Sub

 

Otra opcion seria:

funProtegerSHIFT Si

 

en un MODULO STANDARD

Private Function funLeerPropiedades() As Boolean
'---------------------------------------------------------------------------------------
' Procedure : funLeerPropiedades
' DateTime : 09/06/2009 20:45
' Author : Javier Gomez ("Javier.Mil")
' WEB : https://www.accessdemo.info
' Purpose : Lee la coleccion de propiedades y busca si existe la propiedad SHIFT
'---------------------------------------------------------------------------------------


Dim dbs As DAO.Database
Dim prp As DAO.Property
On Error Resume Next
Set dbs = CurrentDb
For Each prp In dbs.Properties
Rem busco solo la propiedad SHIFT
If prp.Name = cShift Then
funLeerPropiedades = True
Exit For
End If
Next prp
Set dbs = Nothing
Set prp = Nothing
End Function



Public Sub XecPrimeraVezSHIFT()

Ejecutar este codigo 1 sola vez con F8 y luego F5
situa el cursor sobre Public Sub XecPrimeraVezSHIFT ()
luego pulsa F8 Public Sub XecPrimeraVezSHIFT ()
y finalmente F5


'---------------------------------------------------------------------------------------
' Procedure : XecEjecutarUnaVez
' DateTime : 09/06/2009 20:41
' Author : Javier Gomez ("Javier.Mil")
' WEB : https://www.accessdemo.info
' Purpose :Rem Ejecutar este codigo solo 1 vez
Rem ejecutar este codigo antes de distribuir tu aplicacion
Rem se creara la propiedad SHIFT
Rem puedes comprobar que se haya creado la propiedad desde funleePropiedad
'---------------------------------------------------------------------------------------


On Error Resume Next
Dim varProp As Variant
Set varProp = CurrentDb.CreateProperty(cShift, dbBoolean, False)
CurrentDb.Properties.Append varProp
MsgBox "Se ha creado la propiedad SHIFT con exito", vbNewLine & _
"No hace falta creala mas veces", vbInformation, "Tecla Shift"
End Sub

 

[Atrás]