Bloqueo

Te molesto de nuevo con lo siguiente, bueno tengo que hacer un acceso directo de un menú principal para poner a trabajar el programa pero no quiero que ningún usuario pueda hacer cambios en ninguna área de el mismo.

1 Respuesta

Respuesta
2
Pero te refieres a la bd... que no puedan entrar a diseño... claro se puede hacer...
Veamos...
VOLVER invisibles las tablas, este procedimiento te puede ayudar...
Colocalo en un formulario, o en modulo para que lo corras, cada vez que lo necesites...
**********************
For I = 0 To CurrentDb.TableDefs.Count - 1
If CurrentDb.TableDefs(I).Attributes = 0 Then CurrentDb.TableDefs(I).Attributes = dbHiddenObject
Next I
*************************
Ahora vamos a trabajar con las propiedades de inicio...
PERO OJO: ANTES DE HACER ESTO... copia la base de datos de servidor, ya que después no podrás acceder a ningún objeto de la misma.
Antes de eso vamos a crear un procedimiento que anule la tecla shift, que es la que permite que pase por alto lo que te diré a continuación, y que servirá, para ocultar la ventana de base de datos, para que no salga ningún menu, ni barra de herramienta.
Crea un modulo si no lo tienes, y coloca estas funciones:
***************************
Function EstablecerPropiedadesDeInicio()
CambiarPropiedad "AllowBypassKey", dbBoolean, False
End Function
Function CambiarPropiedad(strPropName As String, varPropType As Variant, varPropValue As Variant) As Integer
Dim dbs As Database, prp As Property
Const conPropNotFoundError = 3270
Set dbs = CurrentDb
On Error GoTo Change_Err
dbs.Properties(strPropName) = varPropValue
CambiarPropiedad = True
Change_Bye:
Exit Function
Change_Err:
If Err = conPropNotFoundError Then ' Propiedad no encontrada.
Set prp = dbs.CreateProperty(strPropName, varPropType, varPropValue)
dbs.Properties.Append prp
Resume Next
Else
' Error desconocido.
MsgBox "Se presentó el error: " & Err.Number & "-" & Err.Description
CambiarPropiedad = False
Resume Change_Bye
End If
End Function
****************************
Ahora crea un amacro llamada "AutoExec"... se debe llamar así exactamente OJO...
En la macro en acción busca y coloca "EjecutarCódigo", y donde dice Nombre de función coloca: "EstablecerPropiedadesDeInicio ()"...
Listo con esto bloqueamos la tecla shift... ahora vamos a asegurar más la bd...
Haz click derecho en la ventana de la base de datos, donde aparecen las tablas, formulario, etc.. y luego selecciona Inicio...
Deschequee lo siguiente:
* Presentar la verntana de Base de datos (No permitira abrir la ventana de base de datos,osea no podra acceder a las tablas, ni a formualrios, etc)
* Permitir el uso de barras de herramientas incorporadas (No mostrara las barras de herramientas de access, por lo tanto no tendra acceso a comando para abrir codigo, etc)
*Permitir el uso de menus no restringidos (No aparecera los menus de access, esto servira para que no pueda acceder a objetos como tablas,etc)
*Permitir el uso de menus contextuales predeterminados (menues emergentes..ya se imaginara porque)
*usar teclas especiales de access (Para que no pueda utilizar por ejemplo la tecla F11, que permite visualizar la ventana de base de datos....9
Todas las anteriores les debe quitar le chulo...
Ahora donde dice "Mostrar formulario/pagina".. puede seleccionar un formulario para mostrar, para que no se vea fea la base de datos de servodor, cree un formulario de presentación, que se abra maximizado (en el evento open del formulario coloque "Docmd.Maximize".. las propiedades emeregente y modal del formulario, establescalas a "si"...
Y listo tienes la base de datos segura...
Me avisas
att:telemaco
p.d. Ojo antes de hacer esto sáquele copia a la base de datos de servidor... para que si necesita hacer cambios solo tu poseerá la original sin estas propiedades, ya al colocarle todo lo que dije... no podrá acceder a ningún objeto de la base de datos...
P.D. No creas, que se me ha olvidado lo otro... no te preocupes...
No se te olvide finalizar la pregunta
Att:telemaco
No se te olvide finalizar la pregunta...

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas