Contraseñas

Como se pueden proteger las tablas para que nos la vea nadie

1 respuesta

Respuesta
1
Si te refieres a protegerlas para alguien que no es usuario, bastaría con añadir una contraseña a la base de datos.
Ahora, si de lo que se trata es de que alguien tiene que usar esas tablas, lo lógico sería seguir otros pasos.
Necesito saber más.
Yo tengo una base con datos de sueldos de personal y la tengo protegida con contraseña. Cuando alguien intenta entrar le pide la contraseña. Una vez dentro no pueden acceder al diseño, pero si un usuario tiene un poco de idea no tendría más que crear una nueva base de datos e importarse las tablas ya que sabe la contraseña de dicha base. El tema del diseño no me importa lo que me importa es el tema de las tablas ya que es aquí donde están los datos. A mi se me había ocurrido el crear una base desde la cual pudieran abrir otras bases aunque estas estén protegidas, es decir en esa base poner un comando que habrá otra base ( indicando las ordenes, incluidas las contraseñas)pero no se como poner este comando. Así podrían entrar en la base que tendo protegida sin necesidad de saber la contraseña de la base y accederían meiante formularios de contraseñas donde se les permita pero no podría copiarse las tablas a otra base. ES UN POCO LIOSO NO. Resumiendo, como puedo crear un botón de comando en un formulario que al apretar me abra otra base de datos que está protegida con contraseña sin que me pida dicha contraseña. Muchas gracias.
Creo que lo que necesitas es saber algo más sobre protección de bases. Lo que planteas parece una buena idea y yo te explico como hacerlo por pasos. Si no me sigues me lo dices.
1. Divide la base de datos y la aplicación: access tiene una opción automática. Se trata de que los objetos tales como consultas, formularios, reports (informes), macros y módulos queden en una base y los datos en otra.
2.Al dividirla te encontrarás dos bases: una aplicación pura y dura, y la otra con los datos.
3.Haz copia de las dos antes de comenzar. Después de hacer lo que te digo no podrás entrar en el modo de diseño de la base que contiene todos los formularios... etc.
4.La contraseña se la colocas en la base que contiene los datos.
5.La base 'aplicación': ahora contiene los datos vinculados, y no te pedirá la contraseña tan sólo la primera vez que vinculas las tablas si lo haces manualmente o bien automáticamente (con el divisor de bases de datos de access).
6.Abre cualquier formulario que contenga módulo o procedimiento de evento, entra en este módulo y compila toda la aplicación (compilando todos los módulos)
7.Compacta las dos bases de datos por separado.
8.Crea una Macro, (si no la tienes ya creada), denominada Autoexec (si no sabes me consultas, es bien sencillo)
9.Abre Access y en herramientas crea un archivo mde. Utilizando la base que contiene la aplicación. Previamente dijimos que tienes que tener una copia, de lo contrario ni tu mismo podrás entrar en el diseño de la aplicación para posibles modificaciones.
Se pueden hacer todavía más cosas para proteger... pero quizás en algunos casos no sean necesarias.
Si tienes alguna duda sobre como ir haciendo esto, consúltame. ¿OK?
Ante todo gracias por la atención que me estas prestando. Tu respuesta es muy buena, pero creo que necesito más.
Si yo creo el archivo mde tendré protegido todo el tema de diseño, pero creo que tengo un problema todavía, es decir, en el mde estarán las tablas vinculadas y como te comente el otro día, si tengo un poco de idea, no tengo más que crear una nueva base, en tablas seleccionar importar tablas, selecciono el archivo mde y me deja importar dichas tablas como vinculadas a la base protegida, con lo que ya tendré una nueva base con todos los datos de esas tablas. Por eso yo lo que intento es crear una base que unicamente tenga un formulario con botones que me abran en pantalla otras bases. Es decir serían como accesos directos, pero no se como informar en estos botones de la contraseña. E intentado varias cosas como poner en la linea de comandos /pwd pero cuando se me abre la base en pantalla siempre me pide la contraseña. Con esto yo evitaría tener que decir la contraseña a nadie ya que accederían por esta base y la base protegida ya la diseñaría de forma que no tengan acceso a lo que yo no quiera, y nadie podría copiar las tablas en otra base porque entonces si que le pediría la contraseña. Resumiendo: sabes como se daría la orden para abrir con un botón de comando de un formulario otra base de datos protegida, pero abrirla como si entráramos en ella por un acceso directo.
Colócale directamente en el evento 'al hacer clic' el módulo con la contraseña incluida. ¿Cómo? Crea un campo oculto en el formulario (osea no visible) que por defecto ya contenga la contraseña que deberá ser la misma para todas las bases o tendrás que crear tantos campos ocultos independientes como bases pretendas abrir.
El campo oculto (que llamaremos Pasw) es independiente, no visible, con máscara de entrada "contraseña" (no del todo necesario), y un valor predeterminado que tu prefieras, en el ejemplo "7777".
Luego colocas un módulo del siguiente modo, en el evento 'al hacer clic' del botón de comando:
If Me![Pasw]= "7777" then
HACE LO QUE SEA
End If
Creo que esto será lo más práctico. Otra forma de hacerlo sería a través de ODBC, algo más complejo porque tienes que asignar permisos de administrador y usuarios, colocando la identificación del usuario, su password, etc. (Consulta Connect).
¿OK?

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas