Aplicacions amb la base de dades Access
Enrera
Mòdul 7: Millora de la presentació de la informació
  Pràctica
1
2
3
4
   
Exercicis
Exercicis
 
 

Dedicareu aquesta pràctica a ampliar els vostres coneixements sobre la creació de consultes. Veureu el procés de creació i la utilitat de dos tipus de consultes d'acció i de les consultes de referències creuades.

   
Desenvolupament de la pràctica
   
Pràctica

L'objectiu d'aquesta pràctica és:

 

Consultes d'acció: eliminació i actualització

Quan vàreu tractar el tema de les consultes al mòdul 4, ja es va comentar que hi havia altres tipus de consultes a part de les de selecció. Ja vàreu veure al mòdul anterior les d'agrupament; doncs ara us en presentem tres més: eliminació, actualització i referències creuades.

Les dues primeres estan classificades dintre del mateix grup de consultes anomenades consultes d'acció.

 

Consultes d'eliminació

Aquest tipus de consultes, com clarament especifica el seu nom, serveix per eliminar d'una taula un conjunt de registres que acompleixen un criteri.

El seu funcionament i creació és igual que el d'una consulta normal de selecció. Quan l'executeu, l'Access mostrarà un missatge que us informarà del nombre de registres que esborrareu, i us demanarà confirmació per esborrar-los.

Abans de mostrar-vos un exemple de creació de consulta d'eliminació, heu de tenir en compte que l'Access no us deixarà esborrar registres d'una taula que estiguin relacionats amb altres registres d'una altra taula, i aquests primers estiguin a l'extrem 1 de la relació. Per exemple, si voleu esborrar el registre d'un alumne de la taula Alumnes, únicament el podreu eliminar si aquest mai ha agafat un llibre.

Fareu una consulta que elimini els llibres escrits en castellà de l'editorial SM:

Primer, heu de crear la consulta com si fos de selecció.

A continuació, seleccioneu del menú Consulta l'opció Consulta de eliminación.

Podreu veure l'aparició d'una nova fila Eliminar.

Per executar la consulta, polseu sobre el botó , o bé la podeu guardar Elimina LLibres SM castella i executar-la després.

Quan executeu, fent doble clic sobre el nom de la consulta, veureu aquesta finestra en què l'Access avisa dels efectes de l'execució de la consulta:

Si polseu , aleshores us mostra un altre quadre de diàleg informant del nombre de registres que esborrarà.

Sempre que l'operació d'eliminar registres sigui una cosa puntual, o sigui, que no l'hàgiu de fer servir moltes vegades, el més habitual és crear la consulta, executar-la i no guardar-la.

Ara us mostrarem la creació d'una consulta d'eliminació en què intervé més d'una taula: Elimina llibres en italià.

Com podeu veure, un camp és per especificar el criteri NOM_IDIOMA i a la segona columna s'ha fet un clic sobre l'asterisc de la taula Llibres.

A la fila Eliminar del camp NOM_IDIOMA, que pertany al costat 1 de la relació, apareix un Dónde, i a la segona columna, costat varis de la relació, es mostra un Desde.

Guardeu-la.

Creeu la consulta d'eliminació: Elimina llibres d'una temàtica?, us demanarà el tema i eliminarà tots els llibres que siguin d'aquesta temàtica.

 

 

Cosultes d'actualització

Aquestes consultes tenen la funció de modificar el valor dels camps d'una taula que acompleixen cert criteri de selecció.

Imagineu que us heu equivocat i el LLOC_EDICIO del llibres de l'editorial Alfaguara és Girona i vosaltres vàreu posar Barcelona. Canviar-los tots és un procés llarg i repetitiu, per això, creareu una consulta que seleccioni els registres que acompleixen aquests criteris, i després, li direu que canviï Barcelona per Girona.

Seleccioneu l'opció Consulta de actualización del menú Consulta.

Veureu com apareix una nova fila anomenada Actualizar a que serà on posareu el valor que substituirà al que té ara el camp que voleu modificar.

Executa-la .

No guardeu aquesta consulta, ja que és una operació que no repetireu.

Podeu modificar més d'un camp a la vegada. Amb els camps numèrics podeu escriure a la fila Actualiza a funcions o fórmules personals que retornin un valor numèric.

Per exemple, podeu crear una consulta d'actualització que calculi i assigni automàticament una penalització als préstecs que hagin estat retornats 7dies després. Poseu que la penalització serà de 0,50 € per dia de retard.

El criteri [DATA_DEVOLUCIO]-[DATA_PRESTEC]>7 permet detectar aquells préstecs en què el nombre de dies entre la devolució i el préstec hagi estat superior a 7.

El valor d'actualització ([DATA_DEVOLUCIO]-[DATA_PRESTEC]-7)*0,5 calcula la penalització com la multiplicació entre el nombre de dies superior a 7 i 0,5 €.

Guardeu la consulta amb el nom Càlcul penalització.

Podríeu crear un botó dintre del menú principal que, quan el polséssiu, executés la consulta i calculés, aleshores, les corresponents penalitzacions.

Aneu al disseny del formulari principal i inseriu, al costat del títol, un botó de comandament.

Seleccioneu les següents opcions:

Passeu a la pantalla següent.

Avanceu cap a l'opció següent.

Acabeu.

 

  Consultes de referències creuades
 

Aquestes consultes són molt potents. El resultat de totes elles és una taula de doble entrada semblant a un full de càlcul. Dir que és de doble entrada equival a dir que els resultats de la consulta mostren unes capçaleres per a les columnes, com és habitual, però afegint uns valors per a les files. Les dades fan referència a ambdues capçaleres: horitzontal (files) i la vertical (columnes).

Per a la vostra base de dades exemple de la Biblioteca, una consulta ideal d'aquest tipus seria per conèixer d'un cop d'ull els llibres llogats pels alumnes:

Com podeu veure, la primera columna mostra els cognoms dels alumnes que han agafat llibre, la resta de columnes representen cadascun dels llibres agafats, i les caselles de creuament mostren el nombre de cops que cada alumne ha agafat el llibre.

Aquí teniu el disseny de la consulta:

Primer seleccioneu els camps que es mostren. Després, seleccioneu l'opció Consulta de referencias cruzadas del menú Consulta perquè aparegui la fila Tab ref cruz. Ara indiqueu quina posició tindrà cada camp dintre de la taula.

  • Encabezado de fila: els valors d'aquest camp sortiran a la primera columna de la taula.
  • Encabezado de columna: els valors d'aquest camp sortiran a la primera fila de la taula.
  • Valor: camp sobre el qual es farà una operació d'agrupament. A l'exemple, el que feués un compte del nombre de dates de préstec diferents en què un alumne ha agafat un llibre.

Guardeu-la: Alumnes-Llibres.

Creeu un autoformulari tabular a partir d'aquesta consulta amb el mateix nom.


  Consultes amb camps calculats
 

Quan creeu una consulta de selecció el que feu normalment és seleccionar els camps que contenen la informació que voleu mostrar o sobre els quals posareu una condició. És possible que vulgueu mostrar una informació que no es trobi directament dintre d'un camp, però que la pugueu extreure fent una operació numèrica o aplicant una funció sobre un camp existent.

Per exemple, ara creareu una consulta que mostri l'any de naixement dels alumnes de la base de dades Biblioteca.

Si executeu aquesta consulta, veureu el nom dels alumnes i la data complerta de naixement. Si torneu al disseny de la consulta i modifiqueu la columna del camp DATA_NAIXEMENT de la manera com es mostra, obtindreu una columna que us mostra l'any de naixement a partir de la informació d'un camp que ja teníeu.

El primer que fareu sempre és posar el nom que tindrà el nou camp, i després, separat amb dos punts, posareu el càlcul sobre el camp o camps que sí existeixen per obtenir el camp calculat. En el vostre cas, apliqueu una funció que extreu l'any d'una data. Anomeneu la consulta Consulta de camp calculat.

Un altre exemple pot ser una taula d'articles d'una botiga que té el camp PREU, sense IVA, i voleu fer una consulta que mostri la llista dels articles amb el preu amb l'IVA. El que fareu, doncs, és crear un nou camp: PREU AMB IVA: [PREU]*1,16.

 

Continueu amb la pràctica 3.

 
Amunt