ADMINISTRACION PYMES CLASE 11 – ACCESS – CONSULTA Y RELACIONES (CONCESIONARIA AUTOS) Hoy vamos a aprender lo que son estas 2 herramientas muy importantes en el Access, pero primero antes de nada vamos a realizar un par de tablas que nos servirán para poder ejemplificar las cosas que vamos a ir aprendiendo. Lo primero a tener en cuanta en cualquier caso es que antes de hacer nada, hay que analizar bien cómo vamos a crear las Tablas y yo, en este ejemplo, he pensado hacer 3 tablas, 1 auxiliar y 2 importantes: • Aux Modo de Pago • Clientes • Vehículos Si bien hay más cosas que esto en una concesionaria, como ser empleados, proveedores, bienes inmuebles pero nuestra atención sol se enfocara en lo ya mencionado. Lo primero, es lo primero, vamos a crear el documento y lo llamará CONCESIONARIA
Perfecto luego de eso vamos a crear las tablas ya que les había mencionado. • Primero se hacen las AUXILIARES. • Luego las PRINCIPALES. ¿Y ahora? A ponernos mano a la obra:
TABLA AUXILIAR: AUX MODO DE PAGO La primera tabla, por tratarse de una tabla Auxiliar, tendrá un solo campo, que contendrá las diferentes opciones que luego podremos elegir cuando debamos colocar un medio de pago. NOMBRE: AUX MODO DE PAGO Nombre de Campo Tipo de dato Modo de Pago Texto
Notar que tiene una llavecita. Esa llave significa que ese valor es una CLAVE PRINCIPAL. Estas claves por lo usual son auto numéricas asegurando así que sean únicas, pero en el caso de las Tablas auxiliares asumimos que todos los valores son únicos, así que tranquilamente pueden ser claves. CLAVE PRINCIPAL: es un valor UNICO QUE SIRVE COMO IDENTIFICADOR DE CADA VALOR. No pueden haber 2 claves con un mismo valor (ni tampoco pueden haber 2 claves), por lo cual se recomienda que sea siempre AUTONUMERICO pero hay excepciones. No es obligatorio pero conviene ponerlo SIEMPRE. La llavecita indica que esta puesto
Una vez listo el diseño de la tabla, es momento de cargar los datos, pero por ser un auxiliar no vamos a crearle un formulario para cargar datos, pero si vamos a cargarlos de una manera sencilla, para eso vamos a cambiar de vista (VER VISTA HOJA DE DATOS) y ahí cargaremos los datos: CONTADO, TARJETA y CUOTAS.
Perfecto, ya tenemos el auxiliar MODO DE PAGO ahora vamos a seguir con las tablas importantes. <<Uno puede crear cuantas tablas auxiliares desee, estas tablas tienen el único objetivo de crear una serie de valores que se usan como una lista que serán usadas en las otras tablas.>>
TABLA: VEHICULOS La segunda tabla que crearemos va a tratarse de aquella que tendrán los vehículos, y para poder pensar en QUE CAMPOS USAREMOS debemos ponernos a pensar como GERENTE. •
¿Qué datos me pueden importar a mí, como gerente, a la hora de vender un vehículo?
Para hacerla cortita yo opte por: • Código Auto • Marca • Modelo
• Año • Color • Valor
• Patente (porque vendemos el auto con los papeles hechos)
Antes de nada vamos a crear la tabla donde pondremos los datos: 1. CREAR >> Diseño de Tabla.
luego:
NOMBRE: VEHICULO Nombre de Campo Tipo de dato Código Auto Auto numérico Marca Texto Modelo Texto Año Número Color Texto Valor Moneda Patente: Texto Una vez cargados los tipos de datos, vamos a cerrarla (CTRL+F4). Y ahora vamos a volver a abrirla, pero solamente he hecho esto para que sepan como corregir la tabla luego de haberla cerrado, sobre el nombre de la tabla, botón derecho y selección VISTA DISEÑO.
Y ahora vamos a concentrarnos en unos puntos particulares: 1. Vamos a vender autos que son a partir del 2005 2. La patente es UNICA, su forma tiene 3 letras y 3 números y solo tiene 6 caracteres. Estos detalles implican ciertos cambios en las propiedades de los campos.
La forma de usar la lista completa de las propiedades de los campos estará al final del documento.
Las propiedades de los campos son aquellos valores que están debajo de los campos.
Del campo que les diré, deben buscar la propiedad correspondiente y cambiarla: • •
AÑO: o
Regla de validación:
>2004
PATENTE: o Tamaño del campo: 6 o Mascara de entrada: AAA000 o Indexado: SI(son duplicados)
Una vez que terminamos de configurar la Tabla Vehículos nos vamos a concentrar en crear la última tabla, así que, cerramos esta tabla (Ctrl+F4) y vamos a crear otra tabla en Vista Diseño.
TABLA:CLIENTES Tal como hicimos en con los vehículos, para la tercera tabla que crearemos debemos ponernos a pensar como GERENTE. Si bien, la venta de un auto, •
¿Qué datos me pueden importar a mí, como gerente, a la hora de querer contactarme con el cliente?
Los campos que yo creo son: • Código Cliente: siempre se necesita un código • Nombre y Apellido • Dirección: para saber dónde está la casa Luego… NOMBRE: CLIENTE Nombre de Campo Tipo de dato Código Cliente Auto numérico Nombre y Apellido Texto Dirección Texto Ciudad Texto DNI Texto Teléfono Texto Nº Auto Comprado Número
• • • • •
exige muchos datos del cliente, esos datos quedaran en el contrato, nosotros solo pondremos aquellos datos que le importarían al gerente para
Ciudad DNI Celular: para poder contactarlo Nº de auto comprado Medio de pago
Modo de Pago. Texto Perfecto, ahora nos vamos a concentrar en las particularidades: • Asumimos que todos los Clientes van a ser de esta CIUDAD, así que yo, como ahora estoy en Guatrache, voy a poner que por defecto, solito se ponga Guatrache. • Vamos a ponerle una máscara de entrada al DNI para que tenga separador de miles • Al Teléfono para que solo se puedan cargar 10 números. • Y por último, los MODOS DE PAGO deben estar relacionados con el AUX que habíamos creado previamente. Del campo que les diré, deben buscar la propiedad correspondiente y cambiarla: • •
•
CIUDAD: o Valor predeterminado: “Guatrache” DNI: o Mascara de entrada: 00.000.000 Se vería: _ _._ _ _._ _ _ TELÉFONO: o Mascara de entrada: “(0”0000”) – 15”000000 Se vería: (0_ _ _ _) – 15_ _ _ _ _ _
ASISTENTE PARA BUSQUEDAS… PERFECTO!! Ahora nos quedaría lo de MODO DE PAGO… para ello debemos elegir la opción:
ASISTENTE PARA BUSQUEDAS… Y vamos a seguir los pasos
1. Al principio aparecerá una ventana que te preguntará si ya tenes los datos escritos en algún lugar (nosotros lo hicimos enAux Modo de Pago) o si los quieres escribir en este momento. Nosotros elegiremos la opción 1: “Deseo que la columna de búsqueda busque los valores en una tabla o consulta” y luego SIGUIENTE
La opción 2, esta para que la pruebes solo. 2. En esta segunda hoja, nos pregunta DE DONDE, de todas las tablas/consultas que tenemos, sacaremos los datos. Nosotros elegiremos: “Tabla: Aux Modo de Pago”
Es MUY IMPORTANTE leer todo lo que está escrito en los Asistentes, porque si prestamos atención, el mismo asistente nos guiará.
3. En la tercera hoja, vamos a seleccionar los campos que queremos que aparezcan como opciones para poder elegir. Nosotros: Tenemos un único campo: “Modo de Pago”
4. Ahora nos pregunta si queremos ORDENAR los valores. (por ejemplo de menor a mayor). Nosotros: Tenemos un único campo, “Modo de Pago”, que lo ordenaremos de forma ASCENDENTE.
5. En este paso, la maquina nos muestra un ejemplo de lo que elegimos (fijarse que esta ordenado) y nos permite agrandar o achicar las columnas y en caso de tener mas columnas, nos permite ocultar el código, si es que queremos calro.
Nosotros: En este caso no haremos nada.
6. Por último te pide si quieres cambiarle el nombre al campo.
Nosotros: En este caso no haremos nada.
Con FINALIZAR acabamos el ASISTENTE… y como no, nos EXIGIRA que lo guardemos. A continuación les muestro como quedaría cuando queremos poner un dato: Al seleccionar la CELDA
Al darle Clic a
¡¡Muy Bien!! Acabamos de armar las 3 tablas y con ello hemos aprendido varias cositas en el medio. AHORA, vamos a crear los formularios para VEHICULOS y CLIENTES (tal como lo hicimos en la clase anterior) y luego vamos a cargar: • 8 Vehículos • 4 Clientes
CONSULTAS Una vez que terminamos de cargar los datos, nos tenemos que poner a pensar: ¿Si en vez de 8 vehículos tengo 100 vehículos? ¿Y si en vez de 4 clientes tengo 90? ¿Y si fueran aún muchos más? Frente a estas interrogantes nos encontramos con un problema referidos a la cantidad, cuando tenemos tantos se nos complica a la hora de hallar uno de todos esos valores, o un grupo. Por ello aparecen las CONSULTAS. Las CONSULTAS: Transforman los Datos en Información. Es decir, filtran aquellas cosas que no necesitas y te permite obtener solo aquellas que si te interesan. Entonces vamos a colocar algunas cosas de nuestro interés: • Quiero saber cuáles son los Autos Negros. • Cuales clientes pagaron al contado. • El nombre de los autos más caros hasta los más baratos • Cada cliente con el auto que se compró.
Dato: es un elemento aislado, que se encuentran presentas en todos lados y fue recabado para un cierto fin, pero que no ha pasado por un proceso de relación o de filtrado. Información: se tratan de datos que tienen una utilidad. Ejemplo: si yo quiero comprar un Peugeot. Dato: van a ser todos los autos de la concesionaria. Información: los autos de la Marca Peugeot.
A continuación vamos a ir haciendo las diferentes consultas que respaldaran la información buscada en cada punto.
CREAR CONSULTA SIMPLE: Las consultas simples son aquellasque FILTRAN datos o ORDENAN. 1. Lo primero que vamos a hacer será crear la CONSULTA vacía, eso se logra poniendo la pestaña CREARy de allí vamos a elegirDISEÑO DE CONSULTA.
2. Eso generará una ventana como la siguiente:
• • •
En la ventana MOSTRAR TABLA se mostraran las tablas o consultas que ya hemos creado con antelación. En la parte de arriba de la consulta están las TABLAS USADAS (o agregadas). Y en la parte de abajo PODEMOS IR AGREGANDOcuantos CAMPOSqueramos de una tabla. Sus diferentes cosas indican: o o o o o o
Campo: El nombre del campo agregado Tabla: De que tabla fue agregado. Orden: Si queremos ordenar por algún valor. Mostrar: si lo mostramos o no en el resultado. Criterio: una condición para filtrar O: para poner otro criterio. 3. NOSOTROS: vamos a seleccionar VEHICULOS y luego el botón AGREGAR. De resultado va a quedar como la imagen de abajo-
4. Ahora tenemos que agregar aquellos campos que queremos ver, porque si queremos saber cuáles autos son negros, no me importa todos los detalles, sino, solamente el nombre y que sea negro. Hay 2 formas de agregar datos: a.
b.
1ra forma: Hacerle doble clic sobre el nombre del campo (por ejemplo sobre MARCA y MODELO). 2da forma: Arrastrar un campo hasta su posición, tal como muestra la flecha roja. Hacerlo con AÑO y COLOR. Para eliminar un campo agregado, arriba esta la opción:
5. Por último vamos a poner alguna condición o filtro a los campos. Nosotros: Vamos a poner tal cual muestra la imagen.
6. Y ahora Ctrl+F4 y lo guardamos con un nombre que me diga de que se trata la consulta, en este caso: AUTOS NEGROS. Si luego lo abrimos nos daría algo como: Notar que todos los autos son negros
A CONTINUACION DEBEN HACER LAS SIGUIENTES CONSULTAS: •
Cuales clientes pagaron al contado. Diseño de la consulta: Notar como <<Modo de Pago>> esta “Deseleccionado” eso ocasionará que no se vea en el resultado.
Parte arriba
Resultado: Solo se mostraron los nombres de las personas que pagaron al contado.
Parte abajo
•
El nombre de los autos más caros hasta los más baratos Diseño de la consulta: Notar que el “orden esta Descendente”, eso hará que aparezcan según ese orden.
Parte arriba
Parte abajo
Resultado: Se mostraron todos en orden de los más caros a los más baratos.
•
Cada cliente con el auto que se compro. Diseño de la consulta: Notar que se ha agregado las 2 TABLAS y que los datos agregados también son de las 2 tablas.
Parte arriba
Parte abajo
Resultado: Se mostraron todos los CLIENTES con TODOS los autos… ¿Es esto el resultado que esperaba? Yo creo que no… nosotros esperábamos cada cliente con SU auto.
Si nos preguntamos ¿Qué paso? La respuesta es otra pregunta: ¿Nosotros, en algún momento, hicimos que el valor del auto comprado sea igual al valor del código del auto?
RESPUESTA: NO, en ningún momento. Nosotros usamos los mismos valores pero en ningún momento establecimos “algo” que nos relacionase los dos datos. Ese “algo” justamente se llama RELACION.
RELACIONES: LAS RELACIOENS: “Relaciona las tablas en base a un campo que tengan en común.” Es decir, cuando hablemos del auto comprado, nos estamos refiriendo al código del auto, por lo tanto, cada cliente estaría relacionado con el auto que compro. Hay dos formas de relacionar: 1. Una relación simple. 2. O una relación que me asegura estar usando los mismos valores en ambas tablas. (el segundo tipo de relación, es el mismo de la primera pero con “algo” más)
PARA PONER RELACIONES: 1. Lo primero que vamos a hacer será abrir el cuadro de relaciones:
HERRAMIENTA DE BASEDE DATOS
Al hacerlo les mostrará una imagen como esta: << En este caso vamos a ver que ya existe una relación, esto se debe a que el Asistente para Búsquedas establece una relación entre 2 tablas, para buscar valores y mostrarlos de la otra tabla. >>
2. Lo segundo que haremos será Mostrar las tablas que deseamos relacionar. (Solo mostraremos Vehículo porque Cliente ya está agregada)
“Se agregan igual que en la Consulta”
RELACIONES.
3. Una vez que lo tenemos hecho, vamos a seleccionar un campo a combinar y lo vamos a arrastrar justo arriba del otro. Es decir Nº de auto comprado lo arrastraremos hasta Código de Auto.Si lo hicimos bien debe aparecer una ventana como la de la derecha. (Aquí debemos asegurarnos que diga Nº de auto comprado y Código de Auto)
4. Vamos ahora a decidir cual tipo de relación queremos. Los diferentes dos tipos de relaciones son: RELACION SIMPLE
RELACION DIRECTA
Permite “ver” todos los valores de la otra tabla, si no lo haya no muestra nada.
Solo permite valores que estén en la tabla principal (la que tiene el código), Si no lo haya no podes.
NOSOTROS, vamos a hacer una RELACION DIRECTA porque de esta forma SOLO PUEDO VENDER LO QUE TENGO EN EL INVENTARIO (VEHICULOS), si tengo 8 autos no Para poder crear una RELACIÓN puedo vender el 15 porque NO ESTA. DIRECTA tiene que cumplir las (al cuadrito que nos apareció, debemos marcar la opción “EXIGIR INTEGRIDAD REFERENCIAL”)
Si es que los campos cumples las condiciones que ya mencionamos, se podrá CREAR la relaciones, en caso que no se pueda, se debe cancelar y fijarse en el diseño de las tablas anteriores, para corregir los valores de tal forma que cumplan las condiciones.
siguientes condiciones: 1. Tienen que ser el mismo tipo de datos 2. Tienen que tener los mismos datos (es decir, solo puedo vender los autos que tengo agregado) 3. Uno de los dos campos tiene que ser CLAVE PRINCIPAL.
Una vez que lo hemos realizado debe quedar algo como: Una vez que tenemos esto, debemos apretar Ctrl+F4 y guardar.
¿Y ahora qué hacemos? Pues, hacemos la última consulta de vuelta. Diseño de la Notar como se ve la relación hecha
Resultado: Se mostraron todos los CLIENTES con TODOS los autos…
Y con esto terminamos la clase de hoy… A continuación les presentaré algunos ANEXOS.
ANEXO: PROPIEDADES DE LOS CAMPOS Son las propiedades que aparecen debajo de los Campos (en vista diseño de la tabla).
Las propiedades se agrupan en dos pestañas: • La pestaña General: indica las características generales del campo. • La pestaña Búsqueda:permite definir una lista de valores válidos para el campo. Las propiedades de la pestaña General pueden cambiar para un tipo de dato u otro mientras que las propiedades de la pestaña Búsqueda cambian según el tipo de control asociado al campo.
PESTAÑA GENERAL PROPIEDADES DE QUE DISPONEMOS SEGÚN LOS TIPOS DE DATOS. Tamaño del campo (Texto): determina el número máximo de caracteres que se pueden introducir en el campo. Siendo por defecto y máximo 255.
Tamaño del campo (Número): en este caso las opciones son:
<<Los campos Autonumérico son Número-Entero largo >>
Hay que tener en cuenta que si se modifican las propiedades de un campo después de haber introducido datos en él se pueden perder estos datos introducidos.
Byte: valores enteros entre 0 y 255. Entero: valores enteros entre -32.768 y 32.767. Entero largo: valores enteros entre 2.147.483.648 y 2.147.483.647. Simple: valores entre -3,402823E38 y 3,402823E38. Doble:valores entre -4,94065645841247E-324 y 4,94065645841247E-324. Id. de réplica: se utiliza para claves autonuméricas en bases réplicas. Decimal: valores entre -10^28-1 y 10^28-1.
A los demás tipos de datos no se les puede especificar tamaño.
Formato del campo: personaliza la forma de presentar los datos en pantalla o en un informe. Los campos Texto y Memo no disponen de formatos predefinidos, así que lso ignoraremos.
Numérico y Moneda
Fecha/Hora
Sí/No
Lugares decimales (Número o Moneda):nos permite indicar el número de decimales que queremos asignar a un tipo de dato. Máscara de entrada: Se utiliza la máscara de entrada para facilitar la entrada de datos y para controlar los valores que los usuarios pueden introducir. (VER ANEXO SIGUIENTE DE MASCARA DE ENTRADA) Título:Titulo del campo Valor predeterminado: es el valor que se almacenará automáticamente en el campo si no introducimos ningún valor. El valor introducido puede ser borrado o cambiado.
Se suele emplear cuando se sabe que un determinado campo va a tener la mayoría de las veces el mismo valor.
Regla de validación: nos permite controlar la entrada de datos según el criterio que se especifique. Hay que escribir el criterio que debe cumplir el valor introducido en el campo para que sea introducido correctamente. Por ejemplo si queremos que un valor introducido esté comprendido entre 100 y 2000, se puede especificar en esta propiedad >=100 Y <=2000.
Texto de validación: En esta propiedad escribiremos el texto que queremos nos aparezca en pantalla si introducimos en un campo un valor que no cumple la regla de validación. Debe ser un mensaje para que la persona que se equivoque a la hora de introducir los datos, sepa el porqué de su error y pueda solucionarlo.
Requerido: Si queremos que un campo se rellene obligatoriamente Permitir longitud cero (Memo y Texto): cuentan con esta propiedad para controlar que no se puedan introducir valores de cadena que no contengan caracteres o estén vacíos. Indexado: Se utiliza esta propiedad para establecer un índice de un solo campo. Los índices hacen que las consultas basadas en los campos indexados sean más rápidas, y también aceleran las operaciones de ordenación y agrupación. Esta propiedad dispone de tres valores: No: Sin índice. Sí (con duplicados): Cuando se asigna un índice al campo y además admite valores duplicados. Sí (sin duplicados): Cuando se asigna un índice pero sin admitir valores duplicados.
ANEXO: TABLA DE VALORES PARA LA MASCARA DE ENTRADA Carácter
Descripción (Description)
0
Dígito (0 a 9, entrada obligatoria; signos más [+] y menos [-] no permitidos).
9
Dígito o espacio (entrada no obligatoria; signos más y menos no permitidos).
#
Dígito o espacio (entrada no obligatoria; las posiciones en blanco se convierten en espacios; se permiten los signos más y menos).
L
Letra (A-Z, entrada obligatoria).
?
Letra (A-Z, entrada opcional).
A
Letra o dígito (entrada obligatoria).
a
Letra o dígito (entrada opcional).
&
Cualquier carácter o un espacio (entrada obligatoria).
C
Cualquier carácter o un espacio (entrada opcional).
. ,: ; - /
Marcador de posición decimal y separadores de millares, fecha y hora. (El carácter utilizado depende de la configuración regional del Panel de control de Microsoft Windows.)
<
Convierte a minúsculas todos los caracteres que siguen.
>
Convierte a mayúsculas todos los caracteres que siguen.
!
Hace que la máscara de entradase muestre de derecha a izquierda, en lugar de mostrarse de izquierda a derecha. Los caracteres introducidos en la máscara siempre se rellenan de izquierda a derecha. Puede incluir el signo de exclamación en cualquier lugar de la máscara de entrada.
\
Hace que el carácter que viene a continuación se muestre como carácter literal. Se utiliza para presentar cualquiera de los caracteres detallados en esta tabla como caracteres literales (por ejemplo, \A se muestra sencillamente como A).
Al establecer la propiedad Máscara de entrada (InputMask) a la palabra Contraseña, se crea un cuadro de Contraseña texto de entrada de contraseña. Cualquier carácter escrito en este cuadro de texto se almacena como tal, pero se muestra como un asterisco (*).
Ejemplos: Definición de máscara de entrada
Ejemplos de valores
Definición de máscara de entrada
Ejemplos de valores
(000) 000-0000
(206) 555-0248
>L0L 0L0
T2F 8M4
(999) 999-9999!
(206) 555-0248 ( ) 555-0248
00000-9999
9811598115-3007
(000) AAA-AAAA
(206) 555-TELE
>L<??????????????
María Manuel
#999
-20 2000
ISBN 0-&&&&&&&&&-0
ISBN 1-55615-507-7 ISBN 0-13-964262-5
>L????L?000L0
GREENGR339M3 MAY R 452B7
>LL00000-0000
DB51392-0493
LAS CONDICIONES (CONSULTAS o REGLA DE VALIDACION) A continuación te detallamos los distintos SIGNOS que podemos utilizar en una condición. LOS SIGNOS DE COMPARACIÓN: Operador = <> < <= > >=
Significado igual que distinto de menor que menor o igual mayor que mayor o igual
EL OPERADOR <<ENTRE >> Tiene la siguiente sintaxis: [Expresión]Entre <valor1>Y<valor2> Examina si el valor de la expresión está comprendido entre los dos valores definidos por valor1 y valor2. Normalmente la expresión será un nombre de campo. Ejemplo:
[fecha de nacimiento]entre#01/01/80# y#01/01/86#
EL OPERADOR <<ES NULO>> Cuando queremos listar las filas que no tienen valor en una determinada columna, no podemos utilizar la condición columna “= nulo” debemos utilizar un operador especial, el operador Es nulo. Tiene la siguiente sintaxis: [Expresión]Es nulo. Por ejemplo: queremos saber los alumnos que no tienen población
EL OPERADOR COMO Se utiliza cuando queremos utilizar caracteres comodines para formar el valor con el que comparar. Por ejemplo:queremos visualizar los alumnos cuyo nombre acabe en “o”. En este caso hay que utilizar el comodín * y utilizar el operador Como para que Access reconozca el * como un comodín y no como el carácter asterisco. La condición sería nombre como“*o”. El valor que contiene los comodines se conoce como patrón y tiene que ir encerrado entre comillas. La sintaxis es la siguiente: [Expresión]Como“patrón” Los caracteres comodines pueden ser: Caracteres en patrón ? * # [listacaracteres]
Significado Un carácter cualquiera Cero o más caracteres Un dígito cualquiera (0-9) Un carácter cualquiera de la lista Un carácter cualquiera que no está incluido en la lista
[!listacaracteres]
Listacaractereses una lista de caracteres y puede incluir casi cualquiera, incluyendo números. Estos se escriben uno detrás del otro sin espacios en blanco ni comas. Porejemplo: para sacar los nombres que empiezan por: “a,g,r o v “ sería:“[agrv]*” Se puede especificar un intervalo de caracteres en listacaracteres colocando un guión - para separar los límites inferior y superior del intervalo.
Por ejemplo: queremos saber los alumnos de la provincia de Valencia (son los que tienen un código postal que empieza por 92 seguido de dos dígitos cualesquiera: [código postal]como“92##”