Agradezco tus comentarios

Me encantaría conocer tus impresiones acerca de los distintos ejemplos o artículos de este blog, si te es posible deja un comentario en mi libro de visitas. En cambio para preguntas o problemas con alguno de los ejemplos, te ruego me las formules en el foro de Access en grupos Emagister o en en el foro de Access y VBA.

jueves, 3 de diciembre de 2009

Flash y Access en comunicación

En este ejemplo, utilizamos un menú basado en una película flash. Esto es principio es sencillo, marcamos la referencia a Shockwawe Flash, insertamos un control ActiveX de mismo nombre en nuestro formulario y le asignamos a su propiedad Movie la ruta donde tenemos guardada la película.
Pero...queremos que los botones del menú funcionen en VBA.

La primera parte se tiene que hacer en el archivo flash , vamos a utilizar la función fscommand(), tiene dos parámetros: comando y argumentos. Pero nosotros nos vamos a apañar con que nos envíe solamente el nombre, ya que si cada botón nos envía un comando, con un nombre distinto, nosotros desde VBA podemos diferenciarlos fácilmente con un simple Select Case. Por ejemplo, desde Flash, nos vamos a Acciones y en el evento al soltar del botón Empleados, ponemos:

on (release) {
fscommand("Empleados");
}

En VBA vamos a recibir ese comando que podemos interceptar con el evento FSCommand del Shockwawe Flash.
A cada botón le asignaremos un nombre de comando diferente que se corresponda con el título de su botón, para que nos sea más fácil de identificar y una vez se envíe, nosotros decidiremos, que acción vamos a realizar en VBA, dependiendo del nombre del comando.
Creo que en el código está clarísimo. Recuerda que para saltarte las restricciones de inicio puedes abrir el ejemplo con la tecla shift presionada.
Para hacerlo un poco más interesante voy a cargar los formularios a los que llamo desde los botones flash, en un mismo subformulario, cambiandole su propiedad SourceObject por código.
Incorporo también la posibilidad de ocultar la ventana de Access, pero usando transparencia, lo cual evita muchos de los problemas de la Api de Ocultar que obliga a los objetos a ser modales. (Sacado de un ejemplo de byronlcl en el foro de Access y VBA del Buho - Gracias por la magnífica aportación byronlcl)
Si eres un manitas en Flash, seguramente puedes hacer cosas chulísimas.
En el archivo rar que adjunto, incluyo la base de datos de ejemplo y el archivo swf con el menú, para que funcione, ambos archivos deben estar en la misma carpeta. Adjunto también el archivo fuente de flash, por si te apetece modificar el menú.

El enlace al ejemplo aquí

7 comentarios:

  1. Fantástico, muito obrigado aqui do Brasil

    ResponderEliminar
  2. HOla buen dia, muy bueno tu post, me preguntaba si podias hecharme una mano, veras estoy realizando una base de datos en access y me pregunté si podia ingresar botones de flash en access y como lo veo si se puede, incerte el botn tal y como lo explicas, cuando lo diseñé en flash le puse el codigo que indicas, pero la funcion que yo quiero que haga en access es que me habra un formulario, si podrias facilitarme el codigo para VBA, para que me abra el formulario que yo le indique. de vdd te lo agradeceria muchoo...

    ResponderEliminar
  3. Buen día el enlace no funciona. Podrias actualizarlo?

    ResponderEliminar
  4. Interesantisimo,

    Lo mismo, que el enlace no funciona

    ResponderEliminar
  5. Error en los enlaces:

    Network Error (dns_server_failure)

    ResponderEliminar
  6. El enlace no funciona.

    ResponderEliminar
  7. Crec que ets un gran programador. És una llàstima que no funcionin els enllaços als teus exemples.

    Una salutació.

    ResponderEliminar