Uso de procedimiento EN ACCESS

Encontré en este sitio este procedimiento para ocultar tablas y consultas, como soy aprendiz no se como se usa, mi idea es ocultarlas para que no puedan ser copidas desde una base de datos e blanco, lo que no se es como usarlo:

He estado investigando un poco más tu consulta y SI que es posible hacer lo que tu quieres con el siguiente código
El procedimiento Ocultar, convierte en Ocultas las tablas y Consultas
Obviamente el Mostrar hace lo contrario

Public Sub Ocultar()
For Each myObject In Application.CurrentData.AllTables
If Not (myObject.Name Like "Msys*") Then
Application.SetHiddenAttribute acTable, myObject.Name, True
End If
Next myObject
For Each myObject In Application.CurrentData.AllQueries
If Not (myObject.Name Like "Msys*") Then
Application.SetHiddenAttribute acTable, myObject.Name, True
End If
Next myObject
End Sub

Public Sub Mostrar()
For Each myObject In Application.CurrentData.AllTables
If Not (myObject.Name Like "Msys*") Then
Application.SetHiddenAttribute acTable, myObject.Name, False
End If
Next myObject
For Each myObject In Application.CurrentData.AllQueries
If Not (myObject.Name Like "Msys*") Then
Application.SetHiddenAttribute acTable, myObject.Name, False
End If
Next myObject
End Sub

2 Respuestas

Respuesta
2

Carlos, primero déjeme decirle ocultar tabla y consultas NO es seguridad, porque estas se pueden importar desde otra base de datos de Access. Si quiere seguridad hay 2 alternativas para las tablas

1. Anteponerle el nombre Usys a cada tabla, por ejemplo, UsysEmpleados

2. Utilizar un servidor de datos para alojar las tablas, personalmente utilizo PostgreSQL, acá si se puede asegurar la información.

Respecto a su pregunta como los 2 procedimientos son públicos puede llamarlos desde cualquier parte del programa, por ejemplo:

Para ocultarlas

Call Ocultar

Para activarlas

Call Mostrar

Cualquier duda me puede contactar en [email protected]

Responden para que no los "deje el tren", esto para Enrique Fiejóo, no sabe que es un procedimiento y una función, en este caso se utiliza Call porque son procedimiento y como tal no retornan valores, en conclusión, deje de confundir con respuestas que no van con la pregunta.

Respuesta
1

La ocultación de tablas solo le puede funcionar a aquellos que estén comenzando (y que no tengan acceso a la www).

La protección tiene que seguir otros caminos y proteger lo que deba de ser protegido, los datos (con alguna excepción) son propiedad de quien maneja la aplicación, no del programador.
La única propiedad del programador es la propiedad intelectual de 'sú' código (ni tan siquiera lo es del código toma prestado y esta liberado 'flotando por la red').

Para llamar a una función no se precisa utilizar CALL, basta con utilizar su nombre, utilizar CALL altera el funcionamiento esperado de mas de una función (según la ayuda de Access ignora los datos retornados)

Textual de la ayuda incorporada de Access:


Call (Instrucción)

. Si utiliza cualquiera de las formas de la sintaxis Call para llamar a cualquier función intrínseca o a una función definida por el usuario, se descartará el valor devuelto por la función.


Se debe de diferenciar a las funciones de las SUBfunciones (las Subfunciones no retornan datos y solo se pueden utilizar en VBA) y lo único que podrían aprovechar es ser síncronas o asíncronas (que es otro tema).

Eduardo, retoma los apuntes (si llegaste a tomar alguno) y utilízalos (no los des por perdidos).

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas