Introduktion och övningar i Högskolan Trollhättan/Uddevalla Sammanställt av Ann Johansson och Gunnar Peterson 1
Innehållsförteckning Introduktion 3 Tabeller 3 Frågor 4 Formulär 5 Rapporter 6 Relationer 6 Övning 1 6 Övning 2 8 Övning 3 10 Mer om att skapa tabeller, frågor och formulär 13 Ett register för bilar och ägare 21 Skapa tabeller 21 Skapa formulär 23 Skapa frågor 26 Skapa en liten applikation 27 Skapa makro 29
Introduktion Denna del är en första inledande introduktion till databasprogrammet Microsoft Access. Här genomgås de grundläggande begreppen samt att dessa övas i 3 olika övningar. Microsoft Access är ett exempel på en relationsdatabas. Till skillnad från ett registerprogram kan Du i en databas av denna typ skapa relationer mellan olika register som gör att uppgifter kan uppdateras på flera ställen om det ändras på ett ställe. Därmed kan dubbellagringen av data ( information ) den sk. redundansen minskas. Tabeller För att skapa en databas i Access krävs det först att tabeller skapas. De är grunden i själva databasen. För att göra det så väljer Du funktionen Tabell och sedan Design. Nu är Du i ett sådant läge att nya fältnamn kan skapas. Det är bara att sätta in markören och skriva in det namn Du önskar på fältet. Alla fält har en datatyp. Denna blir automatiskt av typen text när fältet skapas men Du kan lätt välja annan lämpligare typ för fältet genom att klicka på popupmenyn. Följande typer kan du välja mellan: Text PM Tal Datum/Tid Valuta Räknare Text, dvs både bokstäver och siffertecken. Max 255 tecken. Längre texter upp till 32 000 tecken. Numeriska värden. Datum och tid. Monetära värden (sv. Kr och dyl). Ett heltalsvärde som Access automatiskt räknar upp för varje ny post som matas in. Ja/Nej Booleska värden, dvs ja eller nej, 1 eller 0. OLE-objekt OLE-objekt. Länkade eller inbäddade objekt. Det finns också möjlighet att ange olika förinställda format för de olika datatyperna. När det gäller datatypen Tal finns det följande möjligheter: Byte Heltal mellan 0 och 255. Heltal Heltal mellan -32 768 och 32 767. Långt heltal Heltal mellan -2 147 483 648 och 2 147 768 647. Enkel Tal mellan -3,4*10 38 och 3,4*10 38 med maximalt 7 värdesiffror. 3
Dubbel 1,797* 10 308 och 1,797*10 308 med maximalt 15 värdesiffror. Du kan också bestämma ett eget utseende på formateringen för datatypen Tal. Prova t ex "positivt tal"; "negativt tal"; "noll"; "Ej definierad" m.m.. Villkor Dessutom finns det möjlighet att tilldela olika egenskaper och avgränsningar på vissa typer av fält. Detta görs då i egenskaprutan som kommer upp i nederkant av tabellens designblad. Ett vanligt sådant är att man tilldelar villkor till ett fält på olika sätt. Detta sker med verifieringsuttryck och verifieringstext. Blir det fel, visar Access att ett villkor inte uppfyllts i en meddelanderuta. Några exempel på hur villkorsuttryck kan se ut: Texttyp Verifieringsuttryck Verifieringstext Tal <>0 Ange ett värde skilt från 0. Tal <100 Eller >200 Ange ej tal mellan 100 och 200. Tal Som 9#### Värdet ska börja med 9 och var fem siffror långt. Text Som "K??" Värdet ska börja med "K" och vara tre tecken långt. Datum/Tid =<#1996-01-01# Värdet ska ange datum efter 1996-01-01 Datum/Tid <Datum()+30 Datum tidigare än 30 dagar efter dagens datum. När tabellerna är skapade som Du vill ha dem och tilldelade egenskaper kan värden inmatas i databasen genom att stänga funktionen Design och välja Öppna. Då kommer Du in en tom inmatningsbild baserad på tabellen Du skapat. Det är nu bara att skriva in de uppgifter Du vill ha i databasen och tabulera mellan fälten för att få in dem. När Du är klar så stänger Du bara inmatningen. En fråga kommer upp om Du vill spara ändringarna, vilket Du ju vill om det blivit riktigt. Sedan är Dina data sparade i databasen och det går att bearbeta den och titta på olika sätt. För att göra det behöver Du skapa frågor, formulär och rapporter. Frågor Något av det mest grundläggande Du gör för att kunna få veta uppgifter om Din information i databasen är att skapa frågor. Frågor finns i olika typer och gör att Du ser uppgifterna i databasen på det sätt Du vill.? Den vanligaste typen av frågor är URVALSFRÅGOR. Genom olika kriterier kan du bestämma vilka poster och fält ur databasen som skall visas.? PARAMETERFRÅGOR är egentligen en variant på urvalsfråga där du har möjlighet att ändra vissa värden varje gång som frågan körs. 4
? KORSFRÅGOR används för att selektera ut och visa data i matrisform.? REDIGERINGSFRÅGOR används för att redigera, ta bort eller uppdatera en mängd information i olika fält och tabeller i en enda operation. Det finns fyra olika aktivitetsfrågor: 1) Tabellfråga som skapar en ny tabell utifrån en eller flera tidigare tabeller. Tabellfrågor är användbara när Du vill: -Skapa en tabell som skall exportera till andra Access-databaser. Du kanske vill ha en tabell som innehåller flera fält och lämna den till en annan avdelning att användas i deras databas. -Skapa rapporter som visar data från en viss tidpunkt. Du vill kanske göra flera rapporter på försäljning vid en viss tidpunkt. Du kan då spara informationen hur den exakt såg ut vid ett tillfälle och lagra det i en ny tabell med hjälp av en tabellfråga. Vid rapportuttag kan Du använda den nyskapade tabellen. -Göra en säkerhetskopia av databasen -Skapa en historiktabell med tidigare poster. Du kan exempelvis skapa detta innan Du väljer att ta bort gamla poster i databasen. -Förbättra resultatet av formulär och rapporter som baseras på flera tabeller eller SQLuttryck. Anta till exempel att Du vill skriva ut flera rapporter som baseras på en fråga med fem tabeller som innehåller beräknade summor. Du kan öka hastigheten genom att först skapa en tabellfråga som hämtar den aktuella informationen och lagrar den i en enda tabell. Sedan kan Du basera rapporterna på denna tabell, eller ange tabellen som datakälla för ett formulär eller en rapport i ett SQL-uttryck, så att Du inte behöver köra om frågan för varje rapport. Informationen i tabellen är dock låst när Du kör tabellfrågan. 2) Borttagningsfråga som tar bort en grupp poster från en eller fler tabeller. Borttagningsfrågor tar alltid bort hela posten. Inte bara markerade fält inom en post. 3) Tilläggsfråga som för över en grupp poster från en tabell till en annan. Om Du har fått information från en databas och Du vill få in den i Din egen utan att behöva skriva in den på nytt så använder Du lämpligen en tilläggsfråga. 4) Uppdateringsfråga som ändrar tidigare poster. Om värdet i ett fält som priset, lönen eller liknande höjs så kan Du med en uppdateringsfråga ändra data i befintliga tabeller. Formulär För att kunna presentera data ur tabellerna på olika sätt använder man sig i Access av formulär. Det finns olika typer som visar informationen olika. För att skapa formulär finns en formulärguide som hjälp. Genom att använda denna så behöver Du enbart svara på frågor om hur Du vill ha informationen presenterad och sedan skapar Access formuläret för Dig. 5
Rapporter Rapporter ur Access används för att visa informationen på ett snyggt sätt. På samma sätt som för formulär så finns det här en guide, en sk. rapportguide. Även här använder Du lämpligen denna då Du vill skapa en rapport. Det sker genom att gå in i rapportfunktionen och när Du vill skapa ny väljs guiden. Följ sedan bara denna och svara på frågorna så skapar Access självt rapporten. Relationer Genom att Access är just en relationsdatabas så är begreppet relation väsentligt. Vad det säger egentligen är att det i olika tabeller kan råda ett beroendeförhållande. Detta genom att ett fält kan ingå i olika tabeller. Genom att det är på det viset kan Du skapa ett förhållande mellan dessa så att ändrad information i ett fält endast behöver ändras en gång för att uppdatera på flera ställen i databasen. För att skapa en ralation i Access gör Du på följande vis: -börja med att Du trycker på relationsknappen -Du erhåller nu en ruta där Du kan lägga till de tabeller som finns i databasen genom att markera dem och klicka lägg till. När Du lagt till alla så klicka på stäng för att stänga dialogen och arbeta med relationerna. Tänk på att det går att lägga till samma tabell flera gånger så gör inte detta. -ta tag i det fält som skall vara 1 i en 1:M relation och dra det till den tabellen och över det fält som skall vara M i en 1:M relation. -nu kommer Du in i en dialogruta för att skapa en ralation. Här skall de två fälten som Du dragit vara markerade. Kryssa i här om Du vill ha referensintegritet. Det finns även möjlighet här att välja vilken typ av relation som det skall bli. -tryck på SKAPA för att genomföra kopplingen -Nu ser Du en linje mellan tabellerna och där mellan de fält som Du valt som relaterade. Övning 1 1. Skapa en ny ( tom ) databas med namnet BRUK.MDB. Spara den på Din enhet H:\ eller på en egen diskett a:\ 2. Skapa en ny tabell och lägg in följande uppgifter: Fältnamn Datatyp Beskrivning ID-nummer Tal En fyrsiffrig kod Namn Text Född Datum/Tid Röntgad Ja/Nej Färg Text ÄgarID Tal En tresiffrig kod, för koppling 6
till tabellen Ägare Tilldela fältet ID-nummer en primärnyckel. Spara tabellen som HUND. 3. Skapa en ny tabell enligt nedanstående fältlista och definiera en lämplig primärnyckel. Fältnamn Datatyp Beskrivning ÄgarID Tal En tresiffrig kod, för koppling till tabellen HUND Namn Text Adress Text Telefon Text Spara tabellen som ÄGARE och stäng den sedan. 4. Mata in följande i tabellen HUND: ID-nummer Namn Född Röntgad Färg ÄgarID 6588 Karo 96-10-10 Ja creme 129 1278 Teddy 95-06-05 Nej svart 176 6765 Ronnie 94-08-24 Ja sv/vit 168 4234 Billy 91-11-24 Nej lj brun 168 ( Obs! Du behöver aldrig spara gjorda inmatningar. Så fort en post är inmatad och Du går till nästa rad för att mata in nästa post sparas den automatiskt ). 5. I tabellen HUND finns tre ägare omnämnda ( 129, 176 och 168 ). Mata in dessa tre ägare med sina ÄgarID i tabellen ÄGARE. Ge dem valfria namn, adresser och telefonnummer. 6. Ändra fältstorleken i fältet Namn i tabellen HUND så att Du maximalt kan mata in 25 tecken och ange att ID-nummer och ÄgarID ska vara heltal. Stäng och spara tabellen. 7. Bestäm att fältet ID-nummer i tabellen HUND endast ska acceptera tal mellan 1000 och 9999. Spara tabelldesignen och pröva att lägga in ett nytt ID-nummer som ej uppfyller det inmatade villkoret. INDEXERA FÄLT När Du Definierar en primärnyckel skapas automatiskt ett sk. indexfält, som dessutom har kravet att det mâste vara unikt. Det får således inte finnas två poster med samma innehåll i det aktuella fältet. På detta sätt kontrollerar Du att tabellen inte innehåller några dubletter. Ibland vill man dock använda index i fält som inte ingår i primärnyckeln. Om Du använder index kommer det att gå fortare att söka i och sortera efter det aktuella fältet. Samtidigt tar det lite längre tid att uppdatera fält som är indexerade. Varje gång Du lägger till eller tar bort fält i en tabell måste indexfälten uppdateras. 7
För att ändra egenskapen Indexerat gör Du så här: 1. Öppna tabellen i designläge. 2. Markera det fält som skall indexeras. 3. Klicka i rutan Indexerat och välj önskat alternativ. 8. Indexera fälten Namn och Född i tabellen HUND. Ta sedan bort indexeringen och stäng. RELATIONER 9. Skapa en relation mellan de båda tabellerna HUND och ÄGARE, genom att koppla ihop ÄgarID i de båda tabellerna. Övning 2 1. Skapa en ny databas som heter BILREG.MDB 2. Skapa en tabell som heter BIL. Lägg in följande fält: Regnr Bilmärke Färg Årsmodell Ägarpers FPU609 Volvo Röd 93 630529 DDD809 Ford Gul 88 650213 FFF900 Ford Svart 92 620320 DET506 Saab Blå 89 750722 ABC400 Fiat Lila 85 720113 KPS123 Volvo Röd 95 651205 KYT146 Audi Gul 91 670530 Du får själv ange datatyp och beskrivning. Sätt Regnr som primärnyckel. Spara som BIL. 3. Skapa en tabell som heter ÄGARE. Lägg in följande fält: Ägarpers Enamn Fnamn Ort 630529 Snis Anders Göteborg 650213 Andersson Patrick Uddevalla 620320 Svensson Peter Trollhättan 750722 Karlsson Mikael Vänersborg 720113 Stranne Susanne Karlstad 651205 Bergman Jan Åmål 670530 Nilsson Jörgen Lysekil Ange datatyp och beskrivning. Sätt Ägarpers som primärnyckel. Spara som ÄGARE. 8
4. Skapa en relation mellan de båda tabellerna ÄGARE och BIL, genom att koppla ihop fälten Ägarpers i de båda tabellerna. Relationen skall vara 1:M ( Ägare, 1/Bil, M ). I relationsrutan kryssa i Referensintegritet, Uppdatera poster och Ta bort, samt n relation. Kopplingen skall vara 1. 5. Gör en urvalsfråga med hjälp av tabellen ÄGARE och BIL. Lägg till fälten Regnr, Ägarpers och Bilmärke. Hämta fram alla Fordbilar. Spara som Fråga Bilmärke. 6. Ändra innehållet i tabellen BIL. Följande ändringar skall göras: Alla bilar som är gula skall vara röda, och alla röda bilar skall vara turkos. Gör två uppdateringsfrâgor och lägg till tabellen BIL. Välj lämpliga fält och se villkor. Se resultatet och spara frågorna som Fråga Byta till röd och Fråga Byta till turkos. 7. Skapa en tabellfråga ( med tabellen BIL ) som skapar en tabell över alla bilar som är tillverkade innan 1990. Spara som Fråga BIL90. 8. Lägg till ett nytt fält till tabellen BIL som heter Inköpsdatum, datatyp är datum/tid. Lägg till följande poster: 95-02-16 96-03-25 94-10-31 94-11-08 96-09-20 97-01-02 96-08-20 9. Skapa en parameterfråga. Lägg till tabellen ÄGARE och BIL. Ta med fälten Bilmärke, Enamn och Inköpsdatum. Ange Dina parameterfrågor enligt följande: Ange Bilmärke ( Text ) Ange Datum fr o m ( Datum/Tid ) Ange Datum t o m ( Datum/Tid ) Spara som Parameterfråga Ägare&Bil 10. Skapa en korsfråga med hjälp av BIL och ÄGARE. Den skall visa fördelningen mellan bilmärkena. Följande fält skall tas med: 9
Regnr Enamn Bilmärke Årsmodell gruppera gruppera gruppera antal radrubrik radrubrik kolumnrub. värde Spara som Korsfråga Bil och Ägare FORMULÄR 11. Skapa ett Huvud/underformulär med hjälp av tabellerna ÄGARE och BIL. Använd dig av Formulärguiden. Ta med alla fält i respektive tabell. Välj upphöjd variant. Spara formuläret som Ägare och Bilformulär. 12. Skapa ett diagram med hjälp av Formulärguider. Ta med tabellen BIL. Välj fälten Bilmärke och Årsmodell. Gå sedan vidare och titta till sist på resultatet. RAPPORTER 13. Skapa en valfri rapport med hjälp av rapportguiden. 14. Skapa adressetiketter med hjälp av rapportguiden på tabellen ÄGARE. Spara sedan som Ägaradressetiketter. Övning 3 Följande övning bygger på databasen spel som ligger på g:\material. Kopiera denna fil till ditt hembibliotek h:\ innan du börjar att öva. När du valt att skapa en fråga måste du också välja de tabeller som du ska basera frågan på. I frågefönstrets nedre del anges de olika frågekriterierna. Detta kallas för QBE-fältet. QBE-fältets utseende ändras efter vilken typ av fråga som valts. 1. Urvalsfråga Skapa en urvalsfråga som tar med samtliga fält ur tabellen Företag. Kalla frågan för Urvalsfråga företag. Sortera efter fältet Företag. 2. Beräknade fält. Skapa en urvalsfråga som lägger till ett fält. Välj tabellen Orderdelar, Order och Företag. Ta med följande fält: Orderdelar Order DelorderID, OrderID, Produktnamn, Pris, Kvantitet Datum 10
Företag Företagsnamn Lägg till följande beräkning i en ny kolumn Fält-raden i QBE-området. Delordersumma:[Pris]*[Kvantitet]. Spara frågan som Orderdelar-F. Urvalsfråga, grupper Skapa en ny fråga baserad på Order Orderdelar OrderID, Datum Pris, Kvantitet, Ordersumma:Summa(Pris*Kvantitet) Välj Visa, Funktioner eller klicka på Summa-knappen. Välj funktionen Gruppera under fälten OrderID, Datum och Kvantitet. Välj funktionen Uttryck under det beräknade fältet. I det beräknade fältet har vi redan angivit summafunktionen, varför det räcker att ange funktionen Uttryck. Spara frågan med namnet Ordersumma-F. Skapa en ny fråga, baserade på tabellerna Företag och Order, samt på frågan Ordersumma-F. Observera kopplingen som skapas automatiskt. Dra fälten Företagsnamn och Delordersumma till QBE-området. Välj Visa, Funktioner och välj sedan funktionen Summa för fältet Delordersumma. Frågan skall beräkna hur stort belopp varje företag köpt spel för. Ge objekten namnet Försäljning per företag-f. Skapa en ny fråga baserad på Orderdelar Produktnamn, Artikelsumma:Summa(Pris*Kvantitet). Klicka på Funktioner i Visa-menyn och välj Gruppera för fältet Produktnman och Uttryck för det beräknade fältet i QBE. (Bör vara förvalda). Frågan ska beräkna hur många spel av varje sort som sålts. Spara som Försäljning per artikel-f. 3. Uppdateringsfrågor Skapa en urvalsfråga som väljer ut order under november månad. (Kopiera från Orderdelar-F, spara den nya frågan med namnet Novemberorder-F och modifiera den sedan), Placera ett kriterium under Datum, som lyder MELLAN 92-11-01 OCH 92-11-30. Sortera efter datum. Spara. Modifiera frågan Novemberorder-F till en uppdateringsfråga som ger en speciell novemberrabatt på 20% på alla order under november I Pris-fältet ange [Pris]*0,8 11
4. Tabellfråga. Gör om frågan Novemberorder-F till en tabellfråga och ange att du vill skapa en tabell med namnet Novemberorder. Klicka på knappen med utropstecknet. Kontrollera sedan att en ny tabell skapats. 5. Borttagningsfråga Kopiera frågan Novemberorder-F, denna gång som en borttagningsfråga. Ändra villkoret till order före 93-01-01. Gör om frågan till en borttagningsfråga. Kör frågan. Kontrollera att tabellen har befriats från gamla order. 12
Mer om att skapa tabeller, frågor och formulär Starta Access. Välj tom databas. Välj Tabeller i Databasfönstret och klicka på Ny. Välj Design Fyll i följande: Fältnamn Faktnr Faktdat Faktbel Datatyp Räknare Datum Valuta Skärmbilden ser nu ut som följande bild: Ange Faktnr som primärnyckel. Spara tabellen som Faktura. 13
14
Skapa en tabell med följande fältnamn och datatyper: Faktnr Tal Fältstorlek: långt heltal Artnr Tal Fältstorlek: långt heltal AngeFaktnr och Artnr som en sammansatt primärnyckel, dvs markera de båda raderna och klicka på knappen för att ange primärnyckel. Skärmbilden ser ut som följer: 15
Spara tabellen som Fakturarad. Skapa en tabell med följande fältnamn och datatyper: Artnr Artnamn Artpris Räknare Text Valuta Spara tabellen som Artikel med Artnr som primärnyckel. Visa relationsfönstret genom att klicka på knappen Relationer. Markera alla de tre tabellerna och välj Lägg till, välj sedan Stäng i dialogrutan. Skapa relationer mellan tabellerna. Klicka på Faktnr i Faktura-tabellen och dra till Fakturarad-tabellen, alltså från tabellen 1 till tabellen M. Klicka på Artnr i Artikel-tabellen och dra till Fakturarad-tabellen, alltså från tabellen 1 till tabellen M. Fyll i dialogrutan enligt följande och klicka OK. 16
Nu ser relationsfönstret ut enligt följande: Nu kan du fylla i uppgifter i de olika tabellernas datablad (eller skapa formulär där du kan fylla i). Skapa en fråga baserad på alla tabellerna. Välj Frågor och Ny i databasfönstret. Välj Frågeguiden. 17
Välj först tabellen Faktura och välj att ta med alla fälten. Välj tabellen Fakturarad och ta med fältet Artnr. Välj därefter tabellen Artikel och välj att ta med fältet Artnamn. Skapa frågan genom att svara på varje dialogruta i Frågeguiden. Frågans Datablad visas. Välj därefter Design-läge och bilden ser ut enligt följande: Stäng frågans Design-läge, välj formulär och ny i databasfönstret. Välj Formulärguiden och att formuläret skall baseras på frågan Faktura Fråga. Välj att ta med alla tillgängliga fält och klicka Nästa, följande bild visas: 18
Välj Nästa och gå igenom Formulärguidens olika dialogrutor. Formuläret skapas och ser ut enligt följande: 19
20
Ett register för bilar och ägare (Övningen är avsedd för 2.0 alt i Office 95.) I denna applikationen skall man kunna registrera bilar och dess ägare. En ägare kan ha flera bilar och en bil kan ägas av endast en ägare. Skapa tabeller Välj Ny databas i Access. Skapa två tabeller med följande tabellnamn, fältnamn och datatyper. Beskrivning kan skrivas efter eget önskemål. ÄgarID motsvaras av antingen personnummer eller organisationsnummer beroende på om ägare är privatperson eller företag. Fältnamn med fetstil anger primärnyckel. Tabell: Bilar Bilnr Text Bilmärke Text Bilmodell Text Årsmodell Text Färg Text ÄgarID Text Tabell: Ägare ÄgarID Text Efternamn Text Förnamn Text Ange Tillåt nollängd: Ja Adress Text Postnr Tal Ange indatamask: 000\ 00;; Ort Text Telnr Tal Korrigera gärna fältstorlekar för de olika fältnamnen. Nu ser databasfönstret ut enligt följande bild: 21
Skapa relation mellan tabellerna så att bilden i relationsfönstret ser ut som följande bild: Öppna tabellen ägare och skriv in ditt eget namn, adress och telefonnummer. Skriv också 22
in någon av dina kurskamrater. Skapa formulär Skapa ett formulär där du kan fylla i nya ägare. Använd formulärguiden. Välj att ta med alla fält från tabellen Ägare. Formuläret kommer att likna följande bild: Skapa också ett formulär där du kan fylla i bilar som kommer in till bildemonteringen och vilken ägare de har. Välj formulärguiden. Välj att ta med alla tillgängliga fältnamn i tabellen Bilar. Välj också att ta med alla fältnamn från tabellen Ägare, utom fältet ÄgarID. Ge formuläret namnet Bilar med ägare. Ett formulär skapas, enligt följande bild: 23
Skapa ev ett formulär där man endast kan se bilarna. Ge formuläret namnet Bilar. Skapa ett formulär där man kan se vilken ägare som äger vilka bilar. Basera formuläret på tabellen Ägare och ta med alla tillgängliga fält. Ta också med alla fält i tabellen Bilar utom fältet ÄgarID. Ett formulär med ett underformulär kommer att skapas enligt följande: 24
Fortsätt genom formulärguiden, ge formuläret namnet Bilägare. Slutför formulärguiden och följande formulär visas: 25
Registrera sedan ytterligare ett antal ägare och bilar, efter din egen fantasi. Skapa frågor Skapa en parameterfråga. Du skall kunna visa vilka personer som äger ett visst bilmärke. Välj Frågor i databasfönstret och välj Ny. Välj Design och lägg till båda tabellerna. Dra ner fälten Bilmärke, Bilmodell och Årsmodell från tabellen Bilar. Dra ner fälten Förnamn och Efternamn från tabellen Ägare. För fältet Bilmärke ange villkor: [Ange bilmärke: ] Bilden skall se ut enligt följande: 26
Stäng och namnge frågan. Öppna sedan frågan, ange ett bilmärke i dialogrutan och de ägare med det valda bilmärket visas. Skapa en fråga som visar vilka bilar som finns i olika årsmodeller. En parameterfråga kan vara lämplig där du anger vilken årsmodell du önskar. Välj Frågor i databasfönstret och Ny. Välj Design. Det räcker att du lägger till tabellen Bilar. Lägg till de fält du önskar i frågan och ange villkor för fältet Årsmodell. Stäng och spara frågan. Öppna frågan och se resultatet. Skapa en liten applikation Nu skall du skapa en liten applikation (program) med en huvudmeny som automatiskt öppnas, med hjälp av ett makro, när du öppnar databasen. Dessutom skall du skapa 27
knappar som du skall koppla till makron, för att kunna navigera mellan olika formulär och frågor. Välj Formulär i databasfönstret och välj Ny. Välj inte någon tabell eller fråga i dialogrutan, utan välj Design och OK. I formuläret ligger stödlinjer som används för att få objekt på bestämda avstånd. Den här ytan kallas för Detalj. Dra nedre högra hörnet i Detalj längst ner i fönstrets nedre högra hörn, så att det täcker hela fönsterytan. Gå över i formulärläget för att se resultatet. Gå sedan tillbaka till designläget. Ovanpå formuläret ligger det ev två mindre fönster, verktygslådan och egenskapsfönstret. Du kan ta fram dem eller ta bort dem med hjälp av knapparna i verktygsfältet. Du skall nu lägga en snygg bakgrundsfärg i formuläret. Klicka i formulärets yta och ta fram egenskapsfönstret. Kontrollera att egenskapsfönstret visar rätt text, alltså här Detalj. Rulla ner med bläddringslisten i egenskapsfönstret till raden Bakgrundsfärg. Klicka på raden, så kommer en liten knapp att visas vid sidan. Klicka på knappen så visas en större färgpalett. Välj en färg i paletten. (Färgen visas inte i designläget, utan du måste gå över i formulärläget för att se resultatet.) Du skall skapa en stor rubrik HUVUDMENY i formuläret. Klicka på etikettknappen i verktygslådan (knappen med ett stort A och ett litet a på). Dra ut en rektangel på formulärytan med musen. Skriv in texten HUVUDMENY. Klicka utanför etikettrutan. Klicka på etikettrutan igen och formatera texten med de vanliga formateringshjälpmedlen i verktygsfältet. Så här kan det se ut i designläget nu: 28
Spara formuläret med namnet Huvudmeny. Skapa makro Nu skall du skapa ett AutoExec-makro. Makrot skall startas automatiskt när du öppnar databasen, och se till att huvudmenyn öppnas. Dessutom skall det dölja verktygsfältet för formuläret. För att skapa ett makro väljer du fliken Makro i databasfönstret. Välj Ny. Makrot skall utföra instruktioner som skall skrivas in i den vänstra kolumnen. Klicka på pilen i den vänstra kolumnen. En lista med möjliga val visas enligt följande: 29
Första steget i AutoExec-makrot skall vara att öppna formuläret Huvudmeny. Välj Öppna formulär i listan. Den nedre delen av fönstret blir mer aktiv, och det föreslås att formuläret skall öppnas som formulär. Denna del av fönstret innehåller detaljer för instruktioner. I den översta raden skall formulärnamnet stå. Om du klickar på raden visas en lista med formulärnamn. Välj Huvudmeny. Låt övriga instruktionsargument vara orörda. Klicka därefter i instruktionskolumnens nästa rad och klicka på pilen så listan visas. Välj Maximera. Den tredje instruktionen skall dölja verktygsfältet i formulärläge. Detta är lite krångligare. Välj Visa verktygsfält i instruktionskolumnen. I den nedre delen av fönstret med instruktionsargument väljer du att lägga till följande: Verktygsfält Visa Formulär Nej Därefter skall du spara makrot. Just detta makro måste heta AutoExec, eftersom det automatiskt skall köras när databasen öppnas. När det gäller andra makron kan du ge dem andra namn. Provkör makrot genom att stänga databasen och sedan öppna den igen. 30
När du öppnar databasen körs makrot automatiskt. Det innebär att huvudmenyn har öppnats, utan att visa verktygsfält. Skulle du vilja gå till designläget måste du använda menykommandot Visa Design. Nu skall du skapa ett makro som återställer visningen av verktygsfält och stänger såväl databasen som Access. Välj fliken Makro och välj sedan Ny. Du skall lägga in två instruktioner i makrofönstret. Den första instruktionen skall vara Visa verktygsfält, där du skall lägga till följande instruktionsargument: Verktygsfält Visa Formulär Efter sammanhang (Verktygsfältet skall ju inte visas i alla sammanhang, utan bara när formulär visas i formulärläget.) Den andra instruktionen är Utför menykommande, där du skall lägga till följande instruktionsargument: Menyrad Menynamn Kommando Formulär Arkiv Avsluta (Du skall ju välja att avsluta programmet, makrot med sina instruktioner gör att det utförs automatiskt.) Spara makrot som Stäng Access. Provkör makrot med knappen med utropstecknet i makrolägets verktygsfält, eller använd Kör-knappen i databasfönstret/makroläget. Öppna Access och databasen igen. Nu skall du koppla det nya Stäng-makrot till en knapp på huvudmenyn. Se till så att du är tillbaka i huvudmenyn. Gå till designläget (om det inte redan är aktivt). Se till att verktygslådan visas (om inte så så klicka på knappen för Verktygslådan, i verktygsfältet). Klicka på knappen för kommandoknapp i Verktygslådan. (Om Kommandoknappsguiden dyker upp välj Avbryt. ) 31
Rita upp en knapp (en liten rektangel) i huvudmenyn, så stor som du vill ha den. (När knappen är markerad syns handtagen, så att du kan ändra storlek på den. Du kan också förflytta den med den svarta handen.) Se till att knappen är markerad, och titta på egenskapsfönstret. (Knappens namn syns längst upp i egenskapsfönstrets namnlist.) Ändra knappens titel. Detta kan du göra antingen genom att ändra namnet direkt på knappen, eller också kan du ändra titel i egenskapsfönstret. Ge knappen namnet Stäng Access. Rulla neråt i egenskapsfönstret med hjälp av rullningslisten, till Vid klickning. Markera raden Vid klickning. Klicka på pilknappen. Välj makrot Stäng Access. Gå över i formulärläget och provkör knappen. Nu skall du göra fler knappar som gör att du lätt kan navigera mellan olika formulär och frågor, endast genom att klicka på en knapp. Du skall göra ett makro som öppnar formuläret Bilägare. Välj fliken Makro i databasfönstret och välj Ny. Välj instruktionen Öppna formulär. Lägg till följande i fönstret för instruktionsargument: Formulärnamn Bilägare Ge makrot namnet Öppna bilägarformulär. Du skall skapa ett makro som stänger aktuellt formulär och går tillbaka till huvudformuläret. Välj fliken Makro i databasfönstret och välj sedan Ny. Välj instruktionen Utför menykommando. Lägg till följande instruktionsargument: Menyrad Menynamn Kommande Formulär Arkiv Stäng 32
Nästa instruktion är Öppna formulär, vilket skall vara Huvudmeny. (Även om detta formulär redan är öppet, så säkerställer detta makro att huvudmenyn hamnar överst på skärmen.) Spara makrot med namnet Stänga formulär. Nu skall du skapa en knapp för vardera makrot. Se till att designläget för Huvudmenyn är aktivt. Välj knappen för kommandoknapp i verktygslådan. Rita upp en knapp i Huvudmenyn. Välj Avbryt i kommandoknappsguiden. Ge knappen titeln Öppna bilägarformulär. Bläddra fram till egenskapen Vid klickning i egenskapsfönstret. Välj makrot Öppna bilägarformulär. Gå över till formulärläge för Huvudmeny och testa knappen. Gå till formuläret Bilägare och välj designläge. Skapa en kommandoknapp och ge knappen titeln Stänga formulär. Koppla knappen till makrot Stänga formulär. På samma sätt kan man skapa makron för att öppna övriga formulär. Du kan också skapa en knapp på Huvudmenyn som öppnar frågan Ange bilmärke. Gratulerar! Nu har du skapat din första applikation! 33