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.

1 comentario:

  1. en Access es: izq([Nombrecliente], 2)?? por que con (;) me marca error.
    Otra pregunta tengo Access 2010 en ingles, será el mismo (Izq)???

    ResponderEliminar