jueves, 18 de febrero de 2010

Desactivar el lienzo de dibujo

Cuando creamos un documento word, en ciertas ocasiones colocamos dibujos o autoformas. En el proceso de generación de una autoforma word nos coloca de forma automática un lienzo de dibujo que puede resultar molesto. Esta entrada se explica como desactivarlo, para que en el proceso de creación de cualquier autoforma no nos aparezca el lienzo.

Supongamos que queremos colocar una línea, elipse o un rectángulo, como vamos a hacer ahora. En primer lugar pinchamos en autoformas, de la barra de herramientas dibujo:


En el momento de seleccionar el rectángulo, antes de colocarlo en el documento aparece el lienzo:


Si tenemos colocado texto al lado, la aparición del lienzo puede descolocar todo un poco, con lo que resulta un poco molesto. Para evitar que ocurra esto, word nos permite desactivarlo, para que en el proceso de generación de un dibujo o autoforma no aparezca seguiremos una serie de pasos.

En primer lugar, iremos al menú Herramientas y seleccionaremos Opciones:


Nos aparece la ventana Opciones donde seleccionaremos la pestaña General:




Antes de pulsar en aceptar, solo nos queda un paso. Tenemos que desactivar la última de las opciones generales:


Una vez desactivada, ya podemos pulsar en aceptar. A partir de aquí, podemos insertar en nuestro documento autoformas, líneas, flechas o circunferencias sin que salte el lienzo.

Por supuesto, si más adelante nos interesa trabajar con el lienzo, lo podemos volver a activar, accediendo de nuevo a Herramientas / Opciones y marcando "Crear automáticamente lienzo de dibujo al insertar autoformas".

jueves, 11 de febrero de 2010

Número de hojas de un libro

Cuando trabajamos bastante en un libro, tenemos la necesidad de usar varias hojas, para separar los datos de una forma adecuada.

Para acceder al contenido de una hoja pulsamos en su pestaña. En ciertas ocasiones, el número de hojas que tiene un libro son numerosas. Entonces contar el número de pestañas puede resultar complicado.

Para conseguirlo rápidamente vamos a mostrar un código que nos permitirá saberlo con un simple clic en un botón o una combinación de teclas. La propiedad Count, del objeto Sheets nos lo va a dar. Introduciremos el siguiente código en un módulo:

Sub contar_hojas()

'Almacenamos en la variable cantidad_hojas la cantidad de hojas presentes en el libro
cantidad_hojas = Sheets.Count
'Mostramos un mensaje en pantalla que nos informa del número de hojas
MsgBox "Este libro tiene " & cantidad_hojas & " hojas de cálculo"

End Sub

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:

jueves, 31 de diciembre de 2009

Como crear una macro

En esta nueva entrada vamos a tratar de explicar como realizar una macro que permita automatizar un conjunto de tareas en un solo clic. Después se podrá asociar la macro a un icono o a un botón.

Para poder escribir el código de la macro, en primer lugar, vamos al menú herramientas, seleccionamos macro y a continuación pinchamos en el editor de visual basic. Lo podemos ver en la siguiente imagen:


Mediante teclado podemos hacer lo mismo con Alt+F11. En dicho editor ahora vamos al menú Insertar y seleccionamos la opción Módulo como muestra la imagen:


A continuación aparece la ventana donde podremos teclear el código de la macro. Ahora en la ventana recién aparecida teclearemos la palabra reservada sub y después el nombre de la macro, finalizando dicha línea de código con un abrir y un cerrar paréntesis. En la siguiente imagen el nombre que hemos dado a la macro es mimacro. Después de teclear los paréntesis pulsamos la tecla intro y se genera, de forma automática, una línea en blanco y el texto end sub:
A partir de ahora ya estamos en disposición de teclear el código que nos interese que ejecute está macro. Importante, todo el código debe ser introducido en la línea en blanco, la que tiene el cursor. Podemos introducir desde una sola acción hasta lo que estimemos oportuno, por largo que sea.
El módulo que hemos insertado lo podemos ver en la ventana denominada Explorador de proyectos. Aparece como módulo1 debajo de la carpeta módulos que cuelga de VBAProject(Libro1). La siguiente imagen lo muestra:
Una vez introducido todo el código que nos interesa podemos pulsar en el botón guardar (icono con la imagen de un disquete) y solo nos resta salir del Editor de Visual Basic. Pulsaremos en el botón de cerrar la ventana.
Para ejecutar la macro podemos hacerlo de varias formas (imagen, botón de comando...), pero es tema para otras entradas posteriores a esta.
!Feliz Año 2010 a todos!

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.

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...