Mostrando entradas con la etiqueta Access. Mostrar todas las entradas
Mostrando entradas con la etiqueta Access. Mostrar todas las entradas

martes, 28 de septiembre de 2010

Crear un panel de control en Access


Con este post pretendemos mostrar como crear un panel de control en nuestra base de datos. El panel nos va permitir gestionar la base de datos de una forma mucho más dinámica y agradable. Un panel de control es, en realidad, un formulario al que podemos ir añadiendo botones. Los botones nos permitirán abrir tablas, consultas o ejecutar macros.

El primer paso es ir a la barra de herramientas para crear el panel. Seleccionamos Utilidades de la base de datos y Administrador del panel de control:



Como antes no teníamos definido ningún panel de control, aparece una ventana indicándonos que no tenemos panel de control y si queremos que este sea el panel de control principal. Hay que decir, que Access nos permite colocar en una base de datos varios paneles de control. En cada panel de control podemos colocar hasta 8 botones distintos. Con varios paneles podemos desglosar la información por distintos apartados, véase tablas, consultas, informes o por ejemplo, un panel para clientes otro para proveedores y otro para administración según nos convenga.



Pulsamos en el botón Sí y se abre la ventana Administrador del panel de control donde se observa que tenemos un panel de control creado. Este administrador nos va permitir  añadir más paneles  o modificar cada panel. También podemos cerrar el administrador con el botón cerrar o marcar como panel principal un panel creado con posterioridad al que acabamos de crear.


 
 Si queremos añadir botones al panel, lo seleccionamos y pulsamos en el botón modificar. La ventana que se muestra es la siguiente:


Ahora vamos a colocar botones en el panel para que podamos trabajar con él. Pondremos dos botones, uno para ver ver los clientes de Canadá que tiene almacenados nuestra base de datos. También colocaremos la vista del formulario con la relación de empleados. Los clientes de Canadá los vemos a partir de la consulta correspondiente que hemos creado al efecto:


En la ventana Modificar página del panel de control pulsamos en el botón Nueva... que nos lleva a una nueva ventana:

 Hay que ir a comando, para seleccionar la acción que deseamos que se ejecute. Como no existe ningún comando que muestre el contenido de consultas, lo haremos a través de una macro (que nos abre la macro). El comando que seleccionamos es Ejecutar macro. 

Crear macro

Por tanto, vamos a crear una macro que nos abra la consulta. Vamos a Objetos, pulsamos en Macros y en Nuevo. Se abre la vista diseño de una nueva macro. Ahora nos vamos a la ventana de la base de datos y pulsamos en consultas para verlas. Con el ratón pinchamos en la consulta que queremos llevar al panel de control. Sin dejar de pulsar se arrastra a la primera línea de la columna Acción de la vista diseño. Nos queda esto:
Así, acción y sus argumentos quedan perfectamente definidos, y solo nos queda guardar la nueva macro con el nombre que deseemos (Clientes de Canadá). Volvemos al panel de control. En el administrador del panel de control, con el panel seleccionado pulsamos en el botón modificar, para poder hacer clic en el botón Nuevo para insertar un elemento que nos abra la consulta de los clientes canadienses. En comando seleccionamos Ejecutar macro y en Macro seleccionamos la macro que hemos creado ahora, Clientes de Canadá:

 Pulsamos en Aceptar y ya tenemos creado el primer botón del panel de control:

Este proceso lo podemos repetir hasta ocho veces en cada panel, como ya hemos comentado antes. Para salir de aquí pulsamos un par de veces en Cerrar (cerramos dos ventanas). Ahora vamos a formularios y hacemos doble clic en el formulario Panel de control que queda así:



que es el panel de control que deseábamos crear. Podemos añadir más botones siguiendo el mismo proceso que descrito en este post.

Estas acciones de crear el panel de control ha provocado que tengamos una nueva tabla en la base de datos llamada Switchboard Items y un nuevo formulario, ya mencionado, Panel de control:





jueves, 9 de septiembre de 2010

Cerrar formulario con botón en Access 2007

Para cerrar cualquier ventana nada tan sencillo como hacer clic la X de la esquina superior dcha. de una ventana. Con este post, se mostrará otra forma de cerrar una ventana de un formulario de otra forma. Crearemos un botón de comando que al pulsarlo cierre el formulario que contiene el propio botón.


Creamos un formulario en blanco, lo único que vamos a colocar es el botón que permita cerrarlo. Por defecto el nombre que le da Access es Formulario1. Ahora colocamos el botón en el mismo. Para añadir elementos al formulario, tenemos que verlo en vista diseño. Para ello pulsamos con el botón derecho en la pestaña del formulario.


  

donde seleccionamos Vista diseño. Ahora es el momento de colocar el botón. En primer lugar nos aseguramos de que el botón Asistente de controles está activado. En caso contrario, lo activamos con un clic.


De esta forma, al colocar el botón saltará el asistente del botón de comando.



Al acabar de colocar el botón, el asistente para botones de comando aparece:



En categorías elegimos Operaciones con formularios, y en acciones seleccionamos Cerrar formulario.


Pulsamos en Siguiente y solo queda poner un texto en el botón o poner una imagen. Para el ejemplo vamos a seleccionar Texto: Cerrar formulario. Ahora pulsamos en el botón Finalizar. La imagen que queda del botón es:



Ahora ya podemos dejar la vista diseño y comprobar que funciona el botón. Volvemos a Vista formulario con el botón derecho en la pestaña del formulario. Después pulsamos en el botón para que cierre el formulario. Como no hemos guardado nada nos preguntará primero si deseamos guardar los cambios (nuevo botón, formulario...). Pulsamos en Si.


Aparece otra ventana que nos pide que le demos un nombre al nuevo formulario. Pulsamos en Aceptar directamente y el formulario queda guardado y cerrado.


La pestaña del formulario desaparece.

El proceso que hemos visto es muy similar en la versión Access 2003. El asistente de control de botones es el mismo.

lunes, 1 de febrero de 2010

Crear un listado alfabético en Access

Una posibilidad que nos ofrece Access en un informe es crear listados alfabéticos de cada registro de una tabla o consulta. Para hacerlo vamos a necesitar la función izq de la que hablamos en una entrada anterior. Veamos como se hace.

En primer lugar, nos situamos dentro de la base de forma que veamos los informes tal como muestra la figura siguiente:



Para crear el informe usaremos el asistente. Haremos doble clic sobre "Crear un informe utilizando el asistente" que nos llevará al primer paso, donde seleccionamos la tabla clientes en el cuadro combinado "Tablas/Consultas". Seleccionamos la tabla Clientes, que nos permite ver los campos de que consta. Para hacer este ejemplo pasaremos los campos que nos interesan que aparezcan en el informe, NombreCompañía y NombreContacto:




En los siguientes pasos nos preguntarán si queremos establecer algún agrupamiento, pero de momento vamos pasando los pasos con el botón Siguiente. Llegamos al estilo, donde elegiremos el que más nos agrade, como pudiera ser, por ejemplo, "Corporativa".




Pulsamos en siguiente y llegamos al último paso del asistente donde teclearemos el nombre que daremos al informe: Listado alfabético de clientes.




Pulsamos en el botón finalizar que nos permite ver la vista preliminar del informe. Queda como sigue:





Cerramos la vista preliminar y vamos a la vista diseño del informe recién creado. Pulsamos el botón dcho. sobre el mismo y seleccionamos Vista diseño como muestra la siguiente imagen:

Ya dentro de la vista diseño pulsaremos en el botón Ordenar y agrupar que nos permitirá abrir una nueva sección en el informe. En Campo/Expresión pulsaremos al final de la celda y seleccionamos el campo NombreCompañía. Nos fijamos, a continuación, en la zona Propiedades del grupo, donde realizaremos dos cambios. El primero es poner a Sí la propiedad Encabezado del grupo. El segundo es ir a la propiedad Agrupar donde seleccionaremos Primeros caracteres. La imagen siguiente nos muestra esos cambios:

Después cerramos esta ventana. En la vista diseño tenemos una nueva sección, Encabezado NombreCompañía. En esta nueva sección colocamos un cuadro de texto pulsando en el botón ab, con lo que nos aparece la siguiente imagen:
La etiqueta del cuadro de texto, donde nos aparece el texto Texto9, no nos interesa, la seleccionamos, y pulsamos en el botón Supr para quitarla.

A continuación dentro del cuadro de texto colocaremos la función izq. Para introducir cualquier función, dentro de un cuadro de texto, lo primero que hay que hacer es teclear el signo igual =. Después se escribe la función y entre paréntesis se escriben los parámetros de la función, siempre separados por el signo ;
Para izq, el primer argumento es el nombre del campo encerrado entre corchetes y como segundo el número de caracteres que queremos que se muestren del campo. En este caso, solo necesitamos un carácter, con lo cual el argumento será 1. La imagen nos muestra como lo hemos escrito dentro del cuadro de texto:

Este cuadro de texto nos va mostrar la primera letra de las compañías. Además va agrupar por letras, es decir, aparece la letra A y a continuación todas las compañías que comienzan por A. Después, aparece la letra B seguida de las compañías que comienzan por B su nombre, y así sucesivamente.
Para destacar cada letra, seleccionamos el cuadro de texto recién creado, reducimos un poco su anchura con un control, y le cambiamos el tamaño y lo ponemos en negrita y subrayado quedando así:


Para que el informe tenga mejor aspecto, modificamos un poco el área Encabezado NombreCompañía, reduciéndola de tamaño subiendo un poco la sección detalle quedando de esta forma:


Ya solo nos queda ver el resultado, pulsamos en el botón Vista preliminar de la barra de herramientas para ver el resultado.



Como vemos, ahora tenemos a los clientes organizados alfabéticamente y agrupados por letras, a modo de listín telefónico.
Resumiendo, es una técnica que podemos hacerla con el campo que nos interesa, y poder visualizar sus datos de una manera más organizada.

miércoles, 20 de enero de 2010

Consultas paramétricas en Access

Access nos permite extraer información almacenada de diversas formas. Puede suceder que en ciertas ocasiones pedimos unos datos a Access mediante una consulta. Más tarde volvemos a pedir información con otra consulta. Si realizamos varias consultas que son iguales pero cambiando solo el valor de los criterios, entonces Access permite realizar todo el conjunto de consultas en una sola. Se hace a través de las consultas paramétricas. Éstas cada vez que se ejecutan nos va pedir que demos valor a los criterios dentro de la consulta. En cada ejecución de la consulta podemos modificar el valor de los criterios. Es decir, establecemos el valor de los criterios en cada ejecución de la consulta. Por lo tanto, irán cambiando los resultados de la consulta cada vez.

Vamos a verlo con un ejemplo. Creamos una consulta en vista diseño, en la cual vamos a trabajar con la tabla Productos, de la que nos va interesar extraer los precios de los productos comprendidos entre dos precios, que determinaremos en el momento de hacer la consulta. Bajamos a la cuadricula de diseño los campos NombreProducto y PrecioUnidad. En la fila de criterios de este último campo ponemos el criterio siguiente:

Entre [Precio más bajo] y [Precio más alto]

Así, en cada ejecución Access pedirá ambos precios. Para que nos pida esos valores, usamos los corchetes, que encierran la pregunta para establecer el criterio. Como queremos dos datos, usamos los corchetes dos veces, para que nos pida ambos precios. El diseño de la consulta queda como sigue:


Ejecutamos la consulta, y Access nos pide el precio más bajo de la siguiente forma:


Escribimos el precio más bajo que nos interesa y pulsamos en aceptar. A continuación aparece la otra ventana donde tecleamos el precio más alto y pulsaremos en aceptar:



El resultado serán los productos comprendidos entre los dos precios introducidos:





En otro momento volvemos a ejecutar la consulta, pero cambiando los precios que nos pide para obtener otros productos.

El precio más bajo que introducimos ahora es:



Y el precio más alto es:


Con lo que el resultado de la consulta queda así:


Como vemos, con una sola consulta obtenemos distintos resultados. El valor de los criterios están parametrizados, y se establecen en el momento de ejecución de la consulta. Es interesante, ya que nos permite ahorrar espacio en disco, además de diseñar solo las consultas que sean necesarias.

miércoles, 13 de enero de 2010

Consultas en Access

Vamos a intentar explicar de la mejor manera posible como se realizan determinadas peticiones de información a Access. El medio es crear un objeto de Access al que denominamos consulta.

Unir en un solo campo el contenido de los campos NombreCompañía y NombreContacto de la tabla Clientes.

En primer lugar, crearemos la consulta en vista diseño, subiremos la tabla clientes para tener disponibles los campos con los que nos interesa trabajar.

Ahora nos colocaremos en la primera columna de la cuadricula de diseño, en la mitad inferior de la vista diseño de la consulta, donde teclearemos lo siguiente:

Compañía y contacto:[NombreCompañía]&" "&[NombreContacto]

El texto que está antes de los dos puntos : va a ser el nombre que tenga el nuevo campo. Si no ponemos nada par el nombre, Access por defecto lo nombrará como Expr1.
Después escribiremos el nombre del primer campo que queremos unir. Importante, los nombres de los campos siempre irán encerrados entre corchetes. Para unirlo o pegarlo a otro elemento se usa el carácter &, por lo tanto, lo ponemos. Como no queremos que los dos campos estén unidos sin espacio entre ellos, le añadimos un espacio, que se incorpora encerrándolo entre comillas. Así se hará con cualquier carácter que queramos añadir.

Para colocar el segundo campo colocaremos el segundo & y escribimos el nombre del segundo campo entre corchetes. Podemos unir en un solo campo, el número de elementos que nos interese. Hay que tener cuidado que cada vez que coloquemos un nuevo campo o carácter, no hay que olvidarse de escribir el &. Este símbolo sirve y actúa como unión entre los campos y caracteres que queremos colocar en el nuevo campo. En la consulta la expresión se verá así:




Ahora ya solo nos queda ejecutar la consulta, y para ver el resultado de la misma, pulsaremos en el primer icono de la barra de herramientas (Vista). El resultado que nos mostrará la consulta será el siguiente:



Esto era lo que nos pedía la consulta.

Listar la descripción de las categorías de alimentos que no sean bebidas

En esta consulta tenemos que visualizar todas las categorías excepto una. En una consulta, en vista diseño, subiremos la tabla de categoría, bajaremos el campo NombreCatergoría y colocaremos el cursor en la fila de criterios. Para negar algo en primer lugar escribiremos Negado y después se teclea la categoría que queremos que no aparezca, en este caso bebidas. Por tanto, la vista diseño de la consulta será:


En el resultado vemos que aparecen todas las categorías excepto la que hemos negado, bebidas:

miércoles, 30 de diciembre de 2009

Funciones útiles en Access: IZQ y DER

En Access, a parte de trabajar con los distintos objetos que tiene, también lo podemos complementar, haciendo la aplicación mas completa, utilizando las distintas funciones internas que tiene. En esta entrada nos vamos a detener en dos: izq y der.

En primer lugar, a modo de introducción, comentaremos que para insertar una función cualquiera en un formulario o informe, usaremos un cuadro de texto. En el mismo, o dentro de sus propiedades (doble clic sobre el cuadro de texto), seleccionaremos la propiedad origen de control donde, para colocar una función escribiremos en primer lugar el signo =, y después se teclea la función con sus correspondientes argumentos.

En el caso de izq, necesitaremos dos argumentos. Dicha función devuelve los n primeros caracteres del contenido de un campo o de una cadena de texto. El primer argumento debe decirnos a que campo se refiere la función, de donde va a obtener los caracteres, y el segundo nos marcará cuantos caracteres del comienzo del campo nos va a interesar. Veámoslo con un ejemplo:

Si queremos obtener los dos primeros caracteres del nombre de cada cliente de una base de datos con la tabla clientes, y que esta, a su vez, contiene el campo NombreCliente, teclearemos en un cuadro de texto que lo represente lo siguiente:

=izq([Nombrecliente];2)

Si queremos que nos devuelva el primer carácter entonces el segundo argumento será 1.

Con la función der ocurre exactamente lo mismo, con la diferencia que los caracteres que devuelve son los últimos del contenido del campo marcado en el primer argumento. Por tanto:

=der([Nombrecliente];3)

En este caso nos devolverá los últimos 3 caracteres de los nombres de los clientes.

Una utilidad interesante de la función izq es crear un índice alfabético de productos o de clientes, haciendo que la función nos devuelva el primer carácter para que nos sirva de título de cada letra del alfabeto.

sábado, 21 de noviembre de 2009

Permitir longitud cero

Cuando creamos nuevas tablas en Access, normalmente se realiza a través de la vista diseño de la tabla. Para modificar algo también accedemos a dicha vista. En esta entrada vamos a comentar un par de propiedades de la misma. Nos referimos a Permitir longitud cero y a Requerido.

Permitir longitud cero

Permitir longitud cero admite dos posibles valores, Sí y No. Si está con valor significa que podemos introducir una cadena de longitud cero en el campo. Esta cadena se puede puede representar como "" sin nada dentro de las comillas. Con el valor No no se admitiría esta cadena.

Requerido

La propiedad Requerido indica que ese campo no se puede dejar en blanco, sin datos. Todos los campos pertenecientes a la clave principal de una tabla tienen la obligación de poseer datos, no pueden estar vacíos. El resto de campos no tienen, en principio, esa obligación. Pero si la propiedad Requerido de un campo está a , significa que no podemos dejar de introducir datos en ese campo. Necesariamente introduciremos información para cumplir con la exigencia de esta propiedad.

Sin embargo, puede ocurrir que, en ciertas ocasiones, no tenemos el dato para ese campo y resulta que con Requerido activado, Access nos obliga a introducir información en el mismo. ¿Qué podemos hacer? Si la propiedad permitir longitud cero está activada (valor Sí), que hacemos es pulsar la barra espaciadora, y de esta forma podemos pasar a otro campo sin problemas. Más tarde, con la información en nuestras manos, introducimos el dato sin problemas.

En definitiva, ambas propiedades están relacionadas. Con permitir longitud cero y requerido a sí podemos dejar la introducción de datos para más tarde. Si tuviésemos requerido a si y permitir longitud cero a no, entonces Access no permite introducir una cadena de longitud cero en el campo, y estaremos obligados a introducir información, dar a la barra espaciadora no se permite.

lunes, 9 de noviembre de 2009

Relación de varios a varios

Vamos a seguir trabajando el tema de las relaciones entre tablas. Después de ver las relaciones uno a varios y uno a uno, ahora toca ver la relación varios a varios. En este tipo de relación un registro o fila de una tabla puede estar relacionado con varios registros o filas de la segunda tabla. Por el otro lado, un registro de la segunda tabla puede estar relacionado con una o varias filas de la primera tabla.


Con esta entrada vamos a ver el proceso de construcción de una relación de varios a varios entre dos tablas. Hemos construido una base de datos llamada atletismo. Creamos dos tablas, una a la que denominamos Pruebas. Esta es su vista diseño:




La otra tabla, Atletas, contiene los datos de los atletas que compiten en las distintas pruebas:





Para poder establecer la relación entre ambas tablas, Access necesita otra tabla. Servirá para poder establecer una relación de varios a varios. La tabla intermedia para este caso la llamaremos Marcas, donde guardaremos los tiempos, distancias, saltos obtenidos en las distintas pruebas por los atletas:






En esta tabla, como vemos, hemos llevado una copia de las claves principales de las tablas pruebas y atletas. Su clave principal va a estar formada por tres campos: IdAtleta, IdPrueba y fecha. Se ha incluido fecha como parte de la clave principal, para tener en cuenta que cada atleta pueda participar en una prueba varias veces por existir series clasificatorias. Recordando, para establecer una clave principal compuesta por varios campos, es preciso seleccionar previamente esos campos y después haremos clic sobre el botón clave principal.

Ahora que tenemos las tablas necesarias vamos a construir la relación. Abrimos la ventana de relaciones, también se abre la ventana mostrar tabla. En la misma seleccionamos las tablas con las que vamos a construir la relación:

Seleccionamos las tres tablas con la tecla de control pulsada, pulsamos en agregar y cerramos esta ventana. El resultado es que la ventana Relaciones contiene las tres tablas.
A continuación, creamos las relaciones. En primer lugar, con el ratón arrastraremos el campo IdPrueba, de la tabla Pruebas, al campo IdPrueba de la tabla Marcas. Se abre la ventana Modificar las relaciones donde se observan las propiedades de la relación recién creada, como se observa en la siguiente imagen. En la misma, marcamos las propiedades de integridad referencial para evitar pérdidas accidentales de datos. Al final de la ventana vemos que esta relación de uno a varios. La razón es que una prueba puede estar relacionado con varios atletas con sus correspondientes marcas.




Repetimos este proceso entre las tablas Atletas y Marcas. Llevaremos el campo IdAtletas, de la tabla Atletas, a su copia, IdAtleta de la tabla Marcas. De esta forma queda creada otra relación de uno a varios entre Atletas y Marcas. Las propiedades de esta relación quedan visibles en la siguiente imagen:

Pulsando en el botón Crear la ventana se cierra quedando visibles las relaciones. El conjunto de las dos relaciones forman una relación de varios a varios entre las tablas Pruebas y Atletas. La siguiente imagen muestra las relaciones establecidas:



Es sencillo reconocer una tabla intermedia que permita construir una relación de varios a varios, si en la ventana Relaciones observamos una tabla cuya clave principal esté formada por varios campos, nos dará la pista de que es una tabla intermedia que forma parte de una relación de varios a varios.

Conclusión

En definitiva, para construir esta relación necesitamos una tabla adicional, Marcas, y crear dos relaciones. Las relaciones se crean entre una clave principal y su copia de la otra tabla, siendo esta la clave secundaria. El conjunto de los campos IdAtleta, IdPrueba y Fecha constituyen la clave principal de la tabla intermedia Marcas.

Actualizar tablas en Excel

En el siguiente ejercicio vamos a ver como actualizar tablas en excel. Nos centraremos en modificar unos precios con código VBA. Modificare...