Evitar que sean visibles las Consultas, Tablas, Formularios, en una extensión ACCDE

A tod@s, a ver si poder ayudarme.

He guardado en Formato ACCDE una aplicación pero me permite ver y acceder desde el ultimo Form a las Consultas y las Tablas al pulsar el botón derecho del ratón y realizar la salida a través del menu de funciones del mismo.

La aplicación esta dividida en Back-end y Front-end en el mismo directorio en el disco C

Necesito que no se pueda ver nada de la aplicación y que nadie pueda acceder tanto a las tablas como a los formularios, consultas o módulos del programa.

Eliminar las funciones de botones que puedan dar acceso a posibles variaciones de la aplicación

2 respuestas

Respuesta
1

Pedro: Si no quieres que aparezca el Menú emergente al pulsar el Botón derecho del mouse.

Pones el Formulario en vista de diseño, vas a Propiedades>> Pestaña Otras y ahí verás una posición que dice>> Menú contextual. Le pones un "No" y evita ese proceso.

Mis saludos >> Jacinto

Hola Jacinto, lo que me interesa es que nadie pueda cambiar esto que me dices y pueda alcanzar los formularios y consultas.

Hay alguna manera de poderlo definir por VB al abrir el programa que queden bloqueadas las teclas que dan paso a esto de poder visualizar el contenido.

He de colocar el programa en varios sitios y no me interesa que nadie pueda  realizar cambios a la aplicacion.

Pedro: Si quieres incrementar la dificultad de visualización y manipulación de tu BD como cita Ronald, puedes >>

Antes de hacer el fichero .accde

1.- En Archivos >> Opciones >> Base de Datos Actual, desactivar

-Usar las teclas especiales de Access

-Habilitar la Vista Presentación

-Permitir cambios de diseño………….

-Mostrar Panel de Navegación

-Casillas de Permitir el uso de Menús

Yo como complemento suelo usar una Función sencilla que es ésta

Public Function OcultaBarras()
Application.CommandBars("Menu Bar").Enabled = False
DoCmd.ShowToolbar "Ribbon", acToolbarNo
DoCmd.NavigateTo "acNavigationCategoryObjectType"
DoCmd.RunCommand acCmdWindowHide
End Function

La llamo desde el Form_Load del primer Formulario que se carga al Abrir la BD.

Call OcultaBarras

Además si quieres ahondar un poco en el tema, puedes mirar.

http://www.accessyexcel.com/ocultar-objetos-en-base-de-datos-access-remota/

 Esta otra de Neckkito sobre deshabilitar tecla Shifft

http://siliconproject.com.ar/neckkito/index.php/algunas-cosillas-teoricas/cosas-que-es-bueno-saber/deshabilitar-tecla-shift

Y ciertamente sobre el tema de Seguridad hay bastante literatura escrita y buena.

Mis saludos >> Jacinto

Muchas gracias Jacinto por todo tu información.

Solo me queda una cosa que no entiendo y es donde hay, y de que forma, he de insertar esa llamada de [Call OcultaBarras] que me dices dentro del evento: Al cargar

Te agradecería muchísimo si me dijeses como he de colocar esto y de que forma.

Saludos

Pedro: la llamada es sin corchetes y lo has de poner como línea de Código en la carga del primer Formulario que abra la Aplicación.

Ejemplo: Si el primero es uno de Login, en ese. Si fuera otro, siempre el primero que se abra y has de poner y activar el procedimiento Form_Load()

Private Sub Form_Load()

Call OcultaBarras

End Sub

Si ya tienes el procedimiento, le añades esa línea.

Y la Función la pones en un Modulo Standard. Saludos >> Jacinto

He creado un módulo añadiendo los parámetros que me has indicado

Public Function OcultaBarras()
Application.CommandBars("Menu Bar").Enabled = False
DoCmd.ShowToolbar "Ribbon", acToolbarNo
DoCmd.NavigateTo "acNavigationCategoryObjectType"
DoCmd.RunCommand acCmdWindowHide
End Function

Dentro de Form_Load()

Hago una llamada -> Call OcultaBarras, como me indicas y al ejecutar el form me dice:

Se esperaba una variable o un procedimiento, no un módulo

Pedro: Algo raro ocurre. Creo que al Módulo le has debido poner el mismo nombre que a la función.

Al Módulo ponle por ejemplo MdlOcultaBarras o MdlGeneral o algún nombre que sea distinto. Si al módulo le llamas igual que a la Función Access no lo entiende.

Ya me contarás. Saludos >> Jacinto

Tenias razon, ha sido renombrar el módulo y funcionamiento perfecto.

Las tablas de datos como podria protegerlas para qeu no se tuviese acceso a ellas, hay alguna forma de hacerlo de la forma que protegemos los formularios.

Pedro: Las Tablas solo se pueden proteger de manipulación de dos modos.

1.- Que el usuario no pueda verlas y aquí me remito al enlace que te envié.

2.- Convirtiendolas en "Solo Lectura", pero entonces no se podrá grabar en ellas, salvo que lo hagas con algunas que solo se usen de ese modo. Mis saludos >> Jacinto

Respuesta
1

En formato ACCDE, en teoría no pueden editar formularios, reportes, macros o código, esta restringido. Aunque hay maneras un tanto complejas de acceder a esta información. Lo que quiero aclarar es que no hay una manera infalible de bloquear totalmente tu BD, pero hay formas también de hacer más complicado el acceso, pues bien; Jacinto tiene razón de indicarte como ocultar el menu emergente, aunque también lo puedes hacer desde código, en el menu Archivo, Opciones, Base de datos actual, desactiva la opción de Mostrar panel de navegación, también quita el ribon y desactiva el uso de la tecla shift. Con esto consigues complicar un poco el acceso. Epero te sirva.

Sld. Ronald

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas