Segunda Clase Curso: Microsoft Access Profesor: Ricardo W. Marcelo V. EMail: [email_address] [email_address]
Agenda... Introducción Creación de consultas
Introducción Hablaremos sobre . . . Por que crear consultas (vistas)
¿Por qué crear consultas? Bueno, como su mismo nombre lo describe las consultas nos permiten consultar en la base de datos cierta información que necesitamos obteniendo así el resultado deseado, entonces las consultas sirven para  recuperar datos . Además es considerado como una herramienta esencial en todo DBMS, por que no habría ninguna razón de guardar datos si no se quisieran recuperar.
En Access existen varios tipos de consultas donde las más utilizadas son las  Consultas de Selección  estas son las que recuperan datos BD Consulta SELECT * FROM Clientes WHERE País = 'Perú'    S o l i c i t a D e v u e l v e    (registros) En resumen la  consultas de selección  permiten: Recuperar datos de una o más tablas. Crear campos calculados (generados por una expresión o formula) También puede agrupar registros para obtener resúmenes de datos con totales de suma, promedio, cuentas, etc.
El resultado de la  consulta  puede ser  actualizable  a la tabla subyacente (es decir al modificar los datos de la consulta esto afecta a los datos de la tabla), con algunas  restricciones , por ejemplo la consulta de selección que obtiene un  resumen de datos no puede ser actualizable.
En la mayoría de los  DBMS  las consultas son llamadas también  Vistas  (View), en Access existen una contraposición a las consultas conocido con el nombre  Consultas de acciones , cuyo objetivo es realizar operaciones sobre los datos (eliminar, actualizar, etc. registros) BD Consulta de Acción DELETE FROM Clientes WHERE País = 'Perú'    C o n s u l ta  d e  e l i m i n a c i ó n UPDATE Clientes SET País = 'Perú'  WHERE País = 'Chile'    C o n s u l ta  d e  a c t u a l i z a c i ó n
Como ya hemos mencionado los  DBMS  se basan en  instrucciones de SQL  para definir y manipular datos, llamadas también: Lenguaje de definición de datos CREATE TABLE . . . ALTER TABLE . . . DROP TABLE . . . Lenguaje de manipulación de datos SELECT . . . INSERT . . . DELETE . . . UPDATE. . . Instrucciones  SQL
En Access no hay necesidad de escribir instrucciones SQL, por que para definir una tabla basta usar nuestro  diseñador de tabla  y si necesitamos manipular los registros usamos nuestro  diseñador de consultas . Pero Access también da la posibilidad de escribir instrucciones de SQL, si fuera necesario hacerlas.
Demo
Creación de consultas Explicaremos como crear . . . Consultas de selección (simples, multitablas, campos calculado y de resumen de datos) Consultas de Acciones (eliminación, actualización) Consulta con parámetros
Consultas de selección  (simple) Estando en la ventana de base de datos, elija el objeto  Consulta . Ahora haga clic en el botón  Nuevo  y elija  Vista Diseño .
Luego agrega la(s)  tablas  o  consultas  de donde recuperara los datos.
Estando en el  diseñador de consulta , agregue los  campos  y el  criterio  que usara para obtener los datos que desea. Fila Campo Fila Criterio Escriba el criterio que se usara para recuperar los datos Arrastre los campos  que desea mostrar en el resultado.
Ejecute  la consulta para  ver el resultado . Botón Ejecutar Si desea regresar a la  Vista diseño , elija el menú  Ver .
Para ver la  instrucción SQL  generada por el diseñador de consulta, elija el menú  Ver  /  Vista SQL . Si desea  Ordenar  el resultado y además no  Mostrar  campos no deseados, utilice la fila Orden y Mostrar Ordenar el resultado en base al campo NombreCompañía No mostrar el campo País en el resultado
Observación:   Si su objetivo era mostrar todos los campos como resultado, puede agregar el asterisco (  *   ), este representa  todos los campos . Además puede  agregar campos  para colocar  criterios  para la recuperación y para su  ordenación  en el resultado y deberá  desactivar la fila Mostrar  de esos campos para que no se muestre por duplicado.
El asterisco * representa todos los campos Desactivar la casilla Mostrar por que estos campos ya serán mostrado por el asterisco, solo son agregaron para establecer Criterios y Ordenación. Vista Diseño Vista SQL
Al  ejecutar  la consulta se mostrará el resultado y hace resultado se conoce con el nombre de  Recordset  y puede ser actualizado es decir si modifica algún dato afectará a la tabla subyacente. Si desea que el resultado  no permita la modificación de los datos , para esto muestre la ventana de  Propiedades   de la consulta  (clic derecho en el espacio libre donde se aparecen las tablas y elija Propiedades)
En la ventana de  Propiedades de la consulta  elija  Tipo Recordset  y seleccione  Archivo Snapshot clic derecho Elija Propiedades Tipo Recordset = Archivo Snapshot
Al final  Guarde  la consulta. Guardar Debe considerar que la consulta no guarda los datos recuperados si no la  instrucción SQL  que  se encarga de recuperar  los datos cada vez que este es ejecutado.
Consultas de selección  (multitabla) Realice los pasos ya mencionados, pero para este ejemplo agregará dos tablas. Luego agregue los campos y establezca el criterio según muestra el diseño. Cuando desea recuperar datos de varias tablas estas deben tener algún vinculo, es decir estar relacionadas.
Vista SQL:  Observe que la instrucción SQL generada tiene la cláusula  INNER JOIN , donde establece el vinculo interno que existe entre las tablas  Clientes  y  Pedidos
Resultado:  Al ejecutar la consulta se recuperará los datos de los Clientes y sus Pedidos realizados durante el año 1995. Observe que el resultado debería estar  ordenado  también por la  Fecha de entrega  como segunda alternativa de ordenación.
Consultas de selección  (campos calculados) Realice los pasos ya mencionados, pero para este ejemplo  escribirá una expresión  en una columna vacía de la fila campo. Escriba las expresiones que generarán el campo calculado. Puede presionar [Shift] + [F2] para hacer  Zoom  o utilizar el  Generador de expresiones . Título del campo: Contenido del campo Nombre completo: [Apellidos] & ",  " & [Nombres] Bonificación: [Sueldo] * 0.1
Vista SQL:  Observe que la instrucción SQL generada tiene la cláusula  AS , donde eso nos indica que los campos  Nombre completo  y  Bonificación  son campos calculados, además observe que cuando el nombre del campo tiene espacios en blanco debe ir entre  corchetes .
Resultado:  Al ejecutar la consulta se recuperará los datos de los Empleados, además se mostrará el resultado de los campos calculados.
Consultas de selección  (resumen de datos) Realice los pasos ya mencionados, pero para este ejemplo active la fila  Total,  haga clic en el botón  Totales, que nos permitirá agrupar datos y obtener sumas, promedios, etc. Agrupar por el Nombre del Producto Sumar la cantidad vendida Donde solo mostrará los productos vendidos en Ene-1995 Fila Total
Vista SQL:  Observe que la instrucción SQL generada tiene la cláusula  GROUP BY , y función  Sum  que obtiene la suma de los valores del campo Cantidad.
Resultado:  Al ejecutar la consulta se obtendrá los datos  agrupados  por el  Nombre del Producto  y mostrará la  suma de las cantidades  que se vendió en  Enero de 1995 , además el resultado se mostrará en  orden descendente  del producto más al menos vendido.
Consultas de acción  (eliminar registros) Realice los pasos ya mencionados, y luego estando en el  Diseñador de consulta  cambie el tipo de consulta, para esto, elija el menú  Consulta  /  Consulta de eliminación Agregue el campo donde establecerá el criterio de eliminación
Vista SQL:  Observe que la instrucción SQL generada ya no es un  SELECT  si no un  DELETE , por lo tanto  no recuperará registro  más bien procederá a la  eliminación de registro  en la tabla.
Resultado:  Al ejecutar la consulta mostrará un mensaje indicándole que va a proceder a eliminar una cantidad de registros. Al responder  Si  los registros se eliminarán de la tabla, para comprobar abra la tabla donde se realizó la eliminación y verifique que los registros que cumplían con el criterio de eliminación ya no existen.
Observación:   Si la  tabla  donde realiza la eliminación esta  relacionada  y es tabla  Padre , entonces  no se podrá eliminar  aquellos  registros  que están siendo  utilizados  en la tabla  Hija , esto por que lo  Exige la integridad referencial
Si de todas forma  necesita eliminarlos  entonces  active  la casilla  Eliminar en cascada , de la ventana de relaciones (doble clic en la línea que relaciona las tablas) y al  eliminar  los registros de la tabla  Padre  se  eliminarán  automáticamente los registros de la tabla  Hija . Doble clic en la línea y se mostrará la ventana para Modificar la relaciones de las tablas
Consultas de acción  (actualizar registros) Realice los pasos ya mencionados, y luego estando en el  Diseñador de consulta  cambie el tipo de consulta, para esto, elija el menú  Consulta  /  Consulta de actualización Agregue el campo donde realizará la actualización.
Vista SQL:  Observe que la instrucción SQL generada ya no es un  SELECT  si no un  UPDATE , por lo tanto  no recuperará registro  más bien procederá a la  actualización de registro  en la tabla.
Resultado:  Al ejecutar la consulta mostrará un mensaje indicándole que va a proceder a actualizar una cantidad de registros. Al responder  Si  los registros se actualizarán en la tabla, para comprobar abra la tabla donde se realizó la actualización y verifique que los registros han cambiando según lo establecido en el diseño de la consulta.
Consulta con parámetros A todas las consultas mencionadas de  Selección  y  Acciones  se le puede agregar  Parámetros , que son  datos  que sé solicitarán antes de ejecutar las consultas y se usarán como criterio de la consulta. Para  agregar parámetros  a la consulta, debe encontrarse en la  Vista diseño  y escriba una  petición entre corchetes  en la fila  Criterio  del campo que usará para recuperar datos.
Al  ejecutar  la consulta mostrará lo siguiente. Petición que se mostrará cuando ejecute la consulta. El dato que ingrese reemplazará a la petición escrita entre corchetes.
Creando expresiones Son combinación de operadores matemáticos, o lógicos, funciones, nombre de campos, etc. Que pueden realizar cálculos, manipular caracteres o probar datos. Se utilizan para crear Regla de validación, Criterios de las consultas, Campos calculados, etc.
Consideraciones para crear criterios:  Al crear un criterio debe considerar que tipo de dato almacena el campo, para poder definir la creación del mismo. Tipo de dato Criterio Texto "  " Numérico Valor numérico sin comillas Sí/No Sí  Verdadero  -1 No  Falso  0 Fecha/Hora #dd/mm/aa hh:mm# #dd/mm/aa#
Operadores:  Aquí describo algunos de los operadores más utilizados para crear expresiones. (puede escribirlo en ingles o español) Operadores matemáticos Operador Descripción + Suma Restar * Multiplicar / División \ División entera ^ Exponente (potencia)
Operadores de comparación  Operador Descripción > Mayor que >= Mayor o Igual que < Menor que <= Menor o Igual que = Igual <> Diferente que
Operadores lógicos Operador Descripción AND (Y) Y lógico (comprar dos expresiones  lógicas y devuelve TRUE si ambas  son verdaderas) OR  (O) O lógico (comprar dos expresiones  lógicas y devuelve FALSE si ambas  son falsas) NOT (Negado) Negación (cambiar el resultado  de la expresión lógica)  Observación:  En Access 2000 no funciona el O lógico si los escribe en español
Otros Operadores Operador Descripción BETWEEN (Entre) Entre un rango de valores IN (En) Que coincida con los valores  de la lista. LIKE (Como) Que coincida con la cadena. NULL (Es Nulo) Vacío (desconocido) * Comodín que reemplaza uno o  más caracteres ? Comodín que reemplaza un  caracter
Ejemplos de criterios
Ejemplos de criterios

Access Clase 02

  • 1.
    Segunda Clase Curso:Microsoft Access Profesor: Ricardo W. Marcelo V. EMail: [email_address] [email_address]
  • 2.
  • 3.
    Introducción Hablaremos sobre. . . Por que crear consultas (vistas)
  • 4.
    ¿Por qué crearconsultas? Bueno, como su mismo nombre lo describe las consultas nos permiten consultar en la base de datos cierta información que necesitamos obteniendo así el resultado deseado, entonces las consultas sirven para recuperar datos . Además es considerado como una herramienta esencial en todo DBMS, por que no habría ninguna razón de guardar datos si no se quisieran recuperar.
  • 5.
    En Access existenvarios tipos de consultas donde las más utilizadas son las Consultas de Selección estas son las que recuperan datos BD Consulta SELECT * FROM Clientes WHERE País = 'Perú'  S o l i c i t a D e v u e l v e  (registros) En resumen la consultas de selección permiten: Recuperar datos de una o más tablas. Crear campos calculados (generados por una expresión o formula) También puede agrupar registros para obtener resúmenes de datos con totales de suma, promedio, cuentas, etc.
  • 6.
    El resultado dela consulta puede ser actualizable a la tabla subyacente (es decir al modificar los datos de la consulta esto afecta a los datos de la tabla), con algunas restricciones , por ejemplo la consulta de selección que obtiene un resumen de datos no puede ser actualizable.
  • 7.
    En la mayoríade los DBMS las consultas son llamadas también Vistas (View), en Access existen una contraposición a las consultas conocido con el nombre Consultas de acciones , cuyo objetivo es realizar operaciones sobre los datos (eliminar, actualizar, etc. registros) BD Consulta de Acción DELETE FROM Clientes WHERE País = 'Perú'  C o n s u l ta d e e l i m i n a c i ó n UPDATE Clientes SET País = 'Perú' WHERE País = 'Chile'  C o n s u l ta d e a c t u a l i z a c i ó n
  • 8.
    Como ya hemosmencionado los DBMS se basan en instrucciones de SQL para definir y manipular datos, llamadas también: Lenguaje de definición de datos CREATE TABLE . . . ALTER TABLE . . . DROP TABLE . . . Lenguaje de manipulación de datos SELECT . . . INSERT . . . DELETE . . . UPDATE. . . Instrucciones SQL
  • 9.
    En Access nohay necesidad de escribir instrucciones SQL, por que para definir una tabla basta usar nuestro diseñador de tabla y si necesitamos manipular los registros usamos nuestro diseñador de consultas . Pero Access también da la posibilidad de escribir instrucciones de SQL, si fuera necesario hacerlas.
  • 10.
  • 11.
    Creación de consultasExplicaremos como crear . . . Consultas de selección (simples, multitablas, campos calculado y de resumen de datos) Consultas de Acciones (eliminación, actualización) Consulta con parámetros
  • 12.
    Consultas de selección (simple) Estando en la ventana de base de datos, elija el objeto Consulta . Ahora haga clic en el botón Nuevo y elija Vista Diseño .
  • 13.
    Luego agrega la(s) tablas o consultas de donde recuperara los datos.
  • 14.
    Estando en el diseñador de consulta , agregue los campos y el criterio que usara para obtener los datos que desea. Fila Campo Fila Criterio Escriba el criterio que se usara para recuperar los datos Arrastre los campos que desea mostrar en el resultado.
  • 15.
    Ejecute laconsulta para ver el resultado . Botón Ejecutar Si desea regresar a la Vista diseño , elija el menú Ver .
  • 16.
    Para ver la instrucción SQL generada por el diseñador de consulta, elija el menú Ver / Vista SQL . Si desea Ordenar el resultado y además no Mostrar campos no deseados, utilice la fila Orden y Mostrar Ordenar el resultado en base al campo NombreCompañía No mostrar el campo País en el resultado
  • 17.
    Observación: Si su objetivo era mostrar todos los campos como resultado, puede agregar el asterisco ( * ), este representa todos los campos . Además puede agregar campos para colocar criterios para la recuperación y para su ordenación en el resultado y deberá desactivar la fila Mostrar de esos campos para que no se muestre por duplicado.
  • 18.
    El asterisco *representa todos los campos Desactivar la casilla Mostrar por que estos campos ya serán mostrado por el asterisco, solo son agregaron para establecer Criterios y Ordenación. Vista Diseño Vista SQL
  • 19.
    Al ejecutar la consulta se mostrará el resultado y hace resultado se conoce con el nombre de Recordset y puede ser actualizado es decir si modifica algún dato afectará a la tabla subyacente. Si desea que el resultado no permita la modificación de los datos , para esto muestre la ventana de Propiedades de la consulta (clic derecho en el espacio libre donde se aparecen las tablas y elija Propiedades)
  • 20.
    En la ventanade Propiedades de la consulta elija Tipo Recordset y seleccione Archivo Snapshot clic derecho Elija Propiedades Tipo Recordset = Archivo Snapshot
  • 21.
    Al final Guarde la consulta. Guardar Debe considerar que la consulta no guarda los datos recuperados si no la instrucción SQL que se encarga de recuperar los datos cada vez que este es ejecutado.
  • 22.
    Consultas de selección (multitabla) Realice los pasos ya mencionados, pero para este ejemplo agregará dos tablas. Luego agregue los campos y establezca el criterio según muestra el diseño. Cuando desea recuperar datos de varias tablas estas deben tener algún vinculo, es decir estar relacionadas.
  • 23.
    Vista SQL: Observe que la instrucción SQL generada tiene la cláusula INNER JOIN , donde establece el vinculo interno que existe entre las tablas Clientes y Pedidos
  • 24.
    Resultado: Alejecutar la consulta se recuperará los datos de los Clientes y sus Pedidos realizados durante el año 1995. Observe que el resultado debería estar ordenado también por la Fecha de entrega como segunda alternativa de ordenación.
  • 25.
    Consultas de selección (campos calculados) Realice los pasos ya mencionados, pero para este ejemplo escribirá una expresión en una columna vacía de la fila campo. Escriba las expresiones que generarán el campo calculado. Puede presionar [Shift] + [F2] para hacer Zoom o utilizar el Generador de expresiones . Título del campo: Contenido del campo Nombre completo: [Apellidos] & &quot;, &quot; & [Nombres] Bonificación: [Sueldo] * 0.1
  • 26.
    Vista SQL: Observe que la instrucción SQL generada tiene la cláusula AS , donde eso nos indica que los campos Nombre completo y Bonificación son campos calculados, además observe que cuando el nombre del campo tiene espacios en blanco debe ir entre corchetes .
  • 27.
    Resultado: Alejecutar la consulta se recuperará los datos de los Empleados, además se mostrará el resultado de los campos calculados.
  • 28.
    Consultas de selección (resumen de datos) Realice los pasos ya mencionados, pero para este ejemplo active la fila Total, haga clic en el botón Totales, que nos permitirá agrupar datos y obtener sumas, promedios, etc. Agrupar por el Nombre del Producto Sumar la cantidad vendida Donde solo mostrará los productos vendidos en Ene-1995 Fila Total
  • 29.
    Vista SQL: Observe que la instrucción SQL generada tiene la cláusula GROUP BY , y función Sum que obtiene la suma de los valores del campo Cantidad.
  • 30.
    Resultado: Alejecutar la consulta se obtendrá los datos agrupados por el Nombre del Producto y mostrará la suma de las cantidades que se vendió en Enero de 1995 , además el resultado se mostrará en orden descendente del producto más al menos vendido.
  • 31.
    Consultas de acción (eliminar registros) Realice los pasos ya mencionados, y luego estando en el Diseñador de consulta cambie el tipo de consulta, para esto, elija el menú Consulta / Consulta de eliminación Agregue el campo donde establecerá el criterio de eliminación
  • 32.
    Vista SQL: Observe que la instrucción SQL generada ya no es un SELECT si no un DELETE , por lo tanto no recuperará registro más bien procederá a la eliminación de registro en la tabla.
  • 33.
    Resultado: Alejecutar la consulta mostrará un mensaje indicándole que va a proceder a eliminar una cantidad de registros. Al responder Si los registros se eliminarán de la tabla, para comprobar abra la tabla donde se realizó la eliminación y verifique que los registros que cumplían con el criterio de eliminación ya no existen.
  • 34.
    Observación: Si la tabla donde realiza la eliminación esta relacionada y es tabla Padre , entonces no se podrá eliminar aquellos registros que están siendo utilizados en la tabla Hija , esto por que lo Exige la integridad referencial
  • 35.
    Si de todasforma necesita eliminarlos entonces active la casilla Eliminar en cascada , de la ventana de relaciones (doble clic en la línea que relaciona las tablas) y al eliminar los registros de la tabla Padre se eliminarán automáticamente los registros de la tabla Hija . Doble clic en la línea y se mostrará la ventana para Modificar la relaciones de las tablas
  • 36.
    Consultas de acción (actualizar registros) Realice los pasos ya mencionados, y luego estando en el Diseñador de consulta cambie el tipo de consulta, para esto, elija el menú Consulta / Consulta de actualización Agregue el campo donde realizará la actualización.
  • 37.
    Vista SQL: Observe que la instrucción SQL generada ya no es un SELECT si no un UPDATE , por lo tanto no recuperará registro más bien procederá a la actualización de registro en la tabla.
  • 38.
    Resultado: Alejecutar la consulta mostrará un mensaje indicándole que va a proceder a actualizar una cantidad de registros. Al responder Si los registros se actualizarán en la tabla, para comprobar abra la tabla donde se realizó la actualización y verifique que los registros han cambiando según lo establecido en el diseño de la consulta.
  • 39.
    Consulta con parámetrosA todas las consultas mencionadas de Selección y Acciones se le puede agregar Parámetros , que son datos que sé solicitarán antes de ejecutar las consultas y se usarán como criterio de la consulta. Para agregar parámetros a la consulta, debe encontrarse en la Vista diseño y escriba una petición entre corchetes en la fila Criterio del campo que usará para recuperar datos.
  • 40.
    Al ejecutar la consulta mostrará lo siguiente. Petición que se mostrará cuando ejecute la consulta. El dato que ingrese reemplazará a la petición escrita entre corchetes.
  • 41.
    Creando expresiones Soncombinación de operadores matemáticos, o lógicos, funciones, nombre de campos, etc. Que pueden realizar cálculos, manipular caracteres o probar datos. Se utilizan para crear Regla de validación, Criterios de las consultas, Campos calculados, etc.
  • 42.
    Consideraciones para crearcriterios: Al crear un criterio debe considerar que tipo de dato almacena el campo, para poder definir la creación del mismo. Tipo de dato Criterio Texto &quot; &quot; Numérico Valor numérico sin comillas Sí/No Sí Verdadero -1 No Falso 0 Fecha/Hora #dd/mm/aa hh:mm# #dd/mm/aa#
  • 43.
    Operadores: Aquídescribo algunos de los operadores más utilizados para crear expresiones. (puede escribirlo en ingles o español) Operadores matemáticos Operador Descripción + Suma Restar * Multiplicar / División \ División entera ^ Exponente (potencia)
  • 44.
    Operadores de comparación Operador Descripción > Mayor que >= Mayor o Igual que < Menor que <= Menor o Igual que = Igual <> Diferente que
  • 45.
    Operadores lógicos OperadorDescripción AND (Y) Y lógico (comprar dos expresiones lógicas y devuelve TRUE si ambas son verdaderas) OR (O) O lógico (comprar dos expresiones lógicas y devuelve FALSE si ambas son falsas) NOT (Negado) Negación (cambiar el resultado de la expresión lógica) Observación: En Access 2000 no funciona el O lógico si los escribe en español
  • 46.
    Otros Operadores OperadorDescripción BETWEEN (Entre) Entre un rango de valores IN (En) Que coincida con los valores de la lista. LIKE (Como) Que coincida con la cadena. NULL (Es Nulo) Vacío (desconocido) * Comodín que reemplaza uno o más caracteres ? Comodín que reemplaza un caracter
  • 47.
  • 48.