EXPRESIONES Las expres expresion iones es son una parte parte fundam fundament ental al de muchas muchas de las operacion operaciones es de Micro Microsof softt Access Access.. Las expresione expresiones s se usan para cálculos, cálculos, para especific especificar ar criterios criterios para consultas consultas o para controlar controlar macros macros y como argumentos en funciones o partes de los módulos de Access Basic. Por ejemplo, la siguiente expresión se podría utilizar en un control de un formulario o informe para mostrar la suma de los valores de Gastos de en vío e Importe del pedido: =[Gastos de envío]+[Importe del pedido]
La siguiente tabla muestra dónde y cuándo usar expresiones. USE EXPRESIONES Como configuraciones de propiedades En cons consul ulta tas s y filt filtro ros s
PARA Definir un control calculado, establecer una regla de validación o establecer un valor predeterminado para un campo. Intr Introd oduc ucir ir una una exp expre resi sión ón de crit criter erio ios, s, crea crearr un un cam campo po calc calcul ulad ado o o actualizar registros. En mac macrros y acci accion ones es Estab stable lec cer una una con condi dici ció ón para para ejec ejecut utar ar una una acc acciión o seri serie e de acci accion ones es y par para espe especi cifi fica carr argu argume ment ntos os par para much muchas as acciones. En funciones funciones y Access Access Basic Basic Especific Especificar ar argumentos argumentos en muchas funciones en módulos módulos de Access Basic. En instr nstruc ucci cion ones es SQL Edit ditar una una con cons sult ulta en el el cua cuadr dro o de di diálog álogo o SQ SQL o usar usar SQ SQL en una configuración de propiedad o argumento.
Las partes de una expresión Una expresión puede incluir una combinación de operadores, identificadores, funciones, valores literales y constantes. Elemento Operador Identi Identifi ficad cador or
Función
Litera eral
Cons Consta tant nte e
Ejemplos =, <, &, .Y., O, Como Formul Formulari arios! os![P [Pedi edidos dos]![ ]![Núm Núm pedido], Informes! [Factura].Visible Fecha (Date), Suma (Sum), DBúsq (DLookup)
Descripción Indica una operación a ejecutarse Se refiere al valor de un campo, control o propiedad.
Devuelve un valor que se basa en los resultados de un cálculo u otra operación. También puede crear sus propias funciones usando Access Basic. 100, #Ene-1-9 1-92#, "Barcelona" Repre present enta un un va valor, ta tal com como o un un nú número, ca cadena o fecha fecha que Micros Microsoft oft Access Access evalúa evalúa exacta exactamen mente te como está escrito. verd verdad ader ero o (Tr (True ue), ), fals falso o (Fa (Fals lse) e),, Representa un valor que no cambia. Sí, No, nulo (Null)
El siguiente ejemplo muestra una expresión y sus partes:
Los elementos de una expresión sobre los que actúa un operador se llaman operandos. En la expresión de arriba: Date( ) y 30 son operandos de l operador -. [Fecha pedido] y Date( )-30 son operandos del operador <.
1.1.-E JEMPLOS DE EXPRESIONES A continuación se ofrecen algunos ejemplos de distintos tipos de expresiones. EXPRESIÓN = [Nombre] & " " & [Apellidos] >100 =DatePart("m", Date( ))
Forms![Empleados]! [País]="UK"
DÓNDE SE USA Control calculado
DESCRIPCIÓN Combina los valores Nombre y Apellidos insertando un espacio entre ellos. ReglaDeValidación Especifica que en el campo sólo puede introducir valores mayores que 100. ValorPredeterminado Especifica que el valor predeterminado es el componente mes del sistema de fechas activo. Criterios de consulta Usa la función Fecha (Date) para incluir los registros con una antigüedad de más de 30 días en la hoja de respuestas dinámica. Condición de macro Ejecuta una acción si UK es el valor de País en el registro activo del formulario Empleados.
EJEMPLOS DE EXPRESIONES PARA
CAMPOS CALCULADOS
Como lo demuestran los siguientes ejemplos, una expresión de campo calculado se puede usar en la celda Campo de una consulta. SI LA EXPRESIÓN ES Total gastos de envío: [Gastos de envío] * 1,1 Nombre completo: [Nombre] & " " & [Apellidos] Dirección2: [Ciudad] & " " & [Región] & " " & [Cód postal] Totales: [Unidades en existencia]+ [Unidades pedidas] Retraso: DifFecha("d", [Fecha de pedido], [Fecha de envío]) Porcentaje gastos de envío: Suma([Gastos de envío]) / Suma([Importe del pedido]+[Gastos de envío]) * 100
LA HOJA DE DATOS DE LA CONSULTA MUESTRA Gastos de envío más 10 por ciento, en el campo Total gastos de envío. Los valores de los campos Nombre y Apellidos, separados por un espacio, en el campo Nombre completo. Los valores de los campos Ciudad, Región y Cód postal, separados por espacios, en el campo Dirección2. La suma de los valores Unidades en existencia y Unidades pedidas, en el campo Totales. El número de días entre la fecha de pedido y la fecha de envío, en el campo Retraso. El porcentaje de cargos correspondientes a gastos de envío, en el campo Porcentaje gastos de envío. (Nota: la fila Totales de la cuadrícula QBE deberá estar visible.)
EJEMPLOS DE EXPRESIONES PARA CONTROLES CALCULADOS Una expresión de control calculado se usa cuando usted crea un control calculado en Presentación del diseño de un formulario o informe o como una configuración de la Propiedad OrigenDelControl (ControlSource) en una hoja de propiedades. La siguiente tabla ofrece varios ejemplos de expresiones. SI USA ESTA EXPRESIÓN ="No corresponde" =[Nombre] & " " & [Apellido]
MICROSOFT ACCESS MUESTRA No corresponde Los valores de los campos Nombre y Apellidos, separados por un espacio. =[Cantidad]*[Precio] El producto de los valores de los campos Cantidad y Precio. =[Precio]*1,06 El producto del valor del campo Precio y 1,06 (agrega 6 por ciento al valor de Precio). =Suma([Ventas]) La suma de los valores del campo Ventas de todos los registros de la hoja de respuestas dinámica. =[Ventas]/Suma([Ventas])*100 El porcentaje de ventas determinado por la división del valor del campo Ventas por el valor del campo Ventas multiplicado por la suma de todos los valores del campo Ventas. =Forms![Pedidos]![Núm de pedido] El valor del control Núm de pedido del formulario Pedidos. =[Subformulario Pedidos].Form![CTotal] El valor CTotal en el Subformulario Pedidos. =Forms![Pedidos]![Subformulario El producto del valor Precio unidad del subformulario Pedidos].Form![Precio unidad]*1,06 Pedidos y 1,06 (agrega 6 por ciento al valor Precio unidad). =Parent![Núm de pedido] El valor del control Núm de pedido del formulario padre del subformulario o subinforme activo. ="Página " & Page Página 1, Página 2, Página 3 y así sucesivamente en la salida de un informe o formulario. =DBúsq("[Nombre del contacto]", El valor del campo Nombre del contacto de la tabla "[Proveedores]", "[Núm de proveedor] = Proveedores para el campo Núm de proveedor Form![Núm de proveedor]") especificado en el formulario activo. =DBúsq("[Nombre del contacto]", El valor del campo Nombre del contacto de la tabla "[Proveedores]", "[Núm de proveedor] = Proveedores para el campo Núm de proveedor Formularios![Nuevos proveedores]! especificado en el formulario Nuevos proveedores. [Núm de proveedor]") =DSuma("[Importe del pedido]", El total de los valores de todos los campos Importe del "[Pedidos]", "[Cód de cliente] = pedido de la tabla Pedidos para los registros que 'RATTC'") contengan RATCC en el campo Cód de cliente. =Elegir(Código, "A", "B", "C") Una selección de una lista basada en el valor del campo Código. Muestra A si Código = 1, B si Código = 2 y C si Código = 3. =SiInm(Código=1, "Sí", "No") La palabra Sí si el valor del campo Código es 1 y la palabra No si el valor del campo Código no es 1. =(SiInm(EsNulo([TotalTR1]), 0, La suma de TotalTR1 y TotalTR2, convirtiendo los [TotalTR1])) + valores de tipo de datos Null en valores de 0. (SiInm(EsNulo([TotalTR2]), 0, [TotalTR2]))
4.-Ejemplos de expresiones para validación Como lo demuestran los siguientes ejemplos, una expresión para validación se puede usar como una configuración para la propiedad ReglaDeValidación (ValidationRule) o como una condición de macro. SI LA EXPRESIÓN ES ="UK" 100 Entre 10 Y 100 Entre #1/1/90# Y #5/5/90# En ("Guadalajara", "DF") Como "P[A-F]###" DBúsq("[Código postal]", "[Estados]", "[Código estatal]=[Región]") Es Negado Nulo
LOS DATOS INTRODUCIDOS Deben ser iguales a UK. Deben ser iguales a 100. Deben ser por lo menos 10 y no más que 100. Deben estar comprendidos entre 1-Ene-90 y 5-May-90, inclusive. Deben coincidir con Guadalajara o DF. Deben comenzar con la letra P e ir seguidos de cualquier letra entre A y F más tres dígitos. El campo Región debe coincidir con uno de los valores almacenados en el campo Código estatal de la tabla Estados. La expresión devuelve Verdadero si existe una concordancia y Falso si no existe.
EJEMPLOS DE EXPRESIONES PARA CRITERIOS Como los demuestran los siguientes ejemplos, una expresión de criterio se puede usar en la celda Criterios de una consulta o filtro. CAMPO
EXPRESIÓN
Ciudad destinatario Ciudad destinatario Fecha de envío Fecha de envío País destinatario País destinatario Fecha de pedido Fecha de pedido Fecha de pedido Fecha de pedido
"Londres"
PEDIDOS ENCONTRADOS POR LA CONSULTA O FILTRO Pedidos enviados a Londres
"Londres" o "Sevilla"
Pedidos enviados a Londres o Sevilla
=#2/2/92#
Pedidos enviados el 2-Feb-1992
Destinatario
Pedidos enviados a los clientes cuyos nombres comienzan con la letra S. Como "*Importador" Pedidos enviados a los clientes cuyos nombres terminan con la palabra "Importador" Como "[A-D]*" Pedidos enviados a los clientes cuyos nombres están comprendidos entre A y D, inclusive, en orden alfabético. Derecho([Núm de Pedidos cuyos valores Núm de pedido terminan en 99 pedido], 2)="99"
Destinatario Destinatario
Núm de pedido
Entre #5-Aug-92# Y Pedidos enviados después del 5-Aug-92 y antes del 10#10-Aug-92# Aug-92 En ("Canadá", "UK") Pedidos enviados a Canadá o United Kingdom. Negado "EE.UU."
Pedidos enviados a otros países excepto United States
< Fecha( )- 30
Pedidos con una antigüedad de más de 30 días.
Año([Fecha de pedido])=1991 ParcFecha("tr", [Fecha de pedido])=4 SerFecha(Año([Fecha de pedido]), Mes([Fecha de pedido])+1, 1)-1 Como "S*"
Pedidos con fecha de pedido de 1991 Pedidos correspondientes al cuarto trimestre natural Pedidos correspondientes al último día de cada mes
EJEMPLOS DE EXPRESIONES PARA VALORES PREDETERMINADOS Una expresión de valor predeterminado se puede usar como una configuración para la propiedad ValorPredeterminado (DefaultValue) en una hoja de propiedades, como lo demuestran los siguientes ejemplos. CAMPO Cantidad Región Fax Fecha pedido Mes
EXPRESIÓN =1 ="MT" =Nulo =Fecha( ) =ParcFecha("m", Date( ))
Fecha pedido =Format(Date( ), "dd-mmmaaaa")
VALOR DEL CAMPO PREDETERMINADO 1 MT Null La fecha actual del sistema El componente mes del sistema de fechas activo La fecha actual del sistema en el formato especificado.
EJEMPLOS DE EXPRESIONES PARA ACTUALIZACIONES Como lo demuestran los siguientes ejemplos, una expresión de actualización se puede usar en la celda Actualizar de una consulta de actualización. EXPRESIÓN "Vendedor" #4/4/92# Sí "PN"&[Núm de pieza] [Gastos de envío]*1.5
RESULTADO Cambia los valores a Vendedor Cambia los valores de fecha a 4-Abr-92 Cambia los valores No a Sí Agrega PN al inicio de cada número de pieza especificado Aumenta los gastos de envío en 50 por ciento.