Què es pot fer amb l'Access

Objectius: L'objectiu d'aquesta activitat és presentar les possibilitats de l'Access a partir d'un exemple.

Concepte de base de dades

Segurament us haureu trobat en alguna situació en què heu d'organitzar un gran volum d'informació i no sabeu com fer-ho. Us agradaria trobar un sistema fàcil per poder accedir ràpidament a la informació que necessiteu.

Per exemple, en cas que hàgiu de gestionar les comandes dels clients d'una empresa i no disposeu d'ordinador, segur que utilitzaríeu una sèrie de fitxes en què posaríeu les dades dels diferents blocs d'informació que hi ha: els clients, els proveïdors, els productes i les dades de les comandes. Possiblement, idearíeu un sistema de control de tota aquesta informació. Doncs bé, el vostre sistema segurament funcionaria bé si el nombre de clients, comandes, etc. no fos gaire gran, ja que a mesura que creix el volum d'informació del vostre sistema, cada vegada funcionarà de manera més lenta. A més a més, un altre problema que tindria aquest rudimentari sistema és la impossibilitat d'obtenir, de manera ràpida, informació generada a partir de les dades ja escrites en les fitxes, com podria ser: llista dels clients d'un determinat país, comandes pendents de lliurament, etc.

A la societat del coneixement en què vivim el gran volum d'informació que ens arriba no ens serà útil si no tenim eines per tractar-la. Les bases de dades són aquestes eines.

El que fareu amb l'Access serà crear un arxiu que contindrà tant la informació escrita com les relacions que s'estableixen entre els blocs de dades que hi hagi.

Passeig per l'Access

Comenceu a endinsar-vos en l'entorn de l'Access, i la millor manera de fer-ho és veient les possibilitats que aquesta eina ofereix a partir de la visualització d'un exemple.

En aquesta activitat treballarem amb la base de dades NEPTU.

Gestió de comandes

Obriu el fitxer de base de dades Neptú_exemple, feu un clic al nom del fitxer (o busqueo el fitxer a la carpeta de materials) i a continuació és probable que us aparegui una finestra amb una advertència de seguretat:

també podria sortir una imatge com aquesta:

Feu clic a Abrir, s'obrirà en pantalla la base de dades indicada: Neptu_exemple.accbd, la imatge de la qual queda representada més avall.

Una altra manera d'obrir un arxiu ja creat és entrar a l'Access fent doble clic sobre l'accés directe que teniu a l'escriptori, o bé un clic sobre l'opció Access del menú Inicia.

A continuació, a la següent finestra que trobareu quan entreu dintre de l'Access, haureu de seleccionar de la llista la base de dades Neptu_exemple.accdb. En el cas que no hi sigui a la llista, fareu un clic sobre Más archivos... i després a Aceptar. Dintre de la finestra que sortirà, haureu de seleccionar l'arxiu de la carpeta on el teniu emmagatzemat.

Aquesta base de dades pot gestionar tota la informació que es genera en una empresa a partir d'una comanda.

Aquesta és la primera finestra que veureu quan entreu a la base de dades Neptú. Hi ha un llistat de botons que us permeten passar d'una finestra a una altra.

Proveu de prémer cadascun dels botons. Per tornar, tanqueu les finestres que s'aniran obrint.

Cadascuna de les finestres us permeten veure les dades corresponents a un bloc d'informació: clients, proveïdors...

A la zona Formularis trobareu uns botons que obren les següents finestres:

  • Finestra Clients i comandes: des d'aquesta finestra podeu introduir nous clients, modificar dades dels que ja hi ha registrats i consultar les comandes que ha fet cada client.

    Aquest tipus de finestra, anomenada formulari, mostra la informació introduïda amb un format dissenyat pel propi usuari. Tot formulari està associat a un o més blocs d'informació. Cada bloc d'informació és una taula.

La barra que veieu a la part inferior de la finestra s'anomena barra de registres i és la que us permet passar d'un registre a un altre, és a dir, passar d'un client a un altre.

Per veure cadascun dels elements de la barra de registres que trobareu a tots els formularis vegeu la següent animació (Tal vegada calgui que premeu PLAY al menú que surt amb el botó de la dreta del ratolí).

  • Finestra productes: podeu afegir, igual que a la finestra de clients, noves dades o consultar les que hi ha escrites.
  • Finestra Proveïdors: aquesta finestra conté la informació dels proveïdors.

A la columna Informes trobareu les finestres següents:

  • Finestra clients: aquesta finestra que veieu us mostra una llista d'informació llesta per poder-la imprimir. Únicament hauríeu de prémer el botó d'impressora que veieu al costat del botó Clients o, amb la finestra oberta, clicar el botó d'impressora de la barra d'eines, a la part superior de la finestra. Aquesta manera de mostrar la informació s'anomena informe.
  • Finestra comandes: aquest informe us mostra una llista de les comandes fetes per cada client.
  • Finestra Proveïdors i productes: mostra una llista dels productes que serveix cada proveïdor.

A la columna de Consultes trobareu una sèrie de botons que obren les finestres següents:

  • Finestra Clients per països: s'obre una finestra que us permet consultar els clients d'un país determinat.

El resultat serà el següent:

Aquest objecte de la base de dades és una Consulta, que us permetrà, com el seu nom indica, fer consultes de diferents tipus de dades de les taules que componen la base de dades.

  • Finestra Comandes pendents: aquesta consulta mostra les comandes pendents de servir.
  • Finestra Procedència dels productes: aquesta consulta mostra d'on vénen els productes: empresa proveïdora, ciutat i país. Ens permet escollir el producte a l'hora de fer la consulta.

Fixeu-vos que a l'hora d'introduir el nom del producte hem posat un asterisc al final. Això és degut al fet que hi ha diferents tipus de formatge. Si només introduïm formatge, la consulta no mostraria cap resultat.

Les dades que mostra aquesta consulta són les següents:

Per fer un passeig visual per la base de dades vegeu l'animació:

Objectes d'una base de dades

Objectius: L'objectiu d'aquesta activitat és conèixer els materials de construcció d'una base de dades. També presentarem els elements que formen la part més important de la base de dades, els fonaments que conformaran tota l'estructura del fitxer creat amb l'Access.

Estructura d'una BD

Per crear una base de dades útil per gestionar molta informació el primer que s'ha de fer és pensar quina ha de ser l'estructura més adequada. Per tant, el llapis i el paper són dues eines fonamentals per dissenyar una bona base de dades.

L'estructura d'una base de dades la configuren les taules que la componen i les relacions que s'estableixen entre elles.

Cal tenir present un concepte fonamental en la creació de bases de dades: les taules no són blocs d'informació independents, sinó que estan relacionades entre elles. Per exemple, a la base de dades Neptú la taula Productes estarà relacionada amb la taula Proveïdors. D'aquesta manera, s'aconsegueix que no hi hagi cap producte que no tingui assignat un proveïdor.

La informació emmagatzemada a les taules és la base que serveix per construir la base de dades i a partir de la qual es creen la resta d'elements que configuren el fitxer.

Cadascun d'aquests elements s'anomenen objectes de la base de dades.

Objectes d'una BD

Els objectes que componen les bases de dades creades amb Access són els següents:

Taules

Les taules són els blocs d'informació. Aquests blocs s'organitzen en columnes, cada columna conté la informació d'un camp (NomProducte, PreuUnitat...). Alhora, la informació de la taula s'organitza en files anomenades registres. Cada registre conté la informació, en aquest cas, d'un producte.

Consultes

Una consulta és un filtre que s'estableix sobre una o diverses taules, i el resultat d'aquesta filtració és un subconjunt d'informació. A l'exemple següent podeu veure únicament els productes de la categoria 5.

Formularis

Un formulari mostra per pantalla la informació d'una taula o una consulta amb un format personalitzat més còmode per editar la informació.

Informes

Un informe permet veure un llista d'informació extreta d'una o més taules o consultes amb l'objectiu de ser impresa.

Cada vegada que introduïu nova informació dintre d'un dels objectes de la base de dades, quan tanqueu la finestra que conté la informació, l'Access la guardarà directament sense que hagueu d'anar cada vegada a l'opció de guardar.

Macros

Es tracta d'automatitzar feines que són rutinàries, és a dir, quan us trobeu davant de la necessitat d'executar una mateixa ordre moltes vegades, aquesta la graveu en forma de macro i li assigneu un botó per executar-la. Aquest programa facilita la feina. Per últim, cal puntualitzar que l'Access treballa amb Visual Basic com a llenguatge de macros.

Mòduls

Són paquets de procediments (programes) que s'agrupen per formar tota una estructura complexa que escapa al contingut del present curs. Gràcies a la possibilitat d'incorporar el llenguatge Visual Basic dins de l'Access, aquest permet un elevat grau de personalització per part de l'usuari avançat.

Podeu veure tot això en forma d'animació:

Treballem amb la base de dades

Feu el següent en la base de dades Neptú_exemple:

Tanqueu el formulari Menú.

  • Observeu i anoteu el nombre de taules.

  • Observeu i anoteu el nombre de consultes.

  • Observeu i anoteu el nombre de formularis.

  • Observeu i anoteu el nombre d'informes.

  • Observeu i anoteu el nombre de macros.

  • Introduïu al formulari Proveïdors dos registres nous.

  • Comproveu que aquests nous registres apareixen a la taula Proveïdors.

  • Introduïu a la taula Productes dos registres nous.

  • Comproveu que aquests registres nous apareixen al formulari Productes.

  • Elimineu l'últim registre introduït al formulari Proveïdors.

  • Elimineu l'últim registre introduït a la taula Productes.

Creació d'una nova base de dades

Per crear una base de dades nova heu de seguir els següents passos:

  • Obriu l'Access.

  • Seleccioneu l'opció Crear un archivo nuevo a la finestra que veieu a continuació.

  • També podeu crear una nova base de dades des del menú Archivo \ Nuevo.

  • En qualsevol dels dos casos us apareixerà la següent finestra, en la qual haureu de seleccionar Base de datos en blanco.

  • Seleccioneu la carpeta on guardareu la base de dades i escriviu el nom de la base de dades, en aquest cas, Distribuidors.

  • Fixeu-vos que el nom de la base de dades no porta accents. Això no és cap errada: no és convenient posar accents, punts, guions, ñ, apòstrofes, ç, etc. en el nom dels fitxers, i tampoc en el nom dels objectes de la base de dades (taules, consultes, formularis, etc.).

Creació de taules

Objectius: L'objectiu d'aquesta activitat és introduir conceptes generals de bases de dades relacionals i dels seus objectes principals: les taules.

Conceptes generals d'una base de dades relacional

Una base de dades Access, es troba formada, en primer lloc, per les taules. Aquestes són les que permeten emmagatzemar la informació, i constitueixen l'element inicial que formen el fitxer de base de dades.

A diferència dels antics gestors de bases de dades, l'Access és de tipus relacional, és a dir, consta d'un nombre indeterminat de taules, les quals es troben relacionades entre si formant un conjunt estructurat: el fitxer mdb.

En el nostre cas, el fitxer Distribuidors.mdb es trobarà integrat per una sèrie de taules interrelacionades entre si. La figura següent ho mostra de forma esquemàtica:

En aquest punt caldria dir que, en el procés de creació d'una base de dades, hi ha unes grans etapes ben diferenciades, que serien:

  • Fase 1 o de disseny previ: aquesta seria una etapa en la qual no cal més que paper, llapis i pensar molt bé què voleu que faci la vostra base de dades.

  • Fase 2 o de creació de l'estructura de la base de dades. Un cop heu clarificat les idees, us posareu a treballar amb l'Access: creareu les taules, amb els seus camps necessaris, i establireu les relacions entre les taules. L'estructura la tindreu feta. Fins que no es troba completa, és recomanable no passar a la següent, ja que haver de rectificar a posteriori sempre pot crear-vos molts problemes.

  • Fase 3 o de millora: en aquesta part, es crearan les consultes, formularis, informes i macros que completaran el vostre fitxer per fer-lo més còmode i més útil per treballar.

Taules: elements principals

En aquest apartat tractareu les taules i els conceptes que s'hi relacionen.

Per definir què és una taula, cal dir que és una estructura en forma de quadrícula que consta de files i de columnes dins de les quals s'inclou la informació. La següent imatge mostra que cada fila es correspon a un registre i cada columna, a un camp:

En aquest cas concret, podeu veure què seria una taula de les quatre províncies de Catalunya. Aquesta constaria de dos camps o columnes, que serien: Codi_província i Nom_província, respectivament. D'altra banda, podeu veure que conté quatre registres, cadascun dels quals conté el nom de la província i un codi identificatiu.

Com es creen les taules

Un cop que ja heu après què són i perquè serveixen les taules, es tracta de saber com es fa per crear-les i quin mètode és millor seguir.

Quan comenceu amb la creació d'una nova base de dades, la pantalla general d'Access que tindreu serà semblant a aquesta imatge:

A cop d'ull es pot veure que no hi ha cap taula creada i que l'únic botó que teniu actiu és el de Tabla1: Tabla , per tant, caldrà traballar-hi.

 

Tal com es pot apreciar, hi ha una sèrie de possibilitats per triar:

  • Vista hoja de datos: si trieu aquesta opció, automàticament obtindreu en pantalla la taula feta i llesta per introduir-hi dades, per tant no es pot controlar res del seu procés de creació, la qual cosa no la fa gaire recomanable. L'aspecte que tindria la taula un cop creada seria aquest:

  • Vista diseño: si escolliu aquesta opció podreu personalitzar la taula al vostre gust: podeu posar el nom dels camps, especificar el tipus de camp que serà cadascun, i també afegir-hi comentaris (que es visualitzaran en la barra d'estat quan introduïu dades en la taula). Dins de cada camp també podreu establir unes propietats personalitzades. La imatge següent mostra la finestra en què es pot fer tot això.

és més reconamanable utilitzar l'opció de disseny, perquè permet especificar millor tots els detalls.

  • Importar tabla

  • Vincular tabla

Les dues últimes opcions serveixen per aprofitar taules externes i incorporar-les dins de la nostra base de dades.

Creació de les taules de la base de dades Distribuïdors

Distribuïdors és una base de dades d'una empresa que es dedica a la distribució de tot tipus d'electrodomèstics a diferents establiments de venda al detall arreu de Catalunya.

Un cop oberta la nova base de dades Distribuïdors, i mitjançant el botó Nuevo, heu de triar l'opció Vista diseño, i començareu a crear aquestes taules.

Aquí hem col·locat una animació que mostra com s'ha fet la primera de les taules, la de Productes. Un cop l'hàgiu vista, podreu fer les altres que es plantegen:

Ara que comenceu amb la creació de les taules, interessaria seguir, per evitar-vos problemes posteriors, les següents premisses: en els noms de les taules i dels camps inclosos, evitareu l'ús dels espais en blanc, els accents, i ho escriureu tot en majúscula. Si seguiu aquests passos, us estalviareu un munt de possibles problemes posteriorment.

  • PRODUCTES:

    CODI_PRODUCTE

    NOM_PRODUCTE

    CODI_PROVEIDOR

    PREU_UNITAT

    ESTOC

    ES FABRICA?

    FOTO

    CARACTERISTIQUES

  • ESTABLIMENTS:

    CODI_ESTABLIMENT

    NOM_ESTABLIMENT

    PERSONA_CONTACTE

    ADRECA

    CP

    POBLACIO

    PROVINCIA

    TELEFON

    CORREU_ELECTRONIC

  • PROVEIDORS:

    CODI_PROVEIDOR

    NOM_PROVEIDOR

    PERSONA_CONTACTE

    ADRECA

    CP

    POBLACIO

    PROVINCIA

    TELEFON

    CORREU_ELECTRONIC

  • COMANDES:

    CODI_COMANDA

    CODI_ESTABLIMENT

    DATA_COMANDA

    DATA_ENTREGA

  • VENDES:

    CODI_COMANDA

    CODI_PRODUCTE

    CODI_VENEDOR

    QUANTITAT

    DESCOMPTE

Els camps que ha d'incloure cadascuna de les taules són els que figuren en la llista anterior. Raona quin tipus de camp posaràs a cadascun d'ells. La següent imatge mostra quins són els tipus de camps existents d'entre els quals hauràs de triar el més adequat. Si en dubtes, escull el que creguis més adient.

Quan al final de la creació de cadascuna de les taules us demani si voleu establir un camp clau, de moment direu que no.

Des del mode disseny de la taula podreu, sempre que vulgueu, canviar els noms dels camps, els tipus de camps, i també les seves propietats. Tot i que és possible, es recomana que un cop hàgiu passat a la fase de millora amb la creació dels formularis, consultes, informes, etc., es facin les mínimes modificacions possibles; així us estalviareu molts i molts problemes. Quan les relacions entre taules estiguin fetes, us impedirà fer canvis si no les trenqueu.

Tipus de camps

Objectius: L'objectiu d'aquesta activitat és conèixer els diferents tipus de camps i quin és més convenient crear en cada cas.

Els punts que es desenvoluparan en aquesta activitat són:

Tipus de camps

En el moment de crear una taula i d'anar afegint els diferents camps, heu de pensar quines dades seran les que voleu escriure dins de cada camp. Un cop ho teniu clar, haureu de triar allò que sigui més apropiat.

La següent imatge mostra el mode disseny d'una taula. A la columna de l'esquerra es pot veure un camp anomenat CODI_PRODUCTE, que és el que es troba seleccionat en aquest moment. A la segona columna, la de Tipo de datos, s'ha seleccionat Texto.

Per tant, els diferents tipus de camps que podeu triar són aquests:

Ara explicarem en quins casos convé utilitzar un tipus de camp o un altre.

Què vol dir cada tipus de camp

Fem una ràpida descripció dels diferents tipus de camps en el mateix ordre en el qual surten en el desplegable:

  • Texto: aquest és conegut també com alfanumèric. Contindrà quansevol tipus de dades, principalment text, però també aquelles xifres amb què no heu de fer cap mena de càlcul numèric. Així, exemples de camps tipus text són: DNI, CP, CODI_PRODUCTE, CODI_PROVEIDOR, TELEFON, etc. És un dels més utilitzats. Per defecte, és de 50 caràcters, però caldrà sempre adequar-lo al seu contingut: per exemple, donar-li 50 a un camp DNI és una inutilitat que us farà ocupar espai innecessari.

  • Memo: és un camp que conté grans textos, és a dir, un camp en el qual voleu escriure molta informació. El camp tipus text pot tenir fins a 255 caràcters màxim (50 per defecte), i quan vulgueu escriure'n més, cal fer un camp Memo. Exemples de camps Memo podrien ser: Currículum d'un empleat, Característiques tècniques d'un producte, etc.

  • Número: aquest camp està pensat per introduir xifres amb les quals després és possible fer diferents tipus de càlculs, com sumatoris, mitjanes, valor màxim i mínim, etc. Exemples d'aquest tipus de camp serien: Unitats en estoc, Quantitat de la comanda, etc. També hi ha molts casos en què us veureu obligats a fer un camp numèric quan és un camp relacionat amb una taula que tingui un camp comptador. En aquest tipus de camps, la propietat Tamaño del campo és diferent, i varia entre: Byte (0 a 255), Entero (-32.768 a 32.767), Entero largo (-2.147.483 a 2.147.483.647), Simple i Doble (aquests dos amb valors més grans). Cal dir que l'Entero largo serà un dels més utilitzats.

  • Fecha/Hora: tal com diu la paraula, contindrà dades temporals que podran ser de dia/mes/any (data) o de hora/minut/segons (hora) i els seus formats variaran en funció d'això. Els exemples serien: Data de naixement, Data de comanda, Hora d'entrada, Hora de sortida, etc.

  • Moneda: és un camp molt semblant al numèric, però la diferència principal és que el càlcul és molt més exacte amb aquest que amb el numèric. Els exemples serien: Import del rebut, Preu d'un producte, etc.

  • Autonumérico: aquest és l'anomenat també camp comptador: és una variant automàtica de camp numèric, perquè, per cada registre nou que s'afegeix, va augmentant els seu valor en una unitat. Cal dir que no és sempre real el nombre total de registres i el que marca el comptador, doncs si s'esborren registres, els números intermedis no es reaprofiten (sí els del final si es fa una compactació de la base de dades).

  • Sí/No: és l'anomenat camp lògic. Aquest pot contenir només dos valors, el vertader i el fals, el sí i el no, el 0 i el -1. Camps exemples podrien ser: Prestat?, Pagat?

  • Objeto OLE: aquest camp permet contenir fitxers com documents, elements gràfics, etc.

  • Hipervínculo: aquest camp contindrà adreces de correu electrònic o adreces web. És un intent d'integrar l'Officce dins dels entorns de moda: Internet.

Modificar i completar l'estructura d'una taula

Ara revisareu una de les taules creades en la base de dades Distribuidors i li donareu un tipus de dades adequat.

Haureu de seguir aquests passos:

  • Obriu la base de dades Distribuidors des de la ubicació on la vau posar. Obtindreu una pantalla semblant a aquesta:

  • Reviseu que els camps de la taula Productes tenen aquests tipus de dades:

  • Per últim, per deixar la taula acabada, establireu uns comentaris o descripcions que us poden ser útils després. Aquests comentaris es visualitzaran a la barra d'estat més endavant, en el moment en què estigueu introduint dades a la taula. Vegeu l'animació que ho mostra:

  • Feu el mateix amb la resta de taules de la base de dades Distribuïdors, és a dir, modifiqueu, si creieu que cal, els tipus de dades assignats als camps i afegiu alguna descripció.

Propietats dels camps

Objectius: L'objectiu d'aquesta activitat és conèixer les propietats dels camps.

Tipus de camp i propietats

En la pantalla en mode disseny d'una taula, podeu observar que si feu clic en un o altre camp, la part baixa de la pantalla va variant. Aquesta part és la que mostra les propietats de cada camp.

Segons el tipus de dades assignat a cada camp, les propietats poden variar. A continuació es fa una explicació de cadascuna d'elles per poder completar el disseny de les taules d'una forma més acurada.

Propietat Tamaño del campo i Lugares decimales

En principi, caldria diferenciar els tipus de camps. Concretament es parlarà dels tipus text i dels numèrics.

Text: en aquest tipus de camp, s'hi poden incorporar fins a 255 caràcters, però, per defecte, seran 50. Es tracta d'ajustar al màxim la mida perquè les dades ocupin el mínim espai possible.

Numèric: en aquest cas, hi ha aquestes modalitats en funció del que ocupen i dels valors que poden contenir. La taula següent ho detalla:

Configuració Valors que pot incloure Decimals Ocupa
Byte 0 a 255 0 1 byte
Entero -32.768 a 32.767 0 2 bytes
Entero Largo -2.147.483.648 a 2.147.483.647 0 4 bytes
Simple -3,4 X 10^38 a 3,4 X 10^38 7 4 bytes
Doble -1,797 X 10^308 a 1,797 X 10^308 15 8 bytes

El resum de tot això i el que realment ens importa saber és que normalment amb les modalitats fins a l'Entero largo en tindreu més que suficient. La modalitat Entero largo és la que ens surt per defecte en la creació dels camps numèrics. En els casos dels camps relacionats amb altres taules, si l'altre costat de la relació és un camp comptador, la utilització d'aquesta mida serà obligada per poder establir la relació. En cas de treballar amb decimals, haureu d'escollir la modalitat Doble.

També hi ha la propietat de Lugares decimales, que indica les posicions decimals utilitzades per mostrar les xifres numèriques. Té dues opcions:

  • Auto: configuració predeterminada, mostra els que s'han determinat a la propietat de Formato.

  • 0 a 15: els dígits de l'esquerra del separador decimal es mostren tal com s'hagi especificat en la propietat Formato.

Propietat Formato

És la propietat que configurarà com s'ha de mostrar el camp. Tal com passa en la propietat anterior, també ofereix unes variants segons el tipus de camp. A més de les predefinides, l'usuari podrà definir el seu propi format personalitzat.

La següent taula mostra les diferents modalitats existents:

Tipus dada Format Comentari
Numèric General
Moneda
Fijo
Estándar
Porcentaje
Científico
La informació es mostra tal com l'escriu l'usuari.
Mostra el punt de milers.
Presenta un dígit amb almenys 2 decimals.
Punt de milers i 2 decimals.
Multiplica el valor per 100 i mostra símbol %, 2 decimals.
Ús de la notació científica estàndard.
Data/Hora General

Larga
Mediana
Corta
És la predeterminada i pot mostrar l'hora i la data per separat o totes dues a la vegada.
Agafa la configuració del tauler de control de l'ordinador.
Com l'exemple: 06-Abr-04
Segons el que hi hagi configurat al tauler de control.
Sí/No Sí/No

Verdadero/
Falso
Activado/
Desactivado
Configuració predeterminada. Aquest camp pot mostrar els valors 0 = No i -1 = Sí.
Falso = 0 i Verdadero = -1.

Desactivado = 0 i Activado = -1.

També hi ha la posibilitat de crear els nostres propis formats. Així, cal dir que l'estructura d'aquest codi té quatre seccions:

  • Per quan el nombre és positiu.

  • Per quan és negatiu.

  • Per quan el seu valor és 0.

  • Per quan no conté cap valor (és buit).

També cal saber que hi ha uns signes per crear els formats:

  • La , (coma) s'utilitza com a separador decimal.

  • El . (punt) s'utilitza com a separador de milers.

  • 0 (zero) és el marcador de dígits, mostra el valor 0 si no hi ha cap valor en aquesta posició.

  • # un altre marcador de dígits, mostra el valor o res si és buit.

  • % multiplica el valor per 100 i afegeix el signe % al final.

Cal aclarir que alguns dels caràcters anteriors vénen fixats per la configuració del vostre ordinador, concretament els separadors decimals i de milers els determina mitjançant la configuració del Windows (configuració regional del tauler de control).

Ara ja podeu donar uns exemples personalitzats sabent totes aquestes premisses prèvies:

Exemple Explicació
[azul]#.###,00;[rojo]-#.###,00 Mostrarà els valors positius en color blau, amb punt de milers i amb dos decimals. Els negatius, amb signe - i amb color vermell.

[azul]#.###,00;[rojo]-#.###,00;"-";[rojo]"No hi consten dades"

Aquest segon és similar a l'anterior, només que, quan el valor del camp sigui zero, mostrarà un guió i, quan no hi hagi cap contingut, mostrarà el text en color vermell: "No hi consten dades".

"Comanda nº "#.##0 Només teclejant el número de comanda 1000, el camp mostrarà el textual Comanda nº 1.000

En els camps de tipus text, el format té dues parts:

  • Quan conté text.
  • Quan no conté res.

També haureu de tenir en compte els valors dels següents signes:

  • Espais en blanc: es mostren com espais literals.
  • Text entre cometes: es presenta literalment, tal com estigui escrit.
  • !: obliga el contingut del camp a la dreta de l'expressió.
  • @: mostra el contingut del camp on situeu aquest signe.
  • >: converteix a majúscules.
  • <: converteix a minúscules.

Ara ja podeu definir-ne de personalitzats:

Exemple Explicació
[azul]@;[rojo]"No hi ha dades" Converteix en blau el que s'escriu i, si no hi poseu res, surt en vermell el text: "No hi ha dades".
!"D. "@ Sortirà el tractament D. davant del nom que escriviu per teclat

Propietat Máscara de entrada

Permet definir un format per a l'entrada de les dades en els camps, així s'aconsegueix que tota la informació continguda al camp sigui homogènia. També permet la simplificació de l'entrada de dades, perquè omple uns caràcters automàticament i estalvia feina.

El programa Access conté una sèrie de màscares predefinides que interessaria provar per veure quines són més interessants. Per fer-ho, des del disseny de la taula, feu clic al camp en què voleu crear la màscara, i després, cliqueu a la propietat Máscara de entrada. El botó de la dreta del tot , us obrirà un assistent per veure les màscares que us poden interessar.

La següent imatge mostra la pantalla d'aquest assistent:

Seria recomanable provar-les totes, són interessants i útils.

Per crear màscares personalitzades cal tenir en compte una sèrie d'elements previs:

models de màscares

Exemples de màscares personalitzades:

Exemples Explicació
(900) - 900.00.00 Per un telèfon. El parèntesi sortirà sense haver-lo de teclejar. El primer 9 permet posar o número o espai en blanc. Els dos 0 següents obliguen a introduir un número. El parèntesi de tancar i el guió sortiran sols, i la resta de 9 i 0, tal com s'explica al començament.
>L<??????????????????;0 La L obliga a introduir lletra. El signe > transforma la primera lletra en majúscules. El signe < corverteix, a partir de la segona lletra, en minúscula. El signe ? permetrà la introducció de lletres o d'espai en blanc, només. El 0 final vol dir que voleu emmagatzemar també els valors de la màscara.
90/>L<LL/0000;1 Per una data, el primer 9 deixa posar espai en blanc. El 0 obliga a posar número. El signe / apareixerà sol. El >L obliga a posar lletra i la transformarà en majúscula. El <LL obliga a posar dues lletres més i les convertirà en minúscules. Els 0000 obliguen a introduir quatre dígits numèrics per a l'any. L' 1 final obligarà a guardar només els valors introduïts per teclat i no els de la màscara.

Propietat Título

Té menys importància. Serveix per mostrar en l'encapçalament del camp un rètol diferent al nom del camp. És a dir, en el mode d'introducció de dades, es veurà el títol a sobre de la columna enlloc de veure el nom del camp.

Propietat Valor predeterminado

En molts casos, us serà útil que un valor sempre surti com a predeterminat en un camp. Després vosaltres podreu canviar-lo per un altre, però, si d'entrada una majoria dels registres el tenen igual, us estalviarà feina el fet que ja surti escrit.

Un exemple podria ser posar Barcelona com a població, o posar la funció =Fecha() en el de préstec d'un llibre (equival a la data del dia actual). Així, un exemple podria ser, per a la data de devolució d'un préctec: =Fecha()+30, que us donaria la data d'un mes després del dia actual.

Propietat Texto i Regla de validación

Aquestes dues són bastant interessants, doncs podem posar una condició (regla de validació) i en cas que aquesta no es compleixi, que no deixi introduir les dades incorrectes en el camp i que ens avisi amb una finestra que nosaltres definim (text de validació).

Per establir la regla podeu treballar amb una sèrie d'operadors (=, <, >, &, Y, O, Como...), també amb identificadors (noms de camps, com [data d'alta]...), funcions (Fecha, Suma...), literals (100, "Barcelona", #12-01-04#...) i constants (verdadero, falso, , No, Nulo...).

Segons això, podreu crear uns exemples com aquests:

Exemples Explicació
>=#01/01/2009# Només admetrà dates a partir del primer dia de l'any 2009 (les dates van sempre entre #data#).
Entre #01/01/2009# Y 01/01/2009# Validarà només dates dins de l'any 2009.
Entre #01/01/2001# Y Fecha() Validarà les dates entre el primer dia de gener de 2001 i el dia actual.
Entre 1,20 Y 2,20 Per valorar un camp, com Mida d'un producte.

En el cas que la condició establerta no es compleixi, caldria posar un avís. Aquest s'escriu dins del Texto de validación. Així, per al penúltim exemple dels anteriors, podríeu escriure: "Has d'escriure dates a partir del començament de l'any 2001 fins a l'actulitat!". La finestra que segueix mostra el resultat d'introduir una data errònia en el camp:

Propietat Requerido

Aquesta propietat és la que defineix l'obligatorietat o no d'introduir dades dins del camp. En algun cas ens pot interessar que no ens deixi el contingut del camp buit, i que ens obligui a escriure alguna dada per poder continuar.

Indexació de camps

L'indexat vol dir que l'Access faci una espècie de còpia de les dades d'una taula ordenades pel camp que vosaltres li dieu. Així, si, per exemple, en un taula feu moltes recerques de la informació a partir del camp Codi Producte, interessaria que féssiu un indexat per a aquest camp; d'aquesta forma, les recerques seran molt més ràpides. Tampoc no en podeu abusar, perquè si poseu molts indexats, el procés de treball de la base de dades serà més lent, ja que ha de guardar les dades de les diferents ordenacions que marca cada índex.

Les possibilitats d'indexats que permet l'Access són:

Per tant, de les possiblitats de la finestra:

  • No: sense cap mena d'indexació creada.

  • Sí (Con duplicados): per fer un indexat que permeti duplicar les dades. Per exemple, pels cognoms de la persona de contacte.

  • Sí (Sin duplicados): aquest cas no pot permetre duplicats. Per exemple, seria per un camp tipus DNI. Els camps clau (Codi producte, Codi client, etc.) i els comptadors tenen aquest tipus de forma obligada.

Establir les propietats de la taula Productes

Ara ve la fase d'aplicació de tots els coneixements explicats en aquesta activitat.

  • Obriu el vostre fitxer Distribuidors.mdb i aneu al disseny de la taula Productes. Dins d'aquesta pantalla, seguiu aquests passos explicats camp a camp:

    Nom del camp                      Propietats a modificar

    CODI_PRODUCTE                 Tamany: 4

                                          Format: majúscules

                                          Títol: Codi producte

                                          Indexat: Sí (sense duplicats)

    NOM_PRODUCTE                  Títol: Nom producte

    PREU_UNITAT                       Format: euro, amb dos decimals

                                          Títol: Preu unitari

    CODI_PROVEIDOR               Tamany: 4

                                          Títol: Codi proveïdor

    ESTOC                                    Sense decimals

    CARACTERISTIQUES            Títol: Característiques

  • Apliqueu als camps de la resta de taules les propietats que considereu adequades.

Camps clau

Objectius: L'objectiu d'aquesta activitat és conèixer el concepte de camp clau d'una taula.

Indexació dels camps d'una taula

Si voleu que en una taula hi hagi algun camp que mai es pugui repetir en una de les seves dades, podeu convertir-lo en indexat sí, sense duplicats. Exemples d'aquest tipus de camps, podrien ser: un DNI en una taula de persones, un codi d'alumne en una taula d'alumnes, un codi de llibre en una taula de llibres, i qualsevol camp tipus comptador. Això és un aspecte que us interessarà, perquè quan voleu diferenciar les dades d'una persona de totes les altres, sempre caldrà tenir un concepte que sigui realment únic i irrepetible: d'aquesta forma la base de dades tindrà una integritat.

En definitiva, caldria dir que la forma de no repetir els registres és identificar-los per un camp irrepetible, el qual sempre tindrà un indexat sense admetre duplicats: en el moment que vosaltres doneu d'alta un nou registre, si per equivocació voleu donar-li el mateix codi que un que ja existeix prèviament, l'Access us avisarà que hi ha repetició i us impedirà donar d'alta el registre que infringeixi aquesta premissa.

Quan establiu un camp del tipus autonumèric o comptador, automàticament es crea amb un indexat del tipus sense duplicats.

El camp clau, què és i per a què serveix

En la gran majoria de les taules que creeu amb l'Access us interessarà tenir un camp que no es repeteixi mai, per evitar errades. Així, si teniu un mateix treballador donat d'alta dues vegades, si teniu un mateix producte, un mateix client, etc., això no us portarà més que a cometre errades de tot tipus.

En aquest punt cal fer dues precisions:

1. No és obligatori tenir el camp clau en una taula, perquè hi ha vegades que no l'utilitzeu per res.

2. També cal aclarir que, en alguns casos, el camp clau pot ser de més d'un camp alhora. Serien irrepetibles les combinacions de tots dos, però per separat es podrien repetir. Un ús força comú d'això es fa a les taules que es creen per establir una relació n a n; normalment es fan dos camps que són clau tots dos alhora.

El botó que us permet accedir-hi és aquest: , i un cop establert, aquest mateix símbol es podrà veure a la pantalla del disseny de la taula a la part esquerra del nom del camp, tal com es pot apreciar en aquesta imatge parcial del disseny de la taula Productes:

El camp clau d'una taula és aquell que en cap cas podeu repetir i que també us impedirà duplicar els registres. Per tant, la utilitat d'aquests camps clau és:

  • Identificar els registres com a únics i evitar errades i duplicació de la informació.
  • Establir les relacions entre les taules.

La animació següent mostra com es fa per crear el camp clau a la taula Productes:

Segons el que es diu en aquesta animació, podeu pensar quins seran els camps clau de cadascuna de les taules de la vostra base de dades de Distribuidors.

Creació dels camps clau

La llista dels camps que cal crear com a clau dins del fitxer Distribuidors de cadascuna de les taules seria aquesta:

Nom de la taula El camp clau Tipus de camp
PRODUCTES CODI_PRODUCTE Text
COMANDES CODI_COMANDA Autonumèric
ESTABLIMENT CODI_ESTABLIMENT Text
PROVEIDORS CODI_PROVEIDOR Text
VENDES CODI_COMANDA Numèric
CODI_PRODUCTE Text

Fixeu-vos que la taula Vendes té dos camps que són clau alhora. Aquesta taula farà les funcions de taula connectora per establir una relació de n a n.

Relacionar taules

Objectius: L'objectiu d'aquesta activitat és conèixer el concepte de relacions entre taules i els tipus de relacions existens.

Introducció a les relacions: conceptes previs

Entendre el concepte de relació entre taules és fonamental per comprendre la filosofia del programa Access.

La tendència inicial de qualsevol usuari quan fa el disseny d'una base de dades és crear poques taules i cadascuna d'elles amb un nombre excessiu de camps. L'usuari que desconeix el funcionament de les bases de dades relacionals així ja queda satisfet.

Però si ho penseu bé, aquesta forma de fer les coses us aporta una comoditat inicial i efímera, i per contra, una incomoditat permanent a partir del moment que comenceu a treballar amb la base de dades. Per tant, cal que penseu una mica abans de posar-vos a treballar.

El motiu de fer diverses taules enlloc de fer-ne una de grossa és que la base de dades resulta, d'aquesta forma, molt més àgil i manipulable. Penseu en un exemple d'una base de dades on les dades dels proveïdors, dels client, dels productes, etc., es trobessin en una mateixa taula: la feina de donar d'alta un nou registre seria interminable, duplicaríeu molta informació, ocuparíeu molt d'espai innecessari i inútil, i també podríeu cometre moltes errades d'escriptura.

Vegeu-ho amb un altre exemple:

Esteu donant d'alta dades personals, per exemple, de clients d'un banc. Si us interessa tenir apuntat també el nombre d'habitants que té la població dels vostres clients (de cara a campanyes de marketing, per exemple), us podeu adonar del següent problema: la dada del nombre d'habitants la repetiu cada vegada que escriviu el nom de la població del client. Això us crea una sèrie de problemes afegits:

  • Us podeu equivocar a l'hora d'entrar les dades.

  • Esteu ocupant un espai innecessari i la informació és redundant.

  • Si teniu una taula amb molts registres, introduir aquesta dada seria molt tediós.

  • Si al cap d'uns quants anys hi ha un canvi del cens, seria molt complicat fer els canvis a tots els registres.

Solucio: Crear dues taules, una de dades de la persona i un altra de dades de les poblacions, i després relacionar-les totes dues mitjançant un camp comú Codi de ciutat. D'aquesta forma, senzilla, eviteu tots els desavantatges abans esmentats.

D'aquesta manera, us estalvieu haver de donar d'alta un mateix concepte llarg (un nom, una descripció, etc.) moltes vegades i substituir-lo per un concepte curt (un codi) que us farà estalviar espai i també evitar errades en la base de dades.

Què necessiteu per fer les relacions

Per establir les relacions necessiteu tenir dues taules amb un camp compartit. Aquest camp no és una condició indispensable que tingui el mateix nom, això no importa, el que sí realment és necessari és que tingui dades del mateix tipus. De totes maneres, el fet que els camps que s'han de relacionar tinguin el mateix nom a les dues taules, us pot facilitar la feina.

Així, a l'hora d'establir les relacions podreu jugar amb aquest tipus de camps:

  • Text amb text
  • Numèric amb numèric
  • Autonumèric amb numèric

Normalment els camps dels altres tipus no són correctes per establir les relacions, ja que no són camps claus de les seves taules respectives, sinó que són els que afegeixen informació addicional.

Un altre aspecte que cal destacar és que la mida dels camps també ha de ser igual. En els camps de tipus numèric relacionats amb camps de tipus comptador, cal que, com a mínim, la seva mida sigui Entero largo. En cas contrari, no podreu establir la relació.

També necessiteu tenir un camp sense possibilitat de duplicació en la taula d'on parteix la relació, és a dir, tenir un camp clau . Si no és així, la relació serà inconsistent i provocarà errades.

Els tipus de relacions

Un cop vista la necessitat de crear relacions entre taules, repasseu totes les possiblitats que us ofereix el programa Access.

Un cop ja teniu almenys dues taules, heu de pensar que entre elles es podrien arribar a establir fins a tres tipus diferents de relacions, de les quals n'haureu de triar una sola, que haurà de ser la més apropiada:

1.- Relació 1 a n (ó n a 1) Representada per aquest símbol:
2.- Relació 1 a 1 Representada per aquest símbol:
3.- Relació n a n Representada per aquest símbol:

Abans de saber quin tipus de relació hi pot haver entre dues taules, cal mirar de fer el raonament des de la primera a la segona, i després invertir l'ordre i fer-ho des de la segona a la primera. Així, segons les respostes que obtingueu, hi haurà aquestes modalitats de relacions:

  • La primera modalitat, la 1 a n, és la que s'anomena d'un a varis o amb integritat referencial. Es pot afirmar que és la forma ideal de fer les relacions i a la que heu de tendir sempre que es pugui. Un exemple de relació 1 a n seria entre la taula Proveidors i Productes, perquè un producte pot tenir un proveïdor, i un proveïdor pot tenir diversos productes. Això vol dir que és una relació 1 a nn a 1, que seria el mateix). Si es donés el cas que un producte pot tenir diversos proveïdors alhora, estaríeu en aquest cas amb una relació n a n.

  • La segona modalitat, la 1 a 1, apuntada s'anomena d'u a u. Es dóna quan voleu partir una taula per separar algunes dades que tenen entre elles certes característiques comunes i, d'aquesta manera, deixaríeu les taules més petites i manejables. Un exemple podria ser una taula amb dades comercials d'un client i una segona amb dades bancàries: un client té unes dades bancàries i, alhora, unes dades comercials.

  • La tercera modalitat, la n a n, es l'anomenada varis a varis. Aquest tipus de relació s'estableix mitjançant la creació d'una taula intermèdia entre les dues inicials i s'establiran dues relacions 1 a n entre les dues taules inicials dels extrems i la central de nova creació. Un exemple d'això podria ser una relació entre una taula de productes i una taula de comandes: un mateix producte ha pogut formar part de diverses comandes i una comanda pot tenir diversos productes. Aquest raonament us dóna una relació n a n.

Com es fa una relació

Ara que ja sabeu la teoria de les relacions ha arribat l'hora de passar a la pràctica. En aquest apartat estudiareu com es fa el procés d'establir una relació entre dues taules. Per fer l'explicació utilitzareu el vostre exemple dels Distribuïdors, i concretament ho fareu entre les taules Proveidors i Productes.

El punt de partida serà localitzar el botó de relacions: situat a la barra d'eines estàndard. Un cop activat, se us mostrarà aquesta finestra:

A partir d'aquí, escolliu les taules amb què vulgueu establir les relacions, en el nostre cas Proveidors i Productes: seleccioneu i premeu Agregar (un doble clic sobre el nom de la taula fa el mateix efecte).

Un cop incorporades totes dues taules a la finestra de relacions, tindreu un quadre per a cadascuna. En les dues imatges següents, a la part superior es veu tal com queden les taules acabades d'agregar a la finestra de relacions. Seria interessant arrossegar per les vores per poder conèixer tots els camps. La segona imatge mostra les taules amb tots els camps a la vista: d'aquesta forma treballareu més còmodament.

Les imatges mostren, a la part superior del requadre, el nom de la taula, i dins del requadre tots els camps. El camp clau de cada taula apareix en un color més fosc que la resta de camps, la qual cosa us permet diferenciar-los fàcilment: CODI_PROVEIDOR i CODI_PRODUCTE.

Raonament de la relació: per establir la relació correctament, heu de pensar que un producte no té més que un proveïdor, i un proveïdor té, o pot tenir diversos productes possibles a la venda, obteniu com a conclusió que hi ha una relació 1 a n. És a dir, un proveïdor (costat 1) pot tenir diversos productes (costat n) i no al contrari.

Per tant, per poder establir la relació, caldrà que feu clic al camp CODI_PROVEIDOR de la taula Proveidors i l'arrossegueu fins a situar-lo a sobre del camp CODI_PROVEIDOR de la taula Productes. Un cop fet això, obtindreu aquesta finestra:

Ara haureu de seleccionar la casella Exigir integridad referencial perquè el tipus de relació sigui de la modalitat 1 a n. Quan la marqueu, la finestra quedarà així:

Ara només us faltarà clicar al botó Crear i la relació ja serà del tipus 1 a n. El procés s'ha acabat aquí.

Per últim, un cop feta la relació, el resultat visual que obtindreu serà aquest:

Ja heu creat una relació 1 a n entre les dues taules. Només us queda desar la feina feta i tancar la finestra de relacions.

Si ho voleu veure en forma d'animació. Aquesta animació simplifica tot el procés que s'explica més amunt.

Com explicació addicional, a sota s'amplien les altres opcions que ofereix la finestra de relacions.

Ampliació de les opcions de la finestra de relacions

Un cop activat el botó Exigir integridad referencial, també podreu seleccionar les dues caselles de sota, i d'aquesta forma, fer que els camps relacionats s'actualitzin i s'esborrin automàticament els uns amb els altres.

Si polseu sobre el botó d'ajut situat a la part superior dreta de la finestra i l'arrossegueu sobre les opcions anterios, us informa del següent:

Establiment de les relacions en la base de dades Distribuidors

En aquesta part més pràctica, caldria establir les relacions entre totes les taules de la vostra base de dades Distribuidors, tal com s'ha explicat més amunt. De cara a fer una feina més uniforme, s'han posat tots els noms de les taules i també dels camps en majúscules i s'han evitat els espais en blanc i els accents per estalviar-vos possibles problemes posteriors. Així, la feina que es faci ha de tenir aquest aspecte:

Nom de la taula 1 Camp relacionat Nom de la taula n Camp relacionat
PROVEIDORS CODI_PROVEIDOR PRODUCTES CODI_PROVEIDOR
PRODUCTES CODI_PRODUCTE VENDES CODI_PRODUCTE
COMANDES CODI_COMANDA VENDES CODI_COMANDA
ESTABLIMENTS CODI_ESTABLIMENT COMANDES CODI_ESTABLIMENT

Abans de mirar la imatge de sota, caldria que féssiu una reflexió per veure quin tipus de relació tenen les taules abans esmentades. Un cop fet el raonament, en la imatge inferior podreu comprovar la solució a les relacions i com quedaria la finestra un cop fetes totes elles.

El resultat final de totes les relacions hauria de ser semblant a aquest:

Fixeu-vos que la taula Vendes té dues claus alhora. D'aquesta manera s'aconsegueix que faci les funcions de taula connectora entre les taules Productes i Comandes i així estableixi una relació de n a n entre aquestes dues taules, ja que una comanda pot contenir diversos productes i al mateix temps un producte pot formar part de diverses comandes. Si la relació entre Productes i Comandes fos d'1 a n, un producte podria formar part de diverses comandes, però una comanda no podria tenir més d'un producte.

Ho podeu veure en forma d'animació. Aquesta animació simplifica tot el procés que hem explicat més amunt.

Empleneu uns quants registres en cadascuna de les taules de la base de dades Distribuidors.mdb.

Consultes

Objectius: L'objectiu d'aquesta activitat és introduir el concepte de consulta i treballar amb uns quants exemples.

Fitxer Neptu.mdb

En aquesta activitat treballarem amb la base de dades Neptú, que conté un extracte de les taules de la base de dades NEPTUNO.mdb que incorpora l'Access i que es pot trobar a la carpeta C:\Archivos de programa\Microsoft Office\Office\Samples.

Obriu el fitxer Neptu.mdb.

En el procés de creació d'una base de dades, introduir la informació sol resultar una feina bastant pesada i reiterativa. Aquí us heu estalviat aquest pas: ara ja podreu començar a treballar i a veure què s'hi pot fer des de l'Access.

Concepte de consulta

Una consulta és una pregunta que feu a la base de dades. Aquesta pregunta us genera una resposta que la veieu en forma d'una estructura de taula. Si guardeu la consulta, només guardeu la pregunta, però no la taula resposta. Per tant, les consultes no ocupen gaire espai a la vostra base de dades.

Mitjançant una consulta vosaltres podreu obtenir dades d'una sola taula o de vàries, de tots els seus camps o de només una part.

Es pot dir que hi ha dos grans grups de consultes: les de selecció i les d'acció. Les primeres fan filtrats de la informació o uneixen dades provinents de més d'una taula. Les segones poden generar accions sobre les dades, esborrar, modificar o fins i tot crear taules noves. Per tant, les consultes són una eina molt potent.

En la finestra de disseny de les consultes podeu veure quines són les tipologies que existeixen. Serien les que representa aquesta imatge:

Un exemple de consulta

Ha arribat la part pràctica. Fareu una consulta que us mostri les dades de la taula Clients dels clients d'Alemanya. Per tant, en aquesta consulta fareu un filtrat de la informació, ja que només voleu veure en la resposta uns clients que tenen el país en comú. La desareu amb el nom de Consulta01.

Per començar, cal anar des de la finestra principal de la base de dades a la fitxa Consultes:

Com que no n'hi ha cap de creada, la pantalla se us mostra buida. Així és que només podeu optar pel botó Nuevo. Un cop activat, obtindreu en pantalla aquesta finestra que us permetrà escollir entre diverses opcions:

La més ràpida per treballar és la primera, és a dir, Vista diseño. Així, un cop heu clicat a Aceptar, obtindreu aquesta finestra en què agregareu les taules que us siguin necessàries per fer la consulta actual. Com que només voleu saber quins clients teniu a Alemanya, no cal incloure les altres taules perquè no incloureu cap dada provinent d'elles. En tindreu suficient d'agregar la taula Clients.

Un cop agregada a la finestra de disseny de la consulta, la pantalla que obteniu us queda així:

Ara es tracta d'escollir els camps que vulgueu que es mostrin a la resposta de la consulta, passant-los des de la taula superior als espais inferiors, on diu Campo. Ho podeu fer de diferents formes:

1. Fent doble clic al nom del camp, a la taula.

2. Arrossegant el camp de la taula a les caselles de sota.

3. Fent clic a la part inferior en el quadre de text de la línia Campo.

Ara es tracta de baixar els següents camps que mostra la imatge:

Amb això li heu dit que voleu veure les dades només del IdClient, del NomEmpresa, del Pais, del Telefon i del Fax, però només d'aquells que el criteri equival a Alemanya, és a dir, només els clients d'Alemanya.

La pregunta està feta, ara mitjançant el botó executeu la consulta i obteniu aquest resultat:

La desareu mitjançant el botó .

Li donareu el nom de Consulta01.

Aquesta és la vostra primera consulta.

També podeu optar, una vegada heu seleccionat la fitxa Consultas, per fer doble clic a Crear una consulta en vista diseño. Automàticament apareixerà la finestra per escollir les taules. De fet, si ho feu d'aquesta manera, us estalviareu un pas en el procés de creació de la consulta.

Podeu veure tot aquest procés en l'animació següent:

Consultes de selecció

Objectius: L'objectiu d'aquesta activitat és l'estudi de les consultes per anar-vos familiaritzant amb les anomenades consultes de selecció. Es tracta de practicar i aprendre mentre es fan exemples.

Tipologies bàsiques de consultes: selecció i acció

Aquesta imatge mostra els diferents tipus de consultes que hi ha, les quals es resumeixen en dues varietats principals que són: de selecció i d'acció.

Les consultes de selecció no modifiquen les dades originals de les taules o de les altres consultes que teniu. Fan un filtrat de la informació i mostren allò que li demaneu.

Les consultes d'acció poden arribar a canviar les dades de les taules, afegint-ne de noves, modificant-les, esborrant-les, etc. Les modalitats, que podeu veure a la imatge, són: Consulta de actualización, Consulta de creación de tabla, Consulta de datos anexados i Consulta de eliminación.

Una altra modalitats de consulta, que no modifica les dades de les taules, és la Consulta de referencias cruzadas.

Una consulta la podeu veure de tres formes, a les quals podeu accedir-hi des del botó : aquest botó el trobeu a la part esquerra de la barra d'eines dels formularis quan en teniu un d'obert. Si cliqueu sobre la fletxa, es desplega aquest menú:

La Vista diseño seria la que us permet crear la consulta mitjançant la visió de les taules i del ratolí, sense haver d'escriure cap mena de codi. Seria aquesta imatge.

Quan executeu la consulta, aquesta es veu en Vista hoja de datos:

I de forma automàtica, una consulta feta des de la finestra de disseny genera el codi SQL, així, en el cas concret d'aquesta consulta, el codi creat és aquest:

Altres consultes també es poden crear només des de la finestra de l'SQL (Standard Query Language), que és un llenguatge de programació estàndard dins de l'entorn de les bases de dades.

L'animació següent explica cadascun dels elements que conté la finestra del disseny d'una consulta qualsevol.

Les consultes de selecció

Per crear les consultes de selecció ho fareu des de la finestra de disseny, que és la forma més còmoda i ràpida.

Una consulta és una pregunta que es fa a la base de dades. Així és que ara us interessarà fer aquesta pregunta:

  • Quins productes tenim a la base de dades Neptú procedents de França?

En primer lloc, penseu quins camps intervenen en la resposta a aquesta pregunta: caldria posar el IdProducte, el NomProducte i el país de procedència.

On són aquests camps? Doncs el IdProducte i el NomProducte el teniu a la taula Productes i el país de procedència és el camp Pais de la taula Proveidors.

Per tant, el que cal afegir al disseny són aquestes dues taules i els tres camps que s'han indicat. La finestra de la consulta, quedaria així:

I en el moment de la seva execució, mitjançant el botó , obtindreu aquesta resposta:

Deseu aquesta consulta amb el nom de Consulta02.

Més consultes

Ara que ja sabeu la mecànica, plantejarem diferents preguntes, a les quals heu de donar resposta mitjançant la creació de consultes:

  • Codi del producte, nom del producte i nom del proveïdor dels productes de la categoria 6. Deseu aquesta consulta amb el nom Consulta03.

  • Codi, nom, telèfon i fax del proveïdors del Canadà. Deseu aquesta consulta amb el nom Consulta04.

  • Codi de comanda i nom del client de les comandes corresponents al venedor 9. Ordeneu els registres en ordre ascendent pel camp IdComanda. Deseu la consulta amb el nom Consulta05.

Una consulta amb vàries taules

Ara que ja heu vist el procés, només cal afegir les taules i camps que desitgeu per obtenir les respostes adequades.

Exemple de consulta amb diverses taules:

Codi i nom dels productes que venem al client Alfreds Futterkiste. Els productes s'han de mostrar en ordre ascendent.

El disseny de la consulta seria com el que es veu a la imatge següent:

Fixeu-vos que només hem seleccionat els camps IdProducte i NomProducte de la taula Productes i el camp NomEmpresa de la taula Clients.

Quina és la raó perquè també apareguin les taules Comandes i Detall de comandes? Si proveu a seleccionar només les taules Productes i Clients, podreu observar que entre aquestes dues taules no hi ha relació i, en aquest cas, la resposta a la consulta seria incorrecta. La resposta només serà correcta si les taules que formen part de la consulta estan relacionades. Per aquest motiu també apareixen les taules Comandes i Detall de comandes, ja que a través seu s'estableix la relació entre Productes i Clients. Fan la funció de connectores.

La resposta a la consulta plantejada seria la que es mostra a la imatge següent:

Desarem aquesta consulta amb el nom Consulta06.

Els criteris en la consulta

Les consultes us mostren les dades d'una sola taula o de vàries. A part d'això, poden mostrar totes les dades o fer-ne un filtrat: això es fa amb els criteris.

Aquests criteris poden variar de forma segons el tipus de camp al qual es refereixen. Si us oblideu de posar aquests signes, l' Access ho farà automàticament. Així, podeu trobar:

  • Camps tipus text van entre cometes (" "), per exemple: País = "Alemanya".

  • Camps tipus data van entre # #, per exemple, data de préstec = #01/09/2009#.

  • Camps numèrics no duen cap signe a part del valor, per exemple: IdCategoria = 4

  • Els camps tipus lògic van en majúscula: per exemple: Prestat = Sí.

Dins dels criteris cal dir que també es poden fer comparacions interessants. Podeu provar-los dins de la base de dades Neptú, però no cal que els graveu. Comproveu, doncs, aquests exemples:

  • Entre #01/01/2008# Y 31/12/2008#: aquest criteri en el camp DataComanda de la taula Comandes, us donaria per resposta totes les comandes que ens han fet durant l'any 2008.

  • Entre #01/01/2009# Y Fecha(): en un camp DataComanda us donaria les comandes que ens han fet entre el primer dia de l'any 2009 i la data del dia actual (la funció fecha() dóna per resultat la data del dia en curs).

  • >120: aquest, dins d'un camp PreuUnitat del producte, us donaria per resposta només els productes amb més de 120 € de preu unitari.

  • Entre 120 Y 300: en un camp PreuUnitat mostraria els productes que tenen un preu unitari d'entre 120 i 300 euros.

  • Es nulo: aquest criteri es compleix quan el valor del registre és buit.

  • Negado es nulo: aquest és el contrari de l'anterior, quan conté alguna dada.

Cal dir que en una mateixa consulta podeu posar diversos criteris que afectin a camps diferents, i heu de pensar que primer s'executa el criteri situat més a l'esquerra.

Passeu a la part pràctica. Ara fareu les consultes de la 7 a la 10. Haureu de pensar quin criteri seria bo posar per resoldre aquestes preguntes:

  • Creareu una nova consulta i la desareu amb el nom de Consulta07. Haurà de respondre la pregunta: Quines comandes –i el nom del client– hi ha a la nostra base de dades que estiguin demanades durant l'any 2008?

  • La consulta que desareu amb el nom de Consulta08: volem saber els codis de les comandes de llagostins (és recomanable utilitzar l'asterisc quan no estem segurs del nom sencer d'una dada; en aquest cas es podria introduir "llagost*") que hagin estat demanades a partir de l'1/01/2009 fins a la data d'avui. Per tant, aquesta consulta té dos criteris situats en camps diferents.

  • La consulta que desareu amb el nom de Consulta09: volem veure el nom del producte, el nom del client i el codi de la comanda de les comandes que no han estat lliurades.

  • La consulta que desareu amb el nom de Consulta10: volem saber quins són els productes que procedeixen dels Estats Units i dels quals tenim menys de deu unitats (existències).

Condicionals, paràmetres i comodins

Objectius: L'objectiu d'aquesta activitat és ampliar els coneixements sobre les consultes. Fareu una primera aproximació a les anomenades consultes d'acció. Es tracta de veure una gran part del potencial de les consultes de l'Access.

Els condicionals Y i O

Les consultes tenen moltes variants i en aquest punt estudiareu els condicionals Y i O. En primer lloc, caldrà explicar què és això dels condicionals, i concretament, els dos que s'esmenten. Doncs bé, aquests elements són els que permeten fer comparacions entre dues condicions diferents unint-les o comparant-les entre elles.

Així, el condicional Y és el que donarà per resposta correcta aquell en què totes dues condicions siguin correctes, és a dir, s'han de complir totes dues. Per exemple, si el nombre d'unitats en existència d'un producte és més gran de 100 i més petit de 300, us donarà per resposta tots aquells productes que tinguin entre 100 i 300 unitats en existència

En el cas del condicional O, bastarà que una de les dues codicions sigui certa per donar la resposta com a correcta. Per exemple, si el nombre d'unitats en existència d'un producte és més petit de 100 o més gran de 300, us donarà per resposta correcta totes aquelles dades que estiguin per sota del 100 i també les que estiguin per sobre del 300.

Per tant, el condicional O se sol posar en vertical i el Y se sol posar en horitzontal: el primer sol afectar un sol camp i el segon més d'un camp, tot i que no sempre, tal com es veu a continuació.

Les tres imatges següents mostren com es fa per escriure un mateix criteri amb Y:

Aquestes tres consultes, són en realitat la mateixa o gairebé iguals, i representen diferents formes de fer el mateix. Caldria aclarir que el signes < i > donaran petites diferències respecte a usar Entre.. Y, perquè aquesta segona forma inclourà també els valors 100 i el 300, mentre que els signes < i > no els inclouen. Perquè l'equivalència sigui exacta entre totes dues formes, el criteri hauria de ser: >=100 Y <=300.

Anomenareu aquesta consulta Consulta11.

Ara mostrem com es pot establir un criteri O. També hi ha diferents formes:

Per tant, pel cas del criteri O, teniu les línies de sota del criteri, que l'Access interpreta com a criteri O directament, mentre que si ho troba en el mateix espai, a la dreta, ho interpretarà com a Y.

Anomenarem aquesta consulta Consulta12.

  • Ara fareu un exemple més de consulta O:

    Volem veure tots els productes procedents de França o Suècia. La desareu com a Consulta13.

  • I per últim, fareu una consulta Y:

    Volem veure tots els productes de la categoria 1 que siguin del proveïdor Exotic Liquids. Li donareu el nom de Consulta14.

Els paràmetres

Aquest nou element que ara expliquem facilita i amplia moltíssim el camp de les consultes. La raó és ben senzilla: si necesitessiu fer una consuta diferent per a cada un dels productes, o per a cadascun dels proveïdors, o per a cadascun dels països, seria un procés interminable. Els paràmetres us permeten crear una consulta base i, en el moment de la seva execució, us demanarà: "Quin producte vols?", o "Quin proveïdor vols veure?", o "Quin país de procedència?".

D'aquesta manera, una sola consulta servirà per a tots els productes, una altra servirà per a tots els proveïdors, i una tercera servirà per a tots els països de procedència.

Un paràmetre s'introdueix amb els signes "[nom del paràmetre]" i tot allò que escriviu dins d'aquests signes, serà la pregunta que us farà després la consulta en el moment de la seva execució. Vegeu-ho amb un exemple.

Així, fareu una consulta que us pregunti per un producte concret en el moment de la seva execució i que mostri a la resposta: el codi del producte, el nom del producte, el nom del proveïdor i les unitats en existència. La seva finestra del disseny seria com aquesta:

Quan cliqueu al botó d'executar la consulta , us farà una preguna, en forma de finestra emergent, que us obliga a introduir alguna dada en un quadre de text. Com es pot veure, el que abans heu escrit dins dels [], ara apareix com a pregunta dins de la finestra. Això és el paràmetre.

Si escriviu areng salat en aquest quadre de text, aquesta consulta només mostrarà aquest criteri en la resposta. Si la deseu i la torneu a executar, i en lloc d'areng salat, ara escriviu al quadre de text areng fumat, us mostrarà les dades d'aquest nou producte en pantalla.

Per tant, us permetrà fer una pregunta de qualsevol producte amb una sola consulta.

Anomenareu aquesta consulta Consulta 15.

Ara fareu uns exemples:

  • Consulta16: us haurà de preguntar pel client que ha fet comandes dels nostres productes i mostrar les dades del codi de la comanda, nom del producte, data de la comanda, quantitat demanada i preu del producte.

  • Consulta 17: us haurà de preguntar per la data de comanda dels productes i mostrar les dades del codi de la comanda, codi del client, nom del client i data d'entrega.

Comodins i paràmetres, una bona combinació

Per arrodonir més encara el tema de les consultes, podeu treballar amb els comodins, que juntament amb els paràmetres, fan que les consultes siguin un instrument molt còmode i útil.

Els comodins us permetran no haver d'escriure tota la paraula, bastarà amb escriure només el començament d'aquesta ("Alem*") per obtenir la resposta sencera. Això també serveix per als paràmetres.

Res millor que començar amb els exemples:

  • Ara creareu una consulta que us pregunti pel país de procedència dels productes i que escrivint només algunes lletres ja us doni la resposta. Ha de ser un paràmetre. Haureu de fer-la com la d'aquesta imatge:

El criteri Como [Escriu el nom del país] & "*" fa que si només escriviu A al quadre de text del paràmetre, us mostra tots els països que comencin per A. Si no sabeu com s'ha introduït el nom d'un país podeu posar, per exemple, Alem* i el resultat serà Alemanya o Alemania en cas que en algun registre estigui escrit en castellà. La desareu amb el nom de Consulta18.

  • En fareu un altre, d'exemple. En aquest cas, demaneu a la base de dades que us pregunti, en forma de paràmetre, pel nom del producte, i que mostri la data de comanda i la data d'entrega. El criteri que heu d'introduir és: Como "*"&[Escriu el nom del producte o part d'ell]&"*" al camp NomProducte. En aquest cas, com que té un * davant del [paràmetre], ho tindreu més fàcil; així, no esteu obligats a saber el començament del camp, sinó que podeu escriure qualsevol part perquè us doni la resposta que busqueu. Feu aquesta consulta i deseu-la amb el nom de Consulta19.

Amb el paràmetre també podeu posar signes de >, < entre [Posa una data] i [Posa una segona data], o Entre [Primera data] i [Segona data].

  • Per provar aquest últim tipus de paràmetre, feu una consulta que us mostri les comandes fetes entre dues dates determinades. Anomeneu la consulta Consulta20.

Què són les consultes d'acció?

Totes les variants de consultes que heu fet fins ara no feien cap mena de modificació sobre les dades originals de les taules, només heu fet filtrats segons un criteri, heu unit dades que eren en taules diferents, però en cap cas no heu modificat ni heu esborrat res.

Això canvia en les consultes d'acció de les quals farem ara una petita introducció. Per tant, es pot dir que les anomenades consultes d'acció produeixen modificacions en les dades de les taules, sigui per afegir-ne, per modificar-ne o per esborrar-ne. Segons això, es pot parlar de diferents modalitats de consultes d'acció. La següent imatge mostra diversos tipus de consultes que es poden fer amb l'Access: les 4 de la part inferior serien d'acció:

Ens referim a les anomenades:

  • De creació de taula
  • D'actualització
  • De dades annexades
  • D'eliminació

Exemples de consultes d'acció

Exemples de consultes d'acció podrien ser:

  • Consulta de creación de tabla: consulta que fa una còpia de totes les comandes entregades durant l'any anterior en una altra taula.

  • Consulta de datos anexados:afegeix les dades del primer trimestre d'aquest any a l'anterior exemple plantejat.

  • Consulta de eliminación: elimina de la taula Comandes els mateixos registres dels exemples anteriors.

  • Consulta de actualización: augmenta el preu dels productes.

Importar, vincular i exportar dades

Objectius: l'objectiu d'aquesta activitat és aprendre a importar, vincular i exportar dades.

Importar i vincular

Les dades amb les quals treballa l'Access poden provenir de fora, tant d'una altra base de dades Access com d'altres formats diferents: una taula doc del Word, un full xls de l'Excel, etc.

Les diferències entre importació i vinculació:

  • La importació fa una còpia de totes les dades d'origen, es trenca el lligam entre l'origen i la destinació, i passen a ser dades de vida independent.

  • Per la seva banda, la vinculació estableix un lligam entre l'origen i la destinació de les dades, i si es modifiquen en un dels dos llocs, la variació afectarà tots dos elements de la mateixa manera; de fet, treballeu en l'original tota la estona, des de la vinculada també.

Per accedir a aquestes funcions es fa des del menú Archivo \ Obtener datos externos \ Vincular o Importar.

Passeu a la pràctica.

  • Recupereu el fitxer EmpresaXXX.mdb i deseu-lo al vostre ordinador.
  • Obriu el fitxer.
  • Aneu al menú Archivo \ Obtener datos externos \ Importar, com es mostra en la imatge següent:
  • Un cop fet això, caldrà buscar l'origen de les dades a importar. Recupereu el fitxer EmpresaYYY.mdb, dins del qual hi ha la taula Proveidors, i deseu-lo al vostre ordinador.

  • Seleccioneu el fitxer EmpresaYYY.mdb, i premeu Importar.

  • A continuació seleccioneu la taula Proveidors i premeu Aceptar.
  • Ara ja tindreu dins del fitxer EmpresaXXX la taula Proveidors, com es mostra en la imatge següent:

Repetiu el procés amb l'opció Vincular.

  • Obriu el fitxer EmpresaXXX.mdb.
  • Esborreu la taula Proveidors amb la tecla Supr.
  • Aneu al menú Archivo \ Obtener datos externos \ Vincular, com es mostra en la imatge següent:
  • Seleccioneu el fitxer EmpresaYYY.mdb i premeu Vincular.
  • Seleccioneu la taula Proveidors i premeu Aceptar.
  • Observeu la nova taula vinculada: té una petita fletxa que indica que és una taula vinculada.

Importar d'altres formats

Ara importareu la mateixa taula, però en el format d'Excel.

  • Obriu el fitxer EmpresaXXX.mdb i esborreu la taula Proveidors.
  • Deseu el fitxer Proveidors.xls, al vostre ordinador.
  • Aneu al menú Archivo \ Obtener datos externos \ Importar.
  • Seleccioneu el fitxer Proveidors.xls i premeu Importar. S'obrirà la finestra Asistente para importación de hojas de cálculo. A continuació podeu veure la primera pantalla de l'assistent, en la qual heu de prémer Siguiente.
  • Marqueu l'opció Primera fila contiene títulos de columnas i premeu Siguiente.
  • Marqueu l'opció En una nueva tabla i premeu Siguiente.
  • En la finestra següent podeu especificar diferents opcions per als camps. Premeu Siguiente.
  • A la finestra següent marqueu l'opció Sin clave principal, encara que també podeu escollir una clau. Premeu Siguiente.
  • En la finestra següent premeu Finalizar. A continuació sortirà el missatge següent. Premeu Aceptar i ja tindreu el fitxer Proveidors.xls convertit en una taula de la base de dades EmpresaXXX.

Exportació de dades

Ara veurem com es fa el procés invers a la importació de dades: l'exportació.

Exportació a una altra base de dades:

  • Obriu el fitxer EmpresaXXX.mdb i esborreu la taula Proveidors. Tanqueu el fitxer.
  • Obriu el fitxer EmpresaYYY
  • Seleccioneu la taula Proveidors.
  • Premeu el botó dret del ratolí i en el menú contextual escolliu l'opció Exportar. S'obrirà una finestra en la qual haureu de seleccionar el fitxer EmpresaXXX, com es mostra en la imatge següent:
  • A continuació s'obrirà una altra finestra, premeu Aceptar. Amb això s'haurà acabat l'exportació de la taula Proveidors.
  • Obriu el fitxer EmpresaXXX i comproveu que conté la taula Proveidors.

Exportació a un full de càlcul de l'OpenOffice Calc:

L'Access no fa aquest tipus d'exportació directament. Per fer-la cal seguir els passos següents:

  • Obriu el fitxer EmpresaXXX.
  • Seleccioneu la taula Clients.
  • Premeu el botó dret del ratolí i en el menú contextual escolliu l'opció Copiar.
  • Obriu un nou full de càlcul de l'OpenOffice Calc. Situeu-vos a la cel·la A1 i premeu Enganxa. El resultat serà el que es mostra en la imatge següent: