ejecutar macro en forma condicional

13/03/2013 - 12:01 por Eduardo | Informe spam
Estimados: lo que deseo es que la macro Autoexec ejecute el comando Salir
para cerrar automáticamente la base de datos y de esta manera ayudar a
proteger o dificultar que entre gente no autorizada, pero a la vez me
gustaría poder deshabilitar esa protección temporalmente cambiando el valor
de un registro de una tabla que uso para configuraciones.

Es decir, si en la tabla NombreTabla hay un registro que en el campo de
texto NombreCampo1 tiene "PermitirAbrirBase" y en el campo booleano
NombreCampo2 tiene el valor 'Si', entonces que no ejecute el comando Salir
al ejecutarse la macro Autoexec.

¿Cómo se puede hacer eso?

Muchas gracias.

Preguntas similare

Leer las respuestas

#1 José Mª Fueyo
13/03/2013 - 13:15 | Informe spam
Hola
Lo mejor es que te crees una función que haga las verificaciones que quieres, y la llames desde la macro autoexec.
¡Ojo! acuérdate que esta macro se puede saltar pulsando la tecla mayúsculas a la vez que abres el mdb. El inefable Chea hace tiempo puso esto para ayudar a evitarlo. Obviamente, no es la solución definitiva, pero ayuda bastante
http://access.bengoechea.net/utilid...quitashift

Salu2
José Mª Fueyo
[MS MVP Access]
Respuesta Responder a este mensaje
#2 Eduardo
13/03/2013 - 22:44 | Informe spam
Hola José, gracias.

Yo soy programador de Visual Basic 6, y justamente eso que dices es lo que
estuve tratando de ver como hacer (en Access).
Agregué un Módulo nuevo, escribí la siguiente función de prueba:

Public Function Prueba () As Boolean
Prueba = True
End Function

Pero luego no sé qué acción tengo que seleccionar en la Macro Autoexec y
cómo hacer que ejecute o no el comando Salir en forma condicional con lo que
devuelva esa función.

Lo del quitashift no lo sabía, gracias, lo estoy estudiando.
Yo estoy usando una base de datos de Access 2000 ó 2003, así que me busqué
una versión antigua del quitashift en internet y lo probé y parece que anda
bien.

Como dije, soy programador de VB6 y por lo tanto la base la uso solo para
los datos. De Access solo sé lo básico.
Mi idea es que desde mi programa (que es un exe externo) pueda habilitar o
deshabilitar la protección cambiando el valor de un registro en la base.

Resumiendo, siendo un novato en Access, lo que necesitaría es saber cómo
hago esa acción en forma condicional dependiendo de lo que devuelva la
función que puse en el módulo (o sino donde hay que escribir la función, si
no es en un módulo).

Muchas gracias.


"José Mª Fueyo" escribió en el mensaje
news:
Hola
Lo mejor es que te crees una función que haga las verificaciones que
quieres, y la llames desde la macro autoexec.
¡Ojo! acuérdate que esta macro se puede saltar pulsando la tecla mayúsculas
a la vez que abres el mdb. El inefable Chea hace tiempo puso esto para
ayudar a evitarlo. Obviamente, no es la solución definitiva, pero ayuda
bastante
http://access.bengoechea.net/utilid...quitashift

Salu2
José Mª Fueyo
[MS MVP Access]
Respuesta Responder a este mensaje
#3 Eduardo
14/03/2013 - 02:09 | Informe spam
"Eduardo" escribió en el mensaje
news:khqrv3$ho9$

Ya lo solucioné, muchas gracias.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida