Bloquear bd

Tengo un problema me he creado una db con código y lo que quiero es que no puedan entrar en él. ¿QUÉ no puedan acceder a las tablas con Mayúsculas y enter o f12 se puede hacer?

2 respuestas

Respuesta
1
Hay dos maneras, una donde se puede volver a entrar normal, con una clavecita, y la otra que es total, que no se puede revertir el proceso, aunque es posible violentando la seguridad por código:
Antes cerciorate de convertir la base de datos a la version actual..
Menu Herramientas, Utilidades de BAse de datos, Convertir base de datos, y seleccionas el formato de la version que tiene instalada.
Sales de la base de datos, y abres la Nueva donde esta el formato..
También te aconsejo guardar una con tu código, diseño, sin que tenga lo que te voy a comnetar, ya que si necesitas hacer cambios la haces con esta y vuelve a generar los bloqueos.. OJO.. te aconsejo que lo hagas..
1. En la ventana de Base de Datos, haces click derecho en el encabezado de esta ventana (donde dice Ejecutar, Nuevo, Diseño en la parte superior, donde también aparece un icono de eliminar una por especial)..
Y das click en inicio, encuentra unas casillas seleccionadas: las deschequeas todas, que no queden con chulo, OJO.. aquí se ledice que no se utilizara los menús y barras de access, si los necesitas en la aplicación no deschequees lo de los menús y barra de herramientas, colocaas el ttitulo de tu aplicación, un icono (que deberá estar siempre en esa ruta)...
Lego vas al menu herramientas, luego a Utilidades de BAse de datos, luego seleccionas crear archivo MDE, le das el nombre que quieras y donde va ir... este es una especie de ejecutable que protege diseño y código, no deja importar Formularios, ni módulos, ni informes...
Y listo tienes tu 'Ejecutable'... pero para omitir las propiedades de inicio que te mencione que deschequearas, al entrar en la Base de datos, manteniendo presionada la tecla SHIT, no te toma en cuanta las propiedades de inicio y te puede abir la ventana de inicio, con todos tus objetos, aunque los módulos, informes, y formularios no los puede modificar, ni rediseñar, ni entrar al código, puedes borras tablas o consltas.. entonces esto seria un problema ... aquí viene la segunda parte que arias ademas de esto...
En un modulo, creas la siguiente función...
...
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, vbInformation, "Error"
CambiarPropiedad = False
Resume Change_Bye
End If
End Function
...
Donde y como la llamaras (ya te explico en que consiste esta función)
La debe invocar en un formulario de inicio (me imagino que lo tienes) en el evento open... se colocaría...
...
CambiarPropiedad "AllowBypassKey", dbBoolean, False
...
Como te das cuenta este porocediento sirve para bloquear la tecla SHIT, que te hablaba, que sirve para que no tome la configuración de inicio al crear el MDE, después de esto haces lo que te dije para crear tu MDE (con las opciones de inicio)..
OJO... No se te olvide tener una copia sin todos estos bloqueos, por que después de hacer todo esto 'NO TE DEJA ENTRAR A NINGÚN LADO DE DISEÑO, NI DE INICIO, CASI QUE NO HAY MARCHA ATRÁS'
Ojala que te sirva... cualquier cosa no dudes en escribirme...
Atentamente:Telemaco
Empecemos por el segundo error, te falta una referencia a dao, ya que database pertenece a DAO 3.6, OJO... Me falto preguntarte la version del access, ya que esta es de Xp y 2003... pero no importa..
Debes entrar al código, luegoa la Menu Herramientas, y haces click en Referencias... Ahora chequeas la que dice 'Microsoft Dao 3.6 Object Library' OJO si es version Xp, tienes las Librería '2.5/3.5' y la '3.5' (Es el mismo nombre solo cambia la version o numero), y sersiorate que solo tienes una seleccionada, si tienes dos te vota error al compilar... si tienes otra version selecciona una de estas que te menciono (Siempre la dao.. Object Library)...
Cerciorate, que tienes chequeada 'Microsoft Office 11.0 Object Library' (O el numero según tu version) esta es por si acaso... luego haces click en aceptar.. ahora vamos a ver si todo esta bien hasta ahora... vamos a compilar si todo esta bien... si te muestra errores al compilar verifica cuales son, sino me avisas y te ayudo. Para compilar vamos al menu (desde el código) Depuración, y haces click en Compilar (NombredeBd)... si todo esta bien y no te vota error, intenta sacar la Mde..
La Primera pregunta, puede ser que hay errores de compilación (osea de código), pero al Compilar te los debe mostrar, ve solucionado estos errores (Variable no iniciadas con Option Explicit, Objetos o controles con métodos no existentes.. En fin, access te dice que errores son...)
Y todo sale bien, te debe dejar crear el MDE ahora...
Suerte... me avisas y te sigo ayudando en tal caso
Att:Telemaco
Hola Telemaco he hecho lo que me has comentado y me da error en 2 sitios:
El primero en pasar un archivo a mde porque dice que tengo más de 2000 items y el segundo en el código que me has dado en la linea
Dim dbs As Database, prp As Property
Me dice q
Error de compilación no se ha definido el tipo definido por el usuario
¿q puedo hacer?
Muchas gracias
Envíamela y te ayudo... me avisa en que version de office la hizo
[email protected]
Att:TELEMACO
Hola Telemaco me sigue si me puedes enviar una bd de ejemplo o yo enviártela
Muchas gracias
No me has contado como te fue...
No se te olvide finalizar la pregunta... o me avisas si tienes más dudas...
Respuesta
1
Si creas usuarios que trabajen con esa base de datos y quitas los permisos al usuario administrador, así lo consigues.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas