48
1 Segunda Clase Segunda Clase Curso: Curso: Microsoft Access Profesor: Profesor: Ricardo W. Marcelo V. EMail: EMail: [email protected] [email protected]

Access Clase 02

Embed Size (px)

Citation preview

Page 1: Access Clase 02

1

Segunda ClaseSegunda Clase

Curso:Curso: Microsoft Access

Profesor:Profesor:Ricardo W. Marcelo V.

EMail:EMail: [email protected]

[email protected]

Page 2: Access Clase 02

2

Introducción

Creación de consultas

Page 3: Access Clase 02

3

Hablaremos sobre . . .

Por que crear consultas (vistas)

Page 4: Access Clase 02

4

¿Por qué crear consultas?¿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.

Page 5: Access Clase 02

5

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

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

Page 6: Access Clase 02

6

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.

Page 7: Access Clase 02

7

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)

BDConsulta

deAcció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

Page 8: Access Clase 02

8

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 datosCREATE TABLE . . .ALTER TABLE . . .DROP TABLE . . .

Lenguaje de manipulación de datosSELECT . . .INSERT . . .DELETE . . .UPDATE. . .

Instrucciones SQL

Page 9: Access Clase 02

9

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.

Page 10: Access Clase 02

10

Page 11: Access Clase 02

11

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

Page 12: Access Clase 02

12

Consultas de selección Consultas de selección (simple)(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.

Page 13: Access Clase 02

13

Luego agrega la(s) tablas o consultas de donde recuperara los datos.

Page 14: Access Clase 02

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.

Page 15: Access Clase 02

15

Ejecute la consulta para ver el resultado.Botón Ejecutar

Si desea regresar a la Vista diseño, elija el menú Ver.

Page 16: Access Clase 02

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

Page 17: Access Clase 02

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.

Page 18: Access Clase 02

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

Page 19: Access Clase 02

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)

Page 20: Access Clase 02

20

En la ventana de Propiedades de la consulta elija Tipo Recordset y seleccione Archivo Snapshot

clic derecho

Elija Propiedades

Tipo Recordset = Archivo Snapshot

Page 21: Access Clase 02

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.

Page 22: Access Clase 02

22

Consultas de selección Consultas de selección (multitabla)(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.

Page 23: Access Clase 02

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

Page 24: Access Clase 02

24

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.

Page 25: Access Clase 02

25

Consultas de selección Consultas de selección (campos (campos

calculados)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 campoNombre completo: [Apellidos] & ", " & [Nombres]

Bonificación: [Sueldo] * 0.1

Page 26: Access Clase 02

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.

Page 27: Access Clase 02

27

Resultado: Al ejecutar la consulta se recuperará los datos de los Empleados, además se mostrará el resultado de los campos calculados.

Page 28: Access Clase 02

28

Consultas de selección Consultas de selección (resumen (resumen

de datos)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

Page 29: Access Clase 02

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.

Page 30: Access Clase 02

30

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.

Page 31: Access Clase 02

31

Consultas de acción Consultas de acción (eliminar (eliminar

registros)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

Page 32: Access Clase 02

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.

Page 33: Access Clase 02

33

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.

Page 34: Access Clase 02

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

Page 35: Access Clase 02

35

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

Page 36: Access Clase 02

36

Consultas de acción Consultas de acción (actualizar (actualizar

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

Page 37: Access Clase 02

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.

Page 38: Access Clase 02

38

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.

Page 39: Access Clase 02

39

Consulta con parámetrosConsulta 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.

Page 40: Access Clase 02

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.

Page 41: Access Clase 02

41

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

Page 42: Access Clase 02

42

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 -1No Falso 0

Fecha/Hora #dd/mm/aa hh:mm##dd/mm/aa#

Page 43: Access Clase 02

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)

Page 44: Access Clase 02

44

Operadores de comparación

Operador Descripción

> Mayor que

>= Mayor o Igual que

< Menor que

<= Menor o Igual que

= Igual

<> Diferente que

Page 45: Access Clase 02

45

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

Page 46: Access Clase 02

46

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

Page 47: Access Clase 02

47

Ejemplos de criterios

Page 48: Access Clase 02

48

Ejemplos de criterios