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, 27 de noviembre de 2008

Web de Excel


Ayer me enteré que mi amigo de los foros, Abraham Valencia, abrió su página dedicada a Microsoft Excel.

Si quieres ver las cosas (algunas asombrosas) que se pueden hacer desde este programa, o te interesa la programación en general, no dejes de visitarla.

Un abrazo Abraham

http://www.geocities.com/abraham_excel/

jueves, 20 de noviembre de 2008

Calendario y Avisos


Con este ejemplo vamos a pasarle eventos desde Access a un Calendario de Google y como podemos pasarle también instrucciones para que nos avise con antelación al evento, nos va a servir también como un sistema de Avisos.

Primer paso.- Necesitamos un calendario de Google. Si ya tenemos uno, podemos continuar, en caso contrario nos vamos a https://www.google.com/accounts/ServiceLogin?service=cl&passive=true&nui=1&continue=http%3A%2F%2Fwww.google.com%2Fcalendar%2Frender&followup=http%3A%2F%2Fwww.google.com%2Fcalendar%2Frender y creamos uno nuevo.
Segundo Paso.- este ejemplo utiliza un control llamado Microsoft Internet Transfer Control (Msinet.ocx) que es posible que te de problemas al registrar y por tanto te de un error el ejemplo nada más abrir. En el ejemplo de este blog Google Docs Uploader he preparado un ejecutable que registra y licencia dicho control. Instalalo y te funcionarán todos los ejemplos sin ningún problema.

Puedes instalarlo desde aquí

Tercer paso.- Abrimos el ejemplo y ponemos los datos de correo electrónico y password que hemos obtenido al crear el calendario, rellenamos el formulario, ponemos en el último campo con cuanta antelación queremos el aviso y le damos a enviar. El evento se habrá insertado en el calendario y recibiremos un email de recordatorio.

El enlace al ejemplo aquí

domingo, 9 de noviembre de 2008

Otra forma de "tratar" con Outlook


Hasta la versión 2007, se podía utilizar un control llamado Outlook View Control, que nos otorgaba un gran control sobre Outlook desde Access.

Pero al parecer por motivos de seguridad en Access 2007 no está disponible.

Podemos hacer un poco de trampa, como veremos en este ejemplo, ya que vamos a utilizar ese control, pero a través de una página web, incrustada en nuestro formulario con un control WebBrowser.

En esta ocasión dentro del archivo RAR que adjunto, encontrarás la base de datos de ejemplo y una página web, el único requisito para que funcione es que la web esté en la misma carpeta que la base de datos

El enlace al ejemplo aquí

viernes, 7 de noviembre de 2008

¿Problemas con las referencias?


Una de las cosas más frustantes que existen, es cuando hemos terminado nuestra aplicación, la hemos probado y re-probado y ¡¡Por fin!! funciona perfectamente.

Entonces la llevamos a otro ordenador y cuando intentamos abrirla, ¡¡Errores a montones!!. Nada parece funcionar correctamente. ¿Que ha pasado?.

Las malditas referencias que nos han gastado una mala pasada.

Por fortuna a partir de la versión XP, si Acess no encuentra las referencias en el lugar donde deberían estar, busca en la propia carpeta donde tenemos la base de datos y el mismo las auto-referencia.

El problema es que en algunas ocasiones ni siquiera sabemos exactamente como se llaman los archivos que Access está usando.

Si lo supieramos, la solución sería muy sencilla, copiamos todos esos archivos a la carpeta de la base de datos y la transportaríamos con todos ellos, para asegurarnos su funcionamiento.

Pues bien, exactamente ese es el propósito de este ejemplo. Copiar automáticamente todas las referencias que estemos usando a la carpeta donde tenemos la base de datos.

El enlace al ejemplo aquí

Vincular tablas


Dividir una aplicación en Access es muy importante si el uso va a ser multiusuario.

Lo que hacemos en realidad es crear dos archivos, uno en el que tenemos las tablas únicamente (es decir los datos puros) a esta le vamos a llamar back-end y otra en la que tenemos toda la lógica de la aplicación, o lo que es lo mismo la forma de interpretar los datos. Por tanto en esta otra a la que vamos a llamar front-end, tenemos las consultas, los formularios, las macros, los informes y los módulos.

El front-end es la parte del software que interactúa con el o los usuarios y el back-end es la parte que procesa la entrada desde el front-end.

El back-end debe ponerse en un servidor (o en un PC que haga esa función) y el front-end en todos los equipos desde los que queramos acceder a los datos.

Lógicamente el acceso es muchísimo más eficiente que si intentaramos abrir el archivo entero desde una ubicación de red, dado que solo van a viajar los datos puros y duros y no toda la aplicación.

Ahora a todos los front-end tenemos que vincularle las tablas que tenemos en el servidor. Tenemos que decirle donde está la ruta a nuestro back-end.

Para ello Access tiene un asistente que se llama Administrador de tablas vinculadas que facilita la tarea....pero a lo mejor queremos automatizar esta tarea, por otro lado a veces imprescindible si utilizamos Runtime.

Cuando utililizamos las extensiones para desarrollador de access 2007, creamos un fichero exe que empaqueta nuestra aplicación y nos crea un archivo con una extensión especial llamada ACCDR que permite que funcione sin tener Access instalado.

Un archivo ACCDR no puede abrirse desde la opción de menú Abrir de Access, sólo podemos hacerlo con un acceso directo o con un doble-clic sobre el icono en el explorador de Windows. Una vez abierto, no se muestra el panel de control ni ninguna de las opciones de herramientas de diseño o de configuración de Access, ni tenemos la opción de llegar a ellas. Tampoco se muestra nada de la cinta predeterminada de opciones. En definitiva, en un ACCDR el usuario no puede hacer nada que no sea usar nuestra propia aplicación y lo que en ella hayamos diseñado previamente, por tanto no puede abrir el administrador de Tablas Vinculadas y no tienes la posibilidad de Vincular las tablas con el servidor. A no ser... Que crees tu mismo un sistema para hacerlo.

Ese es el propósito de este ejemplo, en el fichero Rar que adjunto, encontrarás 2 archivos MDB, uno llamado vincular.mdb que sería nuestro front-end y otro llamado servidor.mdb que sería nuestro back-end.

Cuando intentes abrir el fichero vincular.mdb te pedirá que le digas donde está el fichero servidor.mdb, se lo indiques y se realizará la vinculación

El enlace al ejemplo aquí

miércoles, 5 de noviembre de 2008

Los Agentes de Microsoft


La verdad es que no es nada nuevo, todo lo contrario. ¿Quien no ha visto alguna vez a Merlin o al Genio?.


Pero aunque no sea novedoso, no deja de ser absolutamente espectacular.

En este ejemplo podemos ver como manipular desde Access a los distintos personajes, utilizándolos como un sistema de ayuda e incluso de control de errores.

Para que funcione correctamente necesitas tener en tu sistema los personajes, el motor de voz...etc, para hacerlo fácil he preparado un ejecutable que te instala todo lo necesario, cuando lo ejecutes te saldrán un montón de ventanas informándote de la instalación, acepta todo y ya estarás preparado para poder ver correctamente el ejemplo.

La verdad es que es muy divertido, te va a encantar.

El ejecutable aquí
El ejemplo aquí

sábado, 1 de noviembre de 2008

Asistente Access - Contaplus


El propósito del siguiente ejemplo es pasar datos de nuestra base de datos en Access al programa de contabilidad Contaplus.


Se utiliza un procedimiento consistente en Obtener la configuración de las tablas necesarias de Contaplus y una vez con los datos, volver a Exportarla.

Probablemente alguien pensará si no hubiera sido posible directamente vincular las tablas de Contaplus. Posible si que es, recomendable no.

Con este procedimiento Contaplus analizará los datos que pretendemos introducir y nos informará si son correctos o no, no permitiendo la entrada de asientos descuadrados.

El enlace al ejemplo aquí