MS Access: funciones integradas

En este capítulo, trabajaremos con funciones integradas. En Access, hay cerca de un centenar de funciones integradas y es casi imposible cubrir todas y cada una de ellas. En este capítulo, cubriremos la estructura básica, la sintaxis y usaremos algunas de las funciones más populares, y también las trampas, para que pueda explorar algunas de las otras funciones por su cuenta.

Funciones

Una función es un procedimiento de VBA que realiza una tarea o cálculo y devuelve un resultado. Las funciones generalmente se pueden usar en consultas, pero hay otros lugares donde puede usar funciones.

  • Puede utilizar funciones en las propiedades de la tabla, por ejemplo, si desea especificar un valor predeterminado para un campo de fecha / hora, puede utilizar la fecha o la Now función para recuperar la información de fecha / hora actual de su sistema e ingresar ese valor automáticamente.

  • También puede usar funciones en una expresión cuando crea un campo calculado o usar las funciones dentro de los controles de formulario o informe. Puede utilizar funciones incluso en argumentos macro.

  • Las funciones pueden ser bastante simples y no requieren que se llame a otra información, o simplemente hacer referencia a un campo de una tabla o consulta.

  • Por otro lado, también pueden volverse bastante complicadas, con múltiples argumentos, referencias de campo e incluso otras funciones anidadas dentro de otra función.

Veamos ahora algunos ejemplos de uso de funciones integradas.

Funciones de fecha y hora

Entendamos ahora las funciones de fecha y hora:

  • La función Date () está diseñada para devolver la fecha actual del sistema. Esta función no requiere ningún argumento de función ni información adicional. Todo lo que tienes que hacer es escribir el nombre de la función y los paréntesis que abren y cierran.

  • Hay dos funciones integradas muy similares Time () y Now ().

  • La función Time () devuelve solo la hora actual del sistema y la función Now () devuelve tanto la fecha como la hora actual del sistema.

  • Dependiendo de los datos que desee rastrear, almacenar o consultar, tiene tres funciones integradas fáciles de usar para ayudar con esa tarea.

Permítanos ahora abrir su base de datos y crear una nueva consulta usando el diseño de consultas y agregar tblProjects y tblTasks.

Agregue ProjectName de tblProjects y TaskTitle, StartDate y DueDate de tblTasks y ejecute su consulta.

Ahora puede ver todas las diferentes tareas de todos los proyectos. Si desea ver las tareas del proyecto que están en progreso como en la fecha de hoy, entonces tenemos que especificar un criterio usando unDate() Función para ver proyectos que comienzan en o después de la fecha de hoy.

Especifiquemos ahora los criterios debajo de StartDate.

El criterio comienza con un operador greater than symbol, seguido de un equal to symbol y entonces Date Function.

Cuando ejecutamos esta consulta, todas las tareas ocurrirán en la fecha de hoy o en el futuro como en la siguiente captura de pantalla.

Este fue un ejemplo de cómo puede usar la función Date () como criterio de consulta.

  • Digamos ahora que esta consulta debe ser más flexible en cuanto a las fechas en las que se lanzará a partir de esta semana.

  • Tenemos un par de tareas diferentes que comenzaron esta semana, que no aparecen en esta lista actual, debido a nuestro criterio. Está buscando fechas de inicio que sean iguales a las de hoy o superiores.

Si queremos ver las tareas que comenzaron esta semana, que aún no se completaron o deberían completarse hoy, regresemos a la Vista de diseño.

Aquí, agregaremos información adicional a estos criterios. De hecho, queremos que sea mayor o igual a la fecha de hoy menos siete días.

Si escribimos menos siete y ejecutamos la consulta, también puede ver las tareas que comenzaron esta semana.

Función DateDiff ()

La función DateDiff () es otra función de fecha / hora muy popular. La función DateDiff devuelve una variante (larga), que especifica el número de intervalos de tiempo entre dos fechas especificadas. En otras palabras, calcula la diferencia entre dos fechas y puedes elegir el intervalo por el cual la función calcula esa diferencia.

Digamos ahora que queremos calcular la edad de nuestros autores. Para esto, primero necesitamos crear una nueva consulta y agregar nuestra tabla de autores y luego agregar los campos FirstName, LastName y BirthDay.

Podemos calcular la edad de las personas calculando la diferencia entre su fecha de nacimiento o cumpleaños y la fecha de hoy.

Intentemos usar la función DateDiff en un nuevo campo.

Llamémoslo Age seguido de dos puntos, y luego escribamos Función DateDiff.

  • El primer argumento de función para la función DateDiff es el intervalo, así que escriba “yyyy”.
  • El siguiente argumento de la función es la primera fecha para la que queremos calcular, que, en este caso, será el campo Cumpleaños.
  • El tercer argumento de la función es la fecha de hoy.

Ahora, ejecute su consulta y verá el nuevo campo que muestra la edad de cada autor.

Función Format ()

La función Format () devuelve una cadena que contiene una expresión formateada de acuerdo con las instrucciones contenidas en una expresión de formato. Aquí está la lista de formatos definidos por el usuario que se pueden usar en la función Format () .ss

Ajuste Descripción
aaaa Año
q Trimestre
metro Mes
y Día del año
re Día
w Día laborable
ww Semana
h Hora
norte Minuto
s Segundo

Volvamos ahora a su consulta y agreguemos más campos en la misma usando la función Format ().

Escriba la función de formato. El primer argumento de la función será una expresión, que puede ser casi cualquier cosa. Tengamos ahora el campo de cumpleaños como el primero y lo siguiente es escribir nuestro formato. En este caso, necesitamos mes, mes, día, día. Escriba "mmdd" entre comillas y luego ejecute su consulta.

Ahora toma la fecha del campo de cumpleaños, 4 es el mes y 17 es el día.

Agreguemos "mmm" y "mmmm" en lugar de "mmdd" en los siguientes campos como en la siguiente captura de pantalla.

Ejecute su consulta y verá los resultados como en la siguiente captura de pantalla.

En el siguiente campo, está devolviendo los primeros 3 caracteres del nombre del mes para ese cumpleaños y en el último campo obtendrá el nombre completo del mes.

Para ver el mes seguido del año desde el cumpleaños, agreguemos el "yyyy", así como se muestra en la siguiente captura de pantalla.

Permítanos ejecutar su consulta nuevamente.

Ahora verá el mes seguido de una coma y luego el año.

Función IIf ()

La función IIf () es una abreviatura de "Immediate If" y esta función evalúa una expresión como verdadera o falsa y devuelve un valor para cada una. Tiene hasta tres argumentos de función, todos los cuales son obligatorios.

  • El primer argumento es cualquier expresión que desee evaluar.
  • El siguiente argumento representa la parte verdadera, que puede ser un valor o una expresión devuelta si su primera expresión es verdadera.
  • El último argumento es lo que desea que se devuelva si su expresión es falsa.

Ejemplo

Tomemos un ejemplo sencillo. Crearemos una nueva consulta usando el diseño de consulta y agregaremos la tabla tblAuthors y luego agregaremos los siguientes campos.

Ahora puede ver que tenemos tres campos: FirstName, MiddleInitial, LastName, y luego este campo concatenado, que reúne los tres campos. Ejecutemos su consulta para ver el resultado de esta consulta.

Ahora, puede ver el resultado de la consulta, pero también notará que algunos registros no tienen una inicial del segundo nombre. Por ejemplo, el registro de Joyce Dyer no tiene una inicial del segundo nombre, pero en el campo FullName verá el período que realmente no necesita estar allí. Entonces, regrese a la Vista de diseño. Aquí, concatenamos el nombre de una manera diferente usando la Función IIf.

Escribamos el nombre en otro campo y lo llamemos FullName1 y luego escriba la función IIf.

  • El primer argumento de función para la función If Inmediato será su expresión. En la expresión, veremos si el campo inicial del medio está en blanco o es nulo.

  • El siguiente argumento es la parte verdadera. Entonces, si la inicial del segundo nombre es nula, entonces querríamos mostrar el Nombre y el Apellido.

  • Ahora, para nuestra parte falsa, si MiddleInitial no es nulo, entonces querríamos mostrar FirstName, MiddleInitial y LastName.

Ejecutemos ahora su consulta y verá los resultados como en la siguiente captura de pantalla.