28.07.2013 Views

Start med Access 7-97.pdf

Start med Access 7-97.pdf

Start med Access 7-97.pdf

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

32,-<br />

<strong>Start</strong> <strong>med</strong><br />

KnowWare<br />

<strong>Access</strong> 7/97<br />

Kåre Thomsen<br />

www.KnowWare.dk 1. udgave


2<br />

KnowWare<br />

<strong>Start</strong> <strong>med</strong> <strong>Access</strong> 7/97<br />

Kåre Thomsen<br />

1. udgave, 2. oplag, mar. 1998<br />

© Copyright 1997, 1998 Kåre Thomsen og<br />

KnowWare, mm@knowware.dk – www.knowware.dk<br />

ISBN 87-90027-69-8<br />

Published by KnowWare<br />

KnowWare er en ide, en hensigt om at hjælpe! Et af formålene er at videregive letforståelig viden til en<br />

rimelig pris og der<strong>med</strong> vise, at det kan lade sig gøre i modsætning til, hvad mange forlag mener og gør - og<br />

hvis det bliver en succes, tvinges andre forlag til at gøre det samme!<br />

KnowWare startede April 1993 <strong>med</strong> det første PC-hæfte. De fleste af KnowWares hæfter er de mest solgte<br />

af sin slags. Flere af titlerne findes på stadig flere sprog.<br />

Bøger<br />

Else Brundbjerg: “Kvinden, Kætteren, Kunstneren Karen Blixen”, 300 s., 40,- (solgt over 24.000) – den<br />

eng. udgave fås til 60,- hos alle boghandlere<br />

Venlig hilsen Michael Maardt, KnowWare<br />

Sidste nyt, planlagte titler, diverse tips, meninger, liste over forhandlere, titler i andre lande osv. finder du<br />

på KnowWares homepage<br />

<strong>Start</strong> <strong>med</strong> <strong>Access</strong> 97 - access97.doc - 17-08-01 - 03:31<br />

www.knowware.dk


Øvelse 1: Adressekartotek ............................... 5<br />

At udvikle et system ......................................... 8<br />

Systemet FIRMA........................................ 8<br />

Sådan vil arbejdet skride frem....................... 9<br />

Planlægning................................................... 9<br />

Analyse af dine data ................................... 9<br />

Brain storm ............................................... 10<br />

Model over databasen............................... 10<br />

Planlægning af selve tabellerne ................ 11<br />

Kundekartoteket........................................ 11<br />

Fakturaer................................................... 12<br />

Øvelse 2: Oprette databasen og den første<br />

tabel ............................................................ 13<br />

Ekstra forklaringer om feltegenskaber...... 15<br />

Indtaste data i tabellen................................. 16<br />

Autoformular ............................................ 16<br />

Øvelse 3: Tabellerne til faktura .................... 18<br />

Tabellen fakturahovede............................... 18<br />

Tabellen Fakturalinje .................................. 19<br />

Øvelse 4: Relationer ....................................... 20<br />

Øvelse 5: Forespørgsel til sortering .............. 22<br />

Øvelse 6: Kombinere tabeller........................ 23<br />

Øvelse 7: En forespørgsel der kan regne...... 24<br />

KnowWare<br />

Øvelse 8: Et nyt og bedre kundekartotek......26<br />

Slette en post .............................................27<br />

Se posterne i tabelform..............................27<br />

Automatisk telefonopkald............................28<br />

Træt af skyerne?...........................................29<br />

Øvelse 9: Skærmbillede til fakturaer ............30<br />

Forbedring af formularen.............................31<br />

Øvelse 10: Sum i nyt felt .................................34<br />

Opsummerende forklaringer ........................35<br />

Øvelse 11: Kombinationsboks........................37<br />

Udskrift af en faktura ................................39<br />

Øvelse 12: Rapporter ......................................39<br />

Kundeliste ....................................................39<br />

Sortering og gruppering ............................40<br />

Rapport over fakturering..............................41<br />

Øvelse 13: Udskrift af én faktura ..................42<br />

Forespørgslen...............................................42<br />

Rapporten.....................................................44<br />

Knap til udskrift af faktura...........................46<br />

Øvelse 14: Systemets menu.............................47<br />

Menuformularen ..........................................47<br />

En makro, der automatisk åbner menuen.....49<br />

Genvejen til dit system.................................50<br />

Øvelse 15: Brevfletning i Word......................50<br />

Øvelse 16: Lav dit eget opslagsværktøj .........52<br />

Øvelse 17: En avanceret forespørgsel............54<br />

Efterord ........................................................56<br />

<strong>Start</strong> <strong>med</strong> <strong>Access</strong> 97 - access97.doc - 17-08-01 - 03:31<br />

2


3<br />

Forord<br />

Forord<br />

<strong>Access</strong> er både et program for ”almindelige” edb-brugere og et professionelt udviklingsværktøj.<br />

Det bruges til at udvikle databaser – det vi i daglig tale kalder ”systemer”. Du kan f.eks. udvikle<br />

dit eget fakturasystem eller et effektivt kartotek..<br />

Dette hæfte følger dig på vej som helt ny bruger af <strong>Access</strong>, udanset hvilken baggrund du<br />

starter <strong>med</strong>. Følger du hæftets øvelser fra først til sidst, vil du ende <strong>med</strong> at have udviklet et fakturasystem.<br />

Det kan bruges til at holde styr på kunder og fakturering. Ved at gennemgå øvelserne<br />

har du fået et eksempel, som forhåbentlig kan arbejde videre <strong>med</strong> selv - også selv om du ønsker<br />

dig et helt andet system.<br />

<strong>Access</strong> er “nemt”. Programmet inviterer til, at du bare sætter dig ved pc’en og går i gang. Og<br />

det skal du sådan set også bare gøre, for det er vældig sjovt. Du kan “nemt” lave tabeller,<br />

skærmbilleder og funktioner. Men hvis du vil udvikle et godt system, skal der en smule mere til:<br />

Planlægning og systematik. Derfor giver hæftet dig en introduktion til arbejdsmetoden i databaseudvikling.<br />

Det er op til dig selv, hvor meget du vil lægge i dette. Og det kommer selvfølgelig<br />

an på, hvor store ambitioner, du har <strong>med</strong> dit system.<br />

Hvad får du ud af hæftet?<br />

Du får overblik over, hvordan <strong>Access</strong> virker. Du vil desuden få et indblik i, hvordan du så at<br />

sige løser et problem – det vil sige, hvordan du kommer fra ”jeg ønsker mig et fakturasystem”<br />

til at se det for dig som en database. Du bliver dog ikke ekspert i databasedesign ved at læse<br />

dette hæfte. Vil du vide mere om design af relationsdatabaser, må du i gang <strong>med</strong> den tungere<br />

litteratur.<br />

Hæftets eksempel tager udgangspunkt i, at du laver et system til en enkeltstående pc. Vil du<br />

udvikle til flerbrugermiljøer, kommer du blandt andet ud i overvejelser om sikkerhed og vedligeholdelse.<br />

Disse emner berøres ikke her i hæftet, som alene er en introduktion til at udvikle<br />

selve systemet.<br />

Sådan bruger du hæftet<br />

<strong>Start</strong> <strong>med</strong> Øvelse 1 og kør derudaf. Når du er færdig <strong>med</strong> sidste øvelse, skulle du gerne have<br />

fremstillet dit fakturasystem – og forstået, hvordan du videre kan arbejde <strong>med</strong> programmet.<br />

Hvad skal du kunne på forhånd?<br />

Du behøver ikke have nogen forhåndsviden om (relations)databaser. Men: For at få et rigtig<br />

godt udbytte af hæftet, er det en fordel, hvis du er nogenlunde vant til at arbejde <strong>med</strong> mindst ét<br />

Office program i forvejen. Jeg forestiller mig, at du fx allerede bruger Word 97 og måske Excel.<br />

Hvis du trænger til at opdatere din viden, kan du finde KnowWare hæfter om både Word, Excel<br />

og Windows.<br />

Kåre Thomsen<br />

Jeg er 39 år og arbejder free-lance <strong>med</strong> edb-undervisning, systemudvikling og dokumentation.<br />

Lejlighedsvis holder jeg foredrag om brugergrænseflader, som jeg interesserer mig særligt for.<br />

Jeg har desuden skrevet et par hæfter om Excel. Sammen <strong>med</strong> min kollega Pia Hardy har jeg<br />

skrevet et øvehæfte om Windows 95.<br />

<strong>Access</strong> 7 eller <strong>Access</strong> 97?<br />

Du kan bruge dette hæfte, hvad enten du har <strong>Access</strong> 7 (også kaldet <strong>Access</strong> 95) eller <strong>Access</strong> 97.<br />

Nogle få kommandoer har forskelligt navn i de to versioner. I disse tilfælde står <strong>Access</strong> 7 kommandoen<br />

i parentes. Arbejdsmetoden til systemudvikling i de to versioner er den samme.<br />

<strong>Start</strong> <strong>med</strong> <strong>Access</strong> 97 - access97.doc - 17-08-01 - 03:31


Forord<br />

God arbejdslyst<br />

Jeg ønsker dig god fornøjelse <strong>med</strong> dit kreative databasearbejde. Jeg har selv masser af fornøjelse<br />

af det. Lad mig advare dig: Hvis det går dig, som det er gået mig, kan du få flimmer for øjnene.<br />

Jeg bliver så optaget af processen, at jeg glemmer at holde pauser. Med røde, irriterede øjne og<br />

hovedpine som resultat. Det er simpelt hen umuligt at forlade skærmen, når man er “lige ved” at<br />

have løst sit problem. Så husk det nu: Rejs dig fra arbejdet hver halve time, kig ud på solskinnet<br />

- og lav øjne bøj, øjne stræk.<br />

Notation<br />

⇒ Der refereres til taster <strong>med</strong> speciel skrift.<br />

Eksempel: DELETE.<br />

<strong>Start</strong> <strong>med</strong> <strong>Access</strong> 97 - access97.doc - 17-08-01 - 03:31<br />

Kåre Thomsen, september 1997<br />

⇒ Nogle gange skal du holde en tast nede, mens du trykker på en anden. Det vil for eksempel<br />

blive beskrevet således: Tryk CTRL+DELETE.<br />

⇒ Når du skal vælge en menukommando, står det også <strong>med</strong> speciel skrift, fx menukommandoen<br />

Filer, Åbn.<br />

⇒ Der refereres til navne, felter og værktøjer, du ser på skærmen, <strong>med</strong> en speciel skrifttype.<br />

Eksempel: Tilføj.<br />

⇒ Når du selv skal skrive noget, står det <strong>med</strong> speciel skrift. Eksempel: Tast: Firma.<br />

⇒ Når der er forskel på en menukommandoen i <strong>Access</strong> 97 og <strong>Access</strong> 7, står den sidstnævnte i<br />

parentes. Eksempel: Vælg menukommandoen Vis, Designvisning (Formulardesign). Det<br />

samme gælder værktøjsknapper: Klik på Visning (Forespørgselsvisning).<br />

4


5<br />

Øvelse 1: Adressekartotek<br />

I denne indledende øvelse lærer du følgende:<br />

Adressekartotek<br />

• en nem måde at oprette en database på<br />

• at oprette et adressekartotek til at holde styr på navne, adresser, telefonnumre og andre oplysninger<br />

om kunder, <strong>med</strong>lemmer eller kontakter<br />

Øvelsen er ment som en første smagsprøve for at lære <strong>Access</strong> at kende. Her arbejder du ved<br />

hjælp af indbyggede guider i <strong>Access</strong>. Denne første database er ikke en del af det fakturasystem,<br />

du siden kommer til at udvikle.<br />

Sæt dig godt til rette foran din pc og tænd for den. Efter opstarten af pc’en befinder du dig i<br />

Windows 95 programmets Skrivebord.<br />

Vælg <strong>Start</strong>-knappen i Windows 95’s Proceslinje nederst i skærmbilledet. Vælg menupunktet<br />

Programmer, og vælg herefter Microsoft <strong>Access</strong>.<br />

<strong>Access</strong> starter nu, og en første dialogboks beder<br />

dig tage stilling til, hvad du vil gøre. Vælg Tom<br />

database og klik OK.<br />

Tip: Hvis du vælger Guiden Database, vil systemet<br />

bede dig vælge en skabelon – f.eks.<br />

Adressekartotek – og ud fra nogle få retningslinjer,<br />

som du giver undervejs – oprette et helt<br />

system for dig.<br />

Du skal i den næste dialogboks tage stilling til, hvor databasen skal<br />

gemmes, og hvad den skal hedde. Udvælg den ønskede mappe, skriv<br />

det ønskede navn på databasen i feltet Filnavn (fx Adresser) – og<br />

klik på Opret.<br />

Dette er databasevinduet – kontroltårnet i dit system. Herfra kan du åbne, oprette, slette<br />

eller ændre alle systemets objekter. Dit databasesystem indeholder endnu ingen objekter.<br />

Ved at klikke på fanebladene vælger du, hvilken type objekt, du vil arbejde <strong>med</strong>: Tabel,<br />

forespørgsel, formular, rapport, makro eller modul.<br />

En database består af én eller flere tabeller – det er dem, der kan indeholde data. Derfor<br />

skal du starte <strong>med</strong> at oprette en tabel.<br />

Klik på knappen Ny.<br />

<strong>Start</strong> <strong>med</strong> <strong>Access</strong> 97 - access97.doc - 17-08-01 - 03:31


Adressekartotek<br />

Vælg Guiden tabel og OK. Vent et øjeblik, mens guiden gør sig klar.<br />

Vælg knappen Privat (Personligt i <strong>Access</strong> 95) forneden i venstre side<br />

af dialogboksen. Vælg Adresser i kolonnen Eksempeltabeller.<br />

Vælg derefter AdresseID i kolonnen Eksempelfelter. Klik på værktøjet<br />

> for at få AdresseID over i kolonnen Felter i den nye tabel.<br />

Vælg nu Fornavn i kolonnen Eksempelfelter – og klik på ><br />

På samme måde vælger du felterne Efternavn, Adresse, Postnr, Bynavn og Telefon<br />

(privat). Klik til sidst på knappen Udfør.<br />

Værs’go! Din tabel er oprettet! <strong>Access</strong> har automatisk gemt den <strong>med</strong> navnet<br />

Adresser. Inden du begynder at indtaste data, er det en god idé at oprette en<br />

brugervenlig formular. Klik på listepilen ved værktøjet Nyt objekt... og vælg<br />

Autoformular.<br />

Så er din formular klar – men den skal først gemmes. Vælg Filer, Gem. I dialogboksen<br />

foreslår <strong>Access</strong> navnet Adresser. Klik på OK for at acceptere dette.<br />

Nu er du klar til at indtaste oplysninger.<br />

Udfyld skærmbilledet. Når du vil<br />

oprette én til, klikker du på værktøjet<br />

Ny post for neden i vinduet (findes også<br />

i værktøjslinjen).<br />

Ny post<br />

Trekanterne for neden i vinduet bruges til at blade i de indtastede navne.<br />

Du kan gå direkte til første eller sidste post, og du kan blade til næste eller forrige.<br />

<strong>Start</strong> <strong>med</strong> <strong>Access</strong> 97 - access97.doc - 17-08-01 - 03:31<br />

6


7<br />

Adressekartotek<br />

Indtast nogle flere navne og adresser. Når du har nogle stykker, er du klar til at<br />

udføre en søgning. Klik på værktøjet Filtrer efter formular (eller vælg menukommandoen<br />

Poster, Filter, Filtrér efter formular).<br />

Formularen tømmes nu for oplysninger. Skriv: John i feltet Fornavn. Klik på<br />

værktøjet Anvend filter (eller vælg menukommandoen Filtrér, Anvend filter/sortering).<br />

Du kan nu blade i alle, der hedder John til fornavn.<br />

Slå filteret fra igen ved at klikke på værktøjet Fjern filter (eller ved at vælge<br />

menukommandoen Poster, Fjern filter/sortering).<br />

Til sidst skal du udskrive adresselisten – dvs. oprette en rapport. Først går du<br />

tilbage til databasevinduet på denne måde: Klik på værktøjet Databasevindue.<br />

Klik på fanebladet Rapporter – og på knappen Ny.<br />

Vælg Autorapport – tabelformat. Angiv i feltet<br />

for neden, at data kommer fra tabellen Adresser.<br />

Klik på OK. Din navneliste er nu klar til udskrift:<br />

Klik på værktøjet Udskriv (eller vælg menukommandoen<br />

Filer, Udskriv, OK).<br />

Gem rapporten ved at vælge menukommandoen<br />

Filer, Gem, OK. Her<strong>med</strong> accepterer du <strong>Access</strong>’<br />

forslag om at kalde rapporten Adresser.<br />

Gå tilbage til databasevinduet ved at klikke på værktøjet Databasevindue.<br />

Luk databasen <strong>med</strong> menukommandoen Filer, Luk.<br />

Åbn systemet igen <strong>med</strong> menukommandoen Filer, Åbn database. Vælg Adresser.mdb<br />

(eller blot Adresser - det kommer an på opsætningen i Windows 95) og klik på Åbn.<br />

Klik på fanebladet Formularer og dobbeltklik på Adresser. Du er nu klar til at oprette<br />

nye navne eller søge...<br />

Luk formularen igen <strong>med</strong> menukommandoen Filer, Luk.<br />

Du er nu tilbage i databasevinduet. Vælg fanebladet Rapporter. Dobbeltklik på Adresser.<br />

Din adresseliste vises nu - klar til udskrift. Luk adresselisten igen <strong>med</strong> menukommandoen<br />

Filer, Luk.<br />

Du er nu igen tilbage i databasevinduet. Luk databasen <strong>med</strong> menukommandoen Filer,<br />

Luk.<br />

Dette var en første introduktion til <strong>Access</strong>. Hvis du kun har brug for et meget enkelt system, er<br />

dette måske nok. Men vil du udvikle et ”rigtigt” system <strong>med</strong> flere sammenhængende tabeller og<br />

flere funktioner, skal det gribes an på en lidt anden måde. Det handler resten af hæftet om...<br />

<strong>Start</strong> <strong>med</strong> <strong>Access</strong> 97 - access97.doc - 17-08-01 - 03:31


At udvikle et system<br />

At udvikle et system<br />

Inden vi kaster os over <strong>Access</strong>, skal vi gøre os klart, hvad vi vil lave. Så du må først læse lidt<br />

her, jeg skal nok gøre det kort.<br />

Jeg har lagt mærke til, at mange skriftlige vejledninger i brugen af <strong>Access</strong> - ikke mindst kursusmateriale<br />

fra diverse edb-firmaer - tager et meget teknisk udgangspunkt. Dvs. man lærer alt<br />

muligt om tabeller, joins, forespørgsler og referenciel integritet, inden man som nybegynder har<br />

den ringeste chance for at vide, hvad alle de fine ord skal bruges til. Det skyldes, at man kunne<br />

snakke fra nu af og til år 2000 om alle de professionelle faciliteter, <strong>Access</strong> byder på. Men jeg<br />

vælger altså en anden vej her: Vi starter <strong>med</strong> at tænke på målet, dvs. et system, vi vil fremstille,<br />

og så ser vi undervejs, hvad vi får brug for. Denne fremgangsmåde skulle gerne skåne dig for<br />

uforståelige forklaringer.<br />

Systemet FIRMA<br />

Her i hæftet vil vi som eksempel udvikle et system, som vi giver navnet Firma. Det skal holde<br />

styr på kunder og fakturaer. Firmaet kunne være et rengøringsfirma eller hvad som helst andet -<br />

selvfølgelig <strong>med</strong> visse justeringer for de enkelte firmaers vedkommende. Hvis du selv driver et<br />

lille firma, vil eksemplet være lige i øjet til dig. Hvis det er noget helt andet, du har brug for, vil<br />

eksemplet forhåbentlig alligevel være lærerigt. Principperne i systemet her vil kunne anvendes<br />

på alle mulige systemer.<br />

Databasesystemet Firma skal give dig følgende fordele:<br />

Du har alle dine kunder i et alfabetisk ordnet kartotek, hvor du nemt kan finde én eller flere<br />

frem, fx for at finde telefaxnummeret eller bruge navn og adresse til et brev i Word.<br />

Du skriver fakturaer på en meget nem måde: Du vælger kundenavnet i et “rullegardin”, så er<br />

du sikker på, at navn og adresse altid er korrekt. Moms, totalbeløb mv. regnes automatisk ud.<br />

Du kan <strong>med</strong> andre ord skrive en faktura meget hurtigt og være sikker på, at den bliver korrekt.<br />

Alle oplysninger om, hvad du har faktureret, er til at søge i. Du kan fx finde ud<br />

af, hvad du har tjent på en bestemt kunde eller i et bestemt postdistrikt.<br />

Når systemet er færdigt, opretter du en genvej på dit Skrivebord, så du altid hurtigt<br />

kan komme ind i det.<br />

Systemets menu skal være noget i denne stil - og det bliver noget af det sidste, du laver. Vi<br />

starter nemlig “indefra” - <strong>med</strong> at organisere data - og så arbejder vi os “udefter”.<br />

<strong>Start</strong> <strong>med</strong> <strong>Access</strong> 97 - access97.doc - 17-08-01 - 03:31<br />

8


9<br />

At udvikle et system<br />

Fakturering Bruges til at indtaste og udskrive en faktura.<br />

Kunder Bruges til at oprette, ændre eller finde en kunde. “Kunde” skal forstås<br />

i videste forstand. Det kan også være leverandører og andre kontakter.<br />

Kartoteket vil kunne bruges til brevskrivning i Word. Herunder brevfletning,<br />

dvs. skrivning af enslydende brev til forskellige personer/firmaer.<br />

Faktureringsrapport Udskriver en rapport over din fakturering.<br />

Kundeliste Laver en alfabetisk udskrift af alle dine kunder <strong>med</strong> telefonnumre mm.<br />

Lyder det indviklet? Gå bare videre - og vend eventuelt tilbage hertil en anden gang.<br />

Sådan vil arbejdet skride frem<br />

For at du på forhånd har en fornemmelse af, hvordan vi vil gøre, skal du have en oversigt over<br />

arbejdets forskellige faser:<br />

1. Analysere data. Hvilke data skal der være i systemet, og hvordan hænger de sammen?<br />

2. Oprette tabeller. Tabellerne er så at sige selve databasen. Her ligger data delt fornuftigt op i<br />

overensstemmelse <strong>med</strong> den analyse, vi har lavet. Det vil være nemt for dig her, fordi du får<br />

svarene af mig, men det kan godt være, du får lidt at tænke over, den dag du vil lave noget,<br />

der er helt forskelligt fra hæftets eksempel. Man kan sige, at tabellerne indeholder dine data i<br />

en slags “rå” form, dvs. ikke sorteret og ikke tilstrækkeligt kombineret til at det (i mange tilfælde)<br />

vil være smart at bygge skærmbillederne og rapporterne direkte på dem.<br />

3. Derfor opretter vi derefter en række såkaldte forespørgsler ud fra dine tabeller. Forespørgslerne<br />

gengiver tabellerne i en “fordøjet”, dvs. ordnet og kombineret form, der gør det nemt<br />

for eksempel at opbygge skærmbilleder, hvor kundens navn og adresse kommer automatisk<br />

frem, når du indtaster kundenummer.<br />

4. Herefter er du klar til at lave de skærmbilleder, som du kommer til at se i det daglige som<br />

bruger af dit system. Et faktura-skærmbillede, et kunde-skærmbillede osv. Skærmbillederne<br />

kaldes formularer i <strong>Access</strong>.<br />

5. Rapporterne - for eksempel udskrift af din kundeliste - er det næste, der skal laves.<br />

6. Endelig samler vi det hele i en pæn menu, som den du så tidligere i dette afsnit.<br />

Kig det foregående grundigt igennem. Når du føler dig nogenlunde orienteret om, hvad vi skal i<br />

gang <strong>med</strong>, er du klar.<br />

Planlægning<br />

Hvis du vil i gang <strong>med</strong> at lave noget i <strong>Access</strong>, så læs dette kapitel hurtigt igennem i første omgang.<br />

Du kan altid vende tilbage til det senere!<br />

Analyse af dine data<br />

Det indledende besvær <strong>med</strong> at analysere dine data kommer du ikke uden om. Hvis ikke du har<br />

taget beslutningerne på forhånd, får du bare problemer siden hen.<br />

Kapitlet her er kun en smagsprøve, men hvis dine data ikke er for indviklede og komplekse, kan<br />

du sikkert overføre eksemplet på det, du selv vil lave.<br />

<strong>Start</strong> <strong>med</strong> <strong>Access</strong> 97 - access97.doc - 17-08-01 - 03:31


At udvikle et system<br />

Brain storm<br />

<strong>Start</strong> <strong>med</strong> en brain storm. Tag en blyant og et stykke papir, og skriv alt det op, der falder dig<br />

ind. Det er en god måde at få tankerne på gled på. En brain storm om det system, vi her vil udvikle,<br />

ville måske indeholde følgende stikord:<br />

• kunder<br />

• fakturaer<br />

• momsregnskab<br />

• telefonliste<br />

• brevskrivning<br />

Prøv at skrive ned, hvad du ønsker dig. Fx:<br />

• Det skal være nemt at skrive en faktura.<br />

• Brevfletning til bestemte kundegrupper skal være mulig, fx alle i postdistrikt 2610 Rødovre.<br />

• Det skal være muligt at søge på, hvad man har tjent i et bestemt tidsrum eller på en bestemt<br />

kunde - eller begge dele.<br />

- og så videre. På den måde får du i første omgang fastlagt, hvad du ønsker dig. Og du får noget<br />

at diskutere ud fra, hvis der er andre end dig selv involveret. Først når du er sikker på, at ønskerne<br />

er formuleret, går du videre.<br />

Model over databasen<br />

Du kan tegne en model over databasen, hvis du vil have styr på, hvilke data den skal indeholde<br />

eller behandle. Alle begreber eller “ting” - f.eks. kunde og faktura - tegner som kasser. Det lyder<br />

måske overflødigt, men prøv selv. Det giver overblik.<br />

Udtænk dernæst, hvordan de enkelte enheder hænger sammen.<br />

Eksempel: Kunder og fakturaer hænger sammen, fordi en faktura udskrives til en kunde, hvis<br />

navn mv. skal stå på fakturaen. De hænger desuden sammen på den måde, at til hver kunde kan<br />

der skrives mange fakturaer. Relationen kunde-faktura kaldes derfor en “én-til-mange relation”.<br />

Dette er den mest almindelige type af relation. Andre typer af relationer er én-til-én og mangetil-mange.<br />

Ekstra forklaring: Én-til-mange relationen er specielt interessant, fordi den giver dig mulighed<br />

for at registrere kunden én og kun én gang, og så genbruge oplysningerne om ham, hver gang<br />

du skal skrive en faktura. Ellers skulle du skrive kundens navn og adresse på hver eneste faktura,<br />

og så ville du<br />

• dels gemme de samme oplysninger mange gange,<br />

• dels have en risiko for at skrive hans navn og adresse forkert, hvilket ikke mindst ville gøre<br />

søgninger upålidelige.<br />

Denne tanke er én af hovedhjørnestenene i en relationsdatabase.<br />

På stregerne mellem kasserne angiver du et 1-tal tæt ved kassen <strong>med</strong> én-siden (her kunder) og et<br />

N tæt ved kassen <strong>med</strong> mange-siden (her faktura). Midt på stregen mellem kasserne tegner du en<br />

rombe, og inde i romben skriver du, hvilken forbindelse, de to enheder har <strong>med</strong> hinanden. Det<br />

kan være ord som “får”, “betaler”, “er afhængig af”, “afvikler” osv. Her kunne det være<br />

FAKTURA-UDSKRIVES TIL-KUNDE<br />

<strong>Start</strong> <strong>med</strong> <strong>Access</strong> 97 - access97.doc - 17-08-01 - 03:31<br />

10


11<br />

At udvikle et system<br />

“En faktura udskrives til en kunde, og til én og samme kunde kan der udskrives mange fakturaer.”<br />

Se på nedenstående tegning, hvordan modellen for vores system tager sig ud:<br />

Kig godt på tegningen her, og vend tilbage til den, hvis du i det følgende mister overblikket<br />

over vores system. Denne tegning viser i al sin enkelhed, hvad det hele går ud på.<br />

Det du får ud af tegningen er: Kunder i én tabel, fakturaer i en anden. Så har du hul på strukturen<br />

- selv om det er muligt, at du af praktiske grunde kommer til at opdele yderligere!<br />

Planlægning af selve tabellerne<br />

Tegningen i forrige afsnit kan selvfølgelig ikke umiddelbart omsættes til tabeller. Og her kommer<br />

du på lidt af en opgave, hvis du vil lave en database <strong>med</strong> mange forskellige slags data.<br />

Uden at vi skal fordybe os side op og side ned i problemet, skal du her have nogle<br />

tips/eksempler, som forhåbentlig giver dig så meget af idéen, at du kan komme til et tilfredsstillende<br />

resultat <strong>med</strong> dit eget.<br />

Kundekartoteket<br />

Lad os først tænke på kundekartoteket. Det er vel i og for sig nemt nok at afgøre, hvilke oplysninger,<br />

der skal ligge heri. Noget i retning af det, som er vist i rammen. Du kan selv lægge til og<br />

trække fra.<br />

I enhver relationsdatabase kræves entydighed<br />

<strong>med</strong> hensyn til identifikation af for eksempel<br />

en kunde i et kartotek, som er det vi<br />

vil lave her. Denne entydighed opnås ved,<br />

at vi udvælger et felt (eller en kombination<br />

af flere felter) som nøgle (primærnøgle).<br />

Hvis nøglen for eksempel er et navn, må<br />

der kun ligge én kunde <strong>med</strong> det navn i<br />

kartoteket. Derfor bruger man i praksis aldrig<br />

kundenavn som nøgle.<br />

Flere firmaer kan hedde det samme.<br />

Ofte er den mest praktiske nøgle et løbenummer.<br />

Tip! Brug aldrig hverken navn, adresse eller telefonnummer som nøglefelt. De er ikke éntydige,<br />

og de kan risikere at skulle ændres.<br />

Tip tip! Det korrekte ville være, kun at have postnr og ikke by <strong>med</strong> i denne tabel, og lade postnummer-by<br />

ligge i en tabel for sig. Det er nemlig også en én-til-mange relation: “Mange kunder<br />

har samme postnummer”. For at forenkle tingene, har vi ikke den opdeling <strong>med</strong> her i eksemplet.<br />

<strong>Start</strong> <strong>med</strong> <strong>Access</strong> 97 - access97.doc - 17-08-01 - 03:31<br />

• KundeNr<br />

• Firmanavn<br />

• Adresse<br />

• PostnrBy<br />

• Telefon<br />

• Fax<br />

• Kontaktperson<br />

• Note


Fakturaer<br />

Forestil dig en faktura. Øverst står<br />

følgende oplysninger: Kundens<br />

navn og adresse, samt faktura dato,<br />

faktura nummer og kunde<br />

nummer. Længere nede er selve<br />

fakturalinjerne (det kunden skal<br />

betale), som indeholder oplysninger<br />

som: Tekst, antal timer (dette<br />

er et rengøringsfirma, der arbejder<br />

på timeløn), pris, total og moms.<br />

Nederst på fakturaen kommer så<br />

sum - den er ikke <strong>med</strong> på illustrationen.<br />

Men bemærk følgende: På<br />

hver faktura kan der være flere<br />

At udvikle et system<br />

FAKTURA<br />

The Shop Kunde Nr: 1<br />

Westend 3 Fakturanr: 97046<br />

9999 Solby Dato: 01.09.97<br />

Att: Julie Jensen<br />

Tekst Timer Pris Total Moms<br />

Rengøring 8 100,00 800,00 200,00<br />

Vinduespudsning 3 100,00 300,00 75,00<br />

fakturalinjer! Det lugter jo langt væk af en én-til-mange relation, og det er det også! Til hver<br />

faktura svarer i princippet flere fakturalinjer. Derfor skal der laves to tabeller til fakturaer: Én<br />

som vi kunne kalde fakturahovede, og én som vi kan kalde fakturalinje. Tabellen <strong>med</strong> fakturalinjer<br />

skal indeholde et fakturanummer, som viser, hvilken faktura, linjen hører hjemme i. Det<br />

lyder måske lidt kaotisk, men ved at opbygge skærmbilleder og rapporter rigtigt, får du det til at<br />

hænge smukt sammen på skærmen. Når du en gang skal udforme selve den fysiske faktura - den<br />

du printer ud på papir - tager du kun de oplysninger <strong>med</strong> i udskriften, du synes skal være der.<br />

Og dit resultat bliver måske noget à la det ovenfor viste.<br />

Tabellen Fakturahovede skal indeholde generelle oplysninger for fakturaen, og det er fx følgende<br />

felter:<br />

• FakturaNr (dette nummer er éntydigt, og kan derfor være nøgle).<br />

• KundeNr (som henviser til kundekartoteket og derfor kan “hente” kundens navn og adresse).<br />

• Dato.<br />

Tabellen Fakturalinje skal indeholde følgende felter:<br />

• FakturalinjeNr (nødvendig som nøgle) - printes ikke <strong>med</strong> på fakturaen.<br />

• Fakturanummer - til angivelse af, hvilken faktura, linjen hører hjemme på. Printes ikke <strong>med</strong><br />

ud på fakturaen.<br />

• Tekst<br />

• Antal<br />

• Pris<br />

Øvrige oplysninger som for eksempel Total og Moms skal ikke <strong>med</strong>. De kan jo regnes ud på<br />

baggrund af de oplysninger, der allerede er til stede. Tabellerne skal være minimale, de skal kun<br />

indeholde de oplysninger, der er absolut nødvendige. Videre udregninger kan foretages i forespørgsler,<br />

formularer eller rapporter.<br />

Dette var planlægning af din database. Uden dette stykke arbejde kan du ikke rigtig komme<br />

videre. Men lad os nu se på, hvad vi kan bruge al den planlægning til!<br />

<strong>Start</strong> <strong>med</strong> <strong>Access</strong> 97 - access97.doc - 17-08-01 - 03:31<br />

12


13<br />

Oprette databasen og den første tabel<br />

Øvelse 2: Oprette databasen og den første tabel<br />

I denne øvelse lærer du følgende:<br />

• at oprette en ny database<br />

• at oprette en tabel, som du selv definerer<br />

I hæftets første øvelse arbejdede du ud fra <strong>Access</strong> tabelguide. Det vil jeg ikke anbefale til systemudvikling<br />

generelt. Når først du ved, hvad du vil lave, er det ikke noget problem, selv at<br />

definere dine tabeller.<br />

Åbn <strong>Access</strong> ved at klikke på <strong>Start</strong>, Programmer, Microsoft <strong>Access</strong>. Vælg Tom database<br />

og OK. Vælg (C:\) i feltet Gem i og skriv: Firma i feltet Filnavn. Klik på Opret.<br />

Du er nu inde i det tomme databasevindue i din nye database. Fanebladet Tabeller er<br />

valgt, og du kan oprette en ny tabel: Klik på knappen Ny.<br />

Vælg Designvisning og klik på OK.<br />

Din markør står allerede klar i kolonnen Feltnavn.<br />

Måske husker du, at vores kundekartotek skal indeholde de<br />

felter, som er vist i rammen. Markøren står klar i kolonnen<br />

Feltnavn. Indtast: KundeNr (uden mellemrum). Tryk på EN-<br />

TER.<br />

Markøren er nu hoppet til feltet Datatype. Klik på listepilen i<br />

feltet, eller tryk på tasten F4. Vælg Autonummerering. Herved<br />

opnår du, at hver ny kunde, som indtastes, tildeles et løbenummer af systemet.<br />

Tip: Til feltet KundeNr kunne man måske også tænke sig datatypen Tal, som giver brugeren<br />

muligheden for at bestemme, hvilket kundenummer der skal tildeles. Envidere kunne<br />

man tænke sig datatypen Tekst, som giver brugeren mulighed for at give kunden et<br />

kundenummer, som også indeholder bogstaver.<br />

Tryk på ENTER. I kolonnen Beskrivelse skriver du: Kundenr - automatisk.<br />

Inden du går videre, skal du udnævne feltet KundeNr til at være<br />

nøgle i tabellen. Hvis feltet KundeNr udnævnes til nøgle (primær nøgle),<br />

vil der ikke være to kunder, som har samme kundenummer. Der er kun én<br />

primær nøgle i hver tabel! Klik på værktøjet Primær nøgle for at udnævne feltet til nøglefelt.<br />

NB: Alle tabeller skal have et felt, som udnævnes til primærnøgle. Det kan være praktisk<br />

at lade det første felt i tabellen være primærnøgle. Systemet sørger herefter for, at alle poster<br />

i tabellen har en unik værdi i dette felt.<br />

Tryk på ENTER igen - og du er nu klar til at oprette næste felt.<br />

I kolonnen Feltnavn taster du: Firmanavn<br />

Tryk ENTER. <strong>Access</strong> foreslår datatypen Tekst. For neden i vinduet kan du se, at <strong>Access</strong><br />

foreslår en længde på 50 tegn. Alt dette passer fint, så du kan gå videre til næste kolonne<br />

ved at trykke ENTER<br />

<strong>Start</strong> <strong>med</strong> <strong>Access</strong> 97 - access97.doc - 17-08-01 - 03:31<br />

• KundeNr<br />

• Firmanavn<br />

• Adresse<br />

• PostnrBy<br />

• Telefon<br />

• Fax<br />

• Kontaktperson<br />

• Note


Oprette databasen og den første tabel<br />

Skriv: Kundens navn i kolonnen Beskrivelse.<br />

På samme måde som Firmanavn opretter du felterne Adresse og PostnrBy. Opret også<br />

samme slags felter <strong>med</strong> navnene Telefon, Fax, og Kontaktperson.<br />

Tip! Hvis du midt i det hele vil indsætte eller slette linjer i dit tabel-design, bruger du<br />

knapperne Indsæt linje og Slet linje.<br />

Det sidste felt skal hedde Note. Her kan du indtaste bemærkninger om kunden, fx<br />

“Ønsker regelmæssig kontakt vedr. nye produkter” eller lignende. Her kan du overveje at<br />

lave et almindeligt tekstfelt - tekstfelter kan være op til 255 karakterer lange. Du kan også<br />

vælge datatypen Notat. Det betyder et tekstfelt af variabel længde, hvor du i princippet<br />

kan indtaste så meget tekst, du har lyst til. Hvilket naturligvis kan være en fordel, men du<br />

skal tage i betragtning, at systemet bliver langsommere, hvis der indtastes meget tekst. Vi<br />

vælger her at gøre feltet Note til typen Notat.<br />

Nu har du oprettet de felter, der skal bruges i kundekartoteket. Din færdige tabel ser sådan<br />

ud:<br />

Det er nu på tide at gemme<br />

den. Klik på værktøjet Gem<br />

(eller vælge menukommandoen<br />

Filer, Gem) for at få<br />

dialogboksen Gem som<br />

frem.<br />

<strong>Access</strong> mangler desværre en navngivningsfunktion, der fortæller om det er en tabel, en<br />

forespørgsel, en formular eller andet. Derfor anbefaler jeg dig at have en “navnepolitik”,<br />

der viser objektets type. Fx kan du kalde alle tabellerne noget <strong>med</strong> T_ som vist her. Lad<br />

os kalde denne tabel T_Kunde. Klik på OK, når du har indtastet navnet.<br />

Luk tabellen af ved at vælge menukommandoen Filer og Luk.<br />

<strong>Start</strong> <strong>med</strong> <strong>Access</strong> 97 - access97.doc - 17-08-01 - 03:31<br />

14


15<br />

Ekstra forklaringer om feltegenskaber<br />

(kan springes over...)<br />

Oprette databasen og den første tabel<br />

Nederst i vinduet kan du vælge Feltegenskaber. For tekstfelter har du flg. muligheder:<br />

Feltstørrelse Antal anslag, brugeren maksimalt kan indtaste i feltet. Angives standard til 50.<br />

Kan højst være 255.<br />

Format Hvordan skal indholdet i feltet vises? Her kan du anvende en række allerede indbyggede<br />

formater. Ex:<br />

0,0 Talformat til visning af decimaltal. Altid en plads efter kommaet.<br />

0,0;[Red]\-0,0 Det samme, men negative tal er røde. \ angiver, at der kommer et<br />

fast tegn, fx en binde-streg eller et mellemrum. Efter semikolon<br />

står format for negative tal.<br />

000000\-0000 Vis tal som CPR-nummer.<br />

> Vis alle bogstaver som STORE bogstaver.<br />

Inputmaske Bruges til at styre indtastningen i et felt, sådan at du kun kan indtaste bestemte<br />

typer af data. Ex:<br />

000 Der må og skal indtastes 3 cifre.<br />

999 3-cifrede tal, men de behøver ikke indtastes.<br />

LL 2 bogstaver.<br />

LL\ 00\ 000 Nummerplade på dansk vogn.<br />

Titeltekst Hvis du indskriver tekst her, vil den blive brugt som titeltekst for feltet i formularer<br />

og rapporter. Hvis du ikke angiver noget, vil feltets navn blive brugt.<br />

Standardværdi Her indtastes en værdi, som på forhånd vil være udfyldt i feltet. Fx DK i et felt,<br />

der indeholder landekode, og hvor man oftest angiver DK. Værdien kan overskrives<br />

af brugeren.<br />

Valideringsregel Bruges til at styre brugerens indtastning. Hvis et talfelt kun må indeholde værdier<br />

større end eller lig <strong>med</strong> nul, skal valideringsreglen være: >=0<br />

Validerings- Den tekst, der kommer på skærmen, hvis valideringsreglen brydes.<br />

<strong>med</strong>delelse<br />

Obligatorisk Sættes denne værdi til Ja, skal feltet udfyldes. Brugeren bliver simpelt låst i feltet,<br />

indtil der er indtastet noget.<br />

TilladNulmængde Sættes denne værdi til Nej, må feltet ikke være tomt, men må gerne indeholde en<br />

tom tekststreng.<br />

Indekseret Sættes denne værdi til Ja, bliver søgning på feltet hurtigere. Til gengæld bliver det<br />

langsommere at indtaste nye værdier i feltet. Der findes to udgaver: Ja - dubletter<br />

tillades og Ja - ingen dubletter. Det vil i praksis være den førstnævnte, du bruger.<br />

Den anden vælges automatisk i det felt, der udpeges til at være nøgle.<br />

Tip! Du kan altid få disse forklaringer frem på skærmen ved at bruge Hjælp-funktionen. Placér<br />

markøren i linjen <strong>med</strong> den feltegenskab, du vil vide noget om, og tryk på tasten F1.<br />

<strong>Start</strong> <strong>med</strong> <strong>Access</strong> 97 - access97.doc - 17-08-01 - 03:31


Oprette databasen og den første tabel<br />

Indtaste data i tabellen<br />

Tilbage i databasevinduet ser du nu dit tabelnavn T_Kunde. Du<br />

kunne nu vælge at gå videre <strong>med</strong> at få lavet den næste tabel.<br />

Men inden vi gør det, skal vi lige se lidt nærmere på mulighederne<br />

<strong>med</strong> en eksisterende tabel.<br />

Til højre i databasevinduet har du knapperne Åbn, Design og<br />

Ny. Åbn bruges, når du vil ind i tabellen og se eller indtaste<br />

data i den. Design bruges til at ændre tabellens opbygning. Det<br />

var designvisning, du var inde i, da du oprettede tabellen.<br />

Klik på knappen Åbn (eller dobbeltklik på T_Kunde). Nu ser tabellen sådan<br />

ud<br />

:<br />

Her kan du allerede begynde at taste data ind. Markøren står og venter på dig i feltet KundeNr.<br />

Tryk på ENTER og udfyld de øvrige felter. Feltet KundeNr udfyldes automatisk. Når du er<br />

færdig <strong>med</strong> én kunde, hopper markøren automatisk ned på næste linje, dvs. opretter en ny post.<br />

Klik på knappen Visning (Tabelvisning) i værktøjslinjen. Tabellen vises nu i<br />

designvisning. Det har du brug for, hvis du vil ændre dens opbygning.<br />

Klik igen på Visning (Tabelvisning). Den har skiftet udseende. Nu er du tilbage<br />

til tabellens indhold (dataarkvisning).<br />

Men - der skal et lidt mere brugervenligt skærmbillede til, for at dit daglige arbejde <strong>med</strong><br />

systemet bliver til at holde ud.<br />

Autoformular<br />

Klik på værktøjet Autoformular (Nyt objekt). Formularen oprettes og åbnes<br />

straks.<br />

<strong>Start</strong> <strong>med</strong> <strong>Access</strong> 97 - access97.doc - 17-08-01 - 03:31<br />

16


17<br />

Oprette databasen og den første tabel<br />

Sådan ser formularen ud. Her kan du indtaste,<br />

søge og ændre kundeoplysninger. Det kan godt<br />

være, at du ønsker at ændre og forbedre skærmbilledet.<br />

Det kommer vi til senere.<br />

For at indtaste en ny kunde, klikker du på<br />

knappen Ny Post (den <strong>med</strong> *).<br />

Opret 3 kunder mere:<br />

Cleno<br />

Corso Pass. 8<br />

9999 Solby<br />

Tlf: 99 02 55 46<br />

Fax: 99 02 55 40<br />

Kontaktperson: Peter Topp<br />

Liberty<br />

Europa Pl. 5<br />

9999 Solby<br />

Tlf: 99 81 23 45<br />

Fax:<br />

Kontaktperson: Anne Duval<br />

Jumbo Toys<br />

Ming St. 90<br />

9999 Solby<br />

Tlf: 98 50 20 01<br />

Fax: 98 50 20 02<br />

Kontaktperson: Joe Kern<br />

Du kan blade i dem bagefter <strong>med</strong> tasterne PageUp og PageDown. Brugen af formularen<br />

blev i øvrigt beskrevet på side 6.<br />

Formularen skal gemmes. Vælg menukommandoen Filer, Gem<br />

Tast: FM_Kunde - klik på OK.<br />

Luk formularen igen ved at vælge<br />

menukommandoen Filer,<br />

Luk. Du kommer nu tilbage til<br />

tabellen. Også denne lukkes <strong>med</strong><br />

Filer, Luk. Du er nu tilbage i<br />

databasevinduet. Under fanebladet<br />

Tabeller har du din tabel T_Kunde, og under fanebladet Formularer har du formularen<br />

FM_Kunde. Klik skiftevis på fanebladene.<br />

I en senere øvelse kommer vi ind på, hvad du mere kan gøre <strong>med</strong> formularer.<br />

<strong>Start</strong> <strong>med</strong> <strong>Access</strong> 97 - access97.doc - 17-08-01 - 03:31


Tabellerne til faktura<br />

Øvelse 3: Tabellerne til faktura<br />

I denne øvelse lærer du følgende:<br />

• at oprette to tabeller, der danner grundlag for ét skærmbillede<br />

• at bruge datatypen Tal i tabeller<br />

Fakturaer skal lagres ved hjælp af to tabeller: Én tabel til fakturahovede (Fakturanr, Kundenr,<br />

Dato), og én tabel til én eller flere linjer <strong>med</strong> fakturaens indhold.<br />

Tabellen fakturahovede<br />

Du står i databasevinduet. Hvis ikke, går du derind <strong>med</strong> menukommandoen Vindue,<br />

Firma - database. Klik på fanebladet Tabeller. Klik på knappen Ny. Vælg Designvisning<br />

og klik OK.<br />

Tabellen skal indeholde de oplysninger, som er til stede én gang på hver faktura. Det vil sige<br />

FakturaNr, KundeNr og Dato. De oplysninger, der kan optræde flere af på hver faktura, dvs.<br />

hvad kunden har købt, skal i en tabel for sig. Det laver du bagefter, og så får du det hele til at<br />

spille sammen til sidst.<br />

Tast: FakturaNr som feltnavn. Tryk ENTER. Vælg Autonummerering. Tryk<br />

ENTER. Skriv en kort tekst i feltet Beskrivelse. Klik på værktøjet Primær<br />

nøgle for at udnævne dette felt til nøgle. Tryk ENTER.<br />

Tast: KundeNr. Tryk ENTER. Nu er det vigtigt at vælge den<br />

rette datatype. Kundenummeret skal som datatype svare til<br />

det felt, der hedder KundeNr i tabellen T_Kunde. Her var<br />

det Autonummerering - hvilket svarer til datatypen Langt<br />

heltal (dobbelt heltal). Vælg: Tal i feltet. Tryk ENTER.<br />

Bemærk, at Langt heltal (dobbelt heltal) er valgt som feltstørrelse<br />

i listen over feltegenskaber. Klik i feltet Standardværdi.<br />

Slet nullet. Gå tilbage til feltet Beskrivelse for oven -<br />

skriv Kundenr - og tryk ENTER.<br />

Skriv: Dato. Tryk ENTER. Vælg Dato/klokkeslæt og<br />

tryk ENTER igen. Udfyld feltegenskaberne som vist på<br />

illustrationen. Som format vælges Kort datoformat, og i<br />

feltet Standardværdi skriver du:<br />

=Date()<br />

Det betyder, at standardværdi i feltet vil være dags dato.<br />

<strong>Start</strong> <strong>med</strong> <strong>Access</strong> 97 - access97.doc - 17-08-01 - 03:31<br />

18


19<br />

Tabellerne til faktura<br />

Du er nu klar til at gemme dit tabeldesign. Vælg menukommandoen Filer, Gem. Tast:<br />

T_Fakturahoved og klik på OK. Vælg menukommandoen Filer, Luk for at lukke tabellen.<br />

Du kommer nu tilbage til databasevinduet.<br />

Tabellen Fakturalinje<br />

I denne tabel gemmes oplysninger om, hvad kunden har købt på hver faktura. Det skal i en separat<br />

tabel, fordi der kan være mange fakturalinjer på én faktura.<br />

Klik på knappen Ny. Vælg Designvisning og klik OK.<br />

Tabellen Fakturalinje skal indeholde følgende: FakturalinjeNr (primær nøgle), FakturaNr<br />

(så det er éntydigt, hvilken faktura, linjen hører hjemme på), FakturaTekst (hvad kunden<br />

har købt), Antal (antal enheder af det købte) og Pris pr. enhed. Dette er de nødvendige<br />

oplysninger. Udregning af total og moms hører ikke hjemme her!<br />

Feltegenskaberne i tabellen kan se sådan ud:<br />

FakturalinjeNr Feltet har datatypen Autonummerering, og det er udnævnt til primær nøgle.<br />

Du behøver ikke gøre noget ved feltegenskaberne.<br />

FakturaNr Her er det vigtigt at få det korrekt.<br />

Feltet henviser jo til fakturanummeret i<br />

tabellen T_Fakturahovede.<br />

Datatype er Tal. Feltet, der henvises<br />

til, er af datatypen Autonummerering.<br />

Det svarer til feltstørrelsen Langt heltal<br />

(Dobbelt heltal). Sæt Obligatorisk<br />

(Påkrævet) til Ja - det ville jo være<br />

absurd at indtaste fakturaoplysninger,<br />

som ikke hører hjemme på nogen faktura!<br />

Indekseret kan sættes til Ja - dubletter tillades.<br />

FakturaTekst Her er der ikke noget videre at gøre. Jeg har sat feltstørrelsen<br />

til de 50, systemet selv foreslår, men om<br />

det er nok, afhænger af, hvem der skal bruge systemet.<br />

Antal Feltet Antal har datatypen Tal, og under Feltstørrelse<br />

angiver du Reelt tal. Det betyder<br />

decimaltal. Det kunne jo være, at rengøringsfirmaet<br />

solgte halve og kvarte timers service.<br />

Slet nullet ved Standardværdi - systemet skal ikke selv foreslå noget i dette<br />

felt.<br />

<strong>Start</strong> <strong>med</strong> <strong>Access</strong> 97 - access97.doc - 17-08-01 - 03:31


Tabellerne til faktura<br />

Pris Pris har formatet Valuta. Antal Decimaler er 2<br />

- dvs. alle beløb vises <strong>med</strong> 2 decimaler. Slet nullet<br />

ud for Standardværdi - feltet skal formodentlig<br />

udfyldes <strong>med</strong> noget andet end nul.<br />

Vælg menukommandoen Filer, Gem. Tast: T_Fakturalinje. Klik på OK. Luk tabellen<br />

<strong>med</strong> menukommandoen Filer, Luk.<br />

Nu er du færdig <strong>med</strong> at oprette tabellerne i dit fakturasystem.<br />

Øvelse 4: Relationer<br />

I denne øvelse lærer du:<br />

• at oprette relationer mellem tabeller<br />

• at sørge for sikkerhed (referentiel integritet)<br />

Jeg har nævnt flere gange, at vi ville få tabellerne til at hænge sammen. Det skal vi til at arbejde<br />

på nu. I <strong>Access</strong> har du et nemt og overskueligt skærmbillede, hvor du sammenkæder tabellerne<br />

på en sådan måde, at der for eksempel ikke kan oprettes fakturaer på et kundenummer, som<br />

(endnu) ikke eksisterer.<br />

Tabellen T_Kunde hænger sammen <strong>med</strong> tabellen T_Fakturahoved på den måde, at feltet KundeNr<br />

stemmer overens i de 2 tabeller. Når man på et fakturahovede skriver et kundenummer, er<br />

der ikke tvivl om, hvilken kunde, det drejer sig om.<br />

Tabellen T_Fakturahoved hænger sammen <strong>med</strong> tabellen T_Fakturalinje på den måde, at feltet<br />

FakturaNr stemmer overens i de 2 tabeller. Fakturanummeret i en fakturalinje siger entydigt,<br />

hvilken faktura, linjen hører hjemme i.<br />

Du behøver ikke oprette relationerne som vist i det følgende. Du kan godt få tabellerne til at<br />

“spille sammen” alligevel ved hjælp af forespørgsler, som du senere vil få at se. Når jeg alligevel<br />

råder dig til at gøre det, skyldes det sikkerhed. Referentiel integritet giver en vis beskyttelse<br />

mod urigtige oplysninger i din database. Desuden bliver det nemmere at lave forespørgsler senere.<br />

Takket være dine oprettede relationer vil det være meget nemt at se, hvordan tabellerne hænger<br />

sammen. Det får du også at se senere.<br />

<strong>Start</strong> <strong>med</strong> <strong>Access</strong> 97 - access97.doc - 17-08-01 - 03:31<br />

20


21<br />

Tabellerne til faktura<br />

Sådan åbner du relationsbilledet: Klik på værktøjet Relationer (eller vælg menukommandoen<br />

Funktioner, Relationer). Det tomme relationsbillede åbnes.<br />

Klik på værktøjet Vis tabel (kun i <strong>Access</strong> 97). Vælg T_Kunde og klik på Tilføj.<br />

Vælg T_Fakturahoved og klik på Tilføj. Vælg til sidst T_Fakturalinje og<br />

klik på Tilføj. Klik på Luk.<br />

Du er nu klar til at<br />

markere <strong>med</strong> musen,<br />

hvordan relationerne<br />

skal være. Peg på<br />

KundeNr i T_Kunde<br />

<strong>med</strong> musmarkøren.<br />

Træk <strong>med</strong> musknappen<br />

- og slip på KundeNr<br />

i T_Fakturahoved.<br />

Tip: Relationer trækkes altid fra et nøglefelt (markeret <strong>med</strong> fed skrift) til et tilsvarende<br />

ikke-nøglefelt i en anden tabel!<br />

I et specielt vindue opfordres du til at<br />

specificere relationen nærmere. Afkryds<br />

Gennemtving referentiel integritet og<br />

klik på Opret.<br />

Hvad er referentiel integritet?<br />

Referentiel integritet betyder, at systemet<br />

sørger for, at data i de to tabeller svarer til<br />

hinanden. 1) Der vil ikke kunne oprettes<br />

fakturaer til et kundenummer, som endnu<br />

ikke findes. 2) En kunde kan ikke slettes,<br />

hvis systemet indeholder én eller flere<br />

fakturaer til kundenummeret. Ønskes kunden slettet, skal fakturaerne slettes først!<br />

Træk på samme måde en relation fra<br />

FakturaNr i T_Fakturahoved til<br />

FakturaNr i T_Fakturalinje. Vælg<br />

Gennemtving referentiel integritet i<br />

dialogboksen - og Opret.<br />

Tip: Hvis du vil slette en relation,<br />

klikker du på dens symbol (den fede, knækkede streg) og trykker på DELETE.<br />

Tip tip: Hvis du vil ind i dialogboksen for at ændre relationens egenskaber, dobbeltklikker<br />

du på den fede, knækkede streg.<br />

Gem relationsdefinitionen <strong>med</strong> menukommandoen Filer, Gem. Luk billedet <strong>med</strong> Filer,<br />

Luk.<br />

Vi kunne beskæftige os meget mere <strong>med</strong> relationer. Men dette er, hvad du behøver nu. Som sagt<br />

findes der andre typer af relationer end én-til-mange, men dem kommer vi ikke yderligere ind<br />

på i dette hæfte..<br />

<strong>Start</strong> <strong>med</strong> <strong>Access</strong> 97 - access97.doc - 17-08-01 - 03:31


Forespørgsel til sortering<br />

Øvelse 5: Forespørgsel til sortering<br />

I denne øvelse lærer du:<br />

• at oprette en forespørgsel<br />

• at bruge en forespørgsel til at præsentere en tabel sorteret<br />

Forespørgsler bruges til mangt og meget. Dels bruges de til at vise udvalgte data fra én eller flere<br />

tabeller. Dels bruges de - som i det følgende eksempel - til at vise alle data i tabellen på en<br />

redigeret måde. I dette tilfælde sorteret.<br />

Denne forespørgsel skal vise kunderne sorteret i alfabetisk orden efter kundenavn. I tabellen<br />

opbevares de for indeværende i stigende orden efter kundenummer.<br />

Klik på fanebladet Forespørgsler i databasevindet. Vælg Ny, Designvisning og OK.<br />

Vælg T_Kunde under fanebladet Tabeller. Klik på Tilføj og på Luk.<br />

Dobbeltklik på<br />

KundeNr. Herved<br />

indsættes feltet i<br />

gitterværket for<br />

neden. Dobbeltklik<br />

på alle felter ét efter<br />

ét, således at de<br />

alle overføres.<br />

Tip: Felterne kan<br />

også overføres ved<br />

at du trækker dem<br />

ned og slipper på<br />

gitterværket i den<br />

ønskede kolonne.<br />

Klik i rækken Sorter i kolonnen Firmanavn (Ordet Sorter står<br />

helt ude til venstre). Vælg Stigende.<br />

Gem forespørgslen <strong>med</strong> menukommandoen Filer, Gem. Tast:<br />

FS_KundeAlfabetisk og vælg OK.<br />

Vælg menukommandoen Vis, Dataarkvisning (Dataark) eller klik på værktøjet<br />

Visning (Forespørgselsvisning). Nu ser du resultatet af forespørgslen. Kunderne<br />

er sorteret i alfabetisk orden efter firmanavn.<br />

<strong>Start</strong> <strong>med</strong> <strong>Access</strong> 97 - access97.doc - 17-08-01 - 03:31<br />

22


23<br />

Forespørgsel til sortering<br />

Den opstilling, du nu kommer ind i, ligner til forveksling din tabel. Og du kan bruge den som<br />

om den var en tabel, dvs. du kan indtaste nye data. Forespørgslen er en slags “briller”, der er<br />

lagt oven på tabellen (i dette tilfælde må man vist nærmest sige, at der er vinduesglas i brillerne).<br />

Men tabellen kan opdateres gennem forespørgslen - og det kan du udnytte senere, når du<br />

laver nye skærmformularer.<br />

Gå tilbage til designbilledet ved at vælge menukommandoen Vis, Designvisning<br />

(Forespørgselsdesign) eller klikke på værktøjet Visning<br />

(Forespørgselsvisning).<br />

Luk forespørgslen ved at vælge menukommandoen Filer, Luk.<br />

Øvelse 6: Kombinere tabeller<br />

I denne øvelse lærer du:<br />

• at oprette en forespørgsel, der får flere tabeller til at spille sammen<br />

Tabellerne T_Fakturahoved og T_Kunde skal spille sammen i det færdige system. Det skal være<br />

sådan, at når du indsætter kundenummeret på en faktura, henter den selv kundens navn og<br />

adresse. Det kan den gøre takket være de relationer, du definerede i øvelsen Relationer.<br />

Klik på fanebladet Forespørgsler i databasevindet. Vælg Ny, Designvisning og OK.<br />

Vælg T_Fakturahoved under fanebladet Tabeller. Klik<br />

på Tilføj. Vælg derefter T_Kunde, Tilføj og Luk.<br />

Som du ser, fremgår det af stregen mellem tabellerne,<br />

hvordan de er relateret til hinanden. Det er vigtigt, at du<br />

har den “styrende” tabel til venstre.<br />

Nu skal vi have data fra disse to tabeller til at arbejde<br />

sammen. Dobbeltklik på: FakturaNr, KundeNr i den<br />

venstre tabel - og så går du over i højre tabel - Firmanavn,<br />

Adresse, PostnrBy - og så tilbage i venstre tabel<br />

igen - Dato. Dit gitterværk ser nu sådan ud:<br />

Der er endnu ingen data lagt ind, men du kan godt prøve at “køre” forespørgslen alligevel.<br />

Vi kan jo prøve at indtaste noget! Vælg menukommandoen Vis, Dataarkvisning<br />

(Dataark).<br />

<strong>Start</strong> <strong>med</strong> <strong>Access</strong> 97 - access97.doc - 17-08-01 - 03:31


Forespørgsel til sortering<br />

Vi indtaster nu en faktura, selv om det er absurd. Det bliver nemlig en faktura uden varer!<br />

Det er bare for at se, hvordan det virker. Senere lægge vi fakturalinjer på, så kunden får<br />

noget at betale for! Tryk ENTER under FakturaNr. Dette felt er en tæller, og opdateres<br />

derfor af systemet. Under KundeNr taster du 1 og trykker ENTER. Resten kom frem af<br />

sig selv! Det skulle dine relationer bruges til.<br />

Men som sagt, der er ikke meget ved en faktura uden varer. Så vi lader dette stå, og venter på<br />

chancen for at udfylde faktura nummer 1 senere.<br />

Gem forespørgslen ved at vælge menukommandoen Filer, Gem. Tast:<br />

FS_Fakturahoved og klik på OK. Luk forespørgslen <strong>med</strong> menukommandoen Filer,<br />

Luk.<br />

Øvelse 7: En forespørgsel der kan regne<br />

I denne øvelse lærer du følgende:<br />

• at oprette forespørgsler <strong>med</strong> felter, som udledes af felter i den underliggende tabel<br />

• at få en forespørgsel til at udføre beregninger<br />

Vi skal også lave en forespørgsel, der forbedrer lidt på tabellen T_Fakturalinje. Vi lægger ikke<br />

moms og total ind i en tabel, for de kan nemlig udledes af andre oplysninger. I en forespørgsel<br />

er det til gengæld helt normalt at have udregninger. Når du senere bruger denne forespørgsel til<br />

at bygge en formular over, vil moms og total blive regnet automatisk ud på skærmen.<br />

Vælg fanebladet Forespørgsler i databasevinduet. Vælg Ny, Designvisning og OK. Klik<br />

på T_Fakturalinje, Tilføj og Luk.<br />

Dobbeltklik på<br />

alle tabellens<br />

felter ét efter<br />

ét, så de overføres<br />

til gitterværket.<br />

Kør lidt mod højre ved hjælp af det vandrette rullepanel. Du skal hen efter<br />

Pris og oprette et par resultatfelter mere.<br />

Stil markøren i feltet lige efter Pris. Indtast: Total: Pris*Antal<br />

Tryk ENTER<br />

Kommentar: * er gangetegn.<br />

Kommentar: Husk det er kolon efter Total<br />

<strong>Start</strong> <strong>med</strong> <strong>Access</strong> 97 - access97.doc - 17-08-01 - 03:31<br />

24


25<br />

Forespørgsel til sortering<br />

Det vil også være smart, hvis du angiver, at formatet i dette resultatfelt skal være Valuta.<br />

1. Højreklik i feltet <strong>med</strong> udregningen.<br />

2. Vælg Egenskaber.<br />

3. Vælg Valuta i feltet Format.<br />

4. Luk egenskabs-vinduet.<br />

Klik i det næste tomme felt mod højre.<br />

Indtast: Moms: Total*0,25<br />

Kommentar: Husk det er normalt komma som decimaltegn. Dette er angivet i programmet<br />

International. Det finder du ved at klikke på <strong>Start</strong>-knappen. Vælg Indstillinger,<br />

Kontrolpanel og International. Under fanebladet Valuta kan formatet ses eller ændres.<br />

Også på dette felt højreklikker du, vælger Egenskaber og sætter Format til Valuta på<br />

samme måde som før.<br />

Gem forespørgslen ved at vælge menukommandoen Filer, Gem. Tast: FS_Fakturalinje<br />

og klik på OK.<br />

Skal vi prøve, om den virker? Vælg menukommandoen Vis, Dataarkvisning (Dataark).<br />

Nu prøver vi at lægge en enkelt fakturalinje ind på faktura nr. 1 - selv om det stadig virker<br />

noget usammenhængende.<br />

Tryk ENTER i feltet FakturalinjeNr.<br />

Tast: 1<br />

Tryk ENTER.<br />

Skriv: Rengøring og tryk ENTER.<br />

Tast: 2 og tryk ENTER.<br />

Tast: 100 og tryk ENTER<br />

Vupti! Total og moms er udregnet automatisk. Lad være <strong>med</strong> at indtaste mere lige nu.<br />

Luk din forespørgsel ned <strong>med</strong> menukommandoen Filer, Luk. Du er nu færdig <strong>med</strong> forespørgsler<br />

i denne omgang, selv om der kunne siges meget mere om emnet.<br />

<strong>Start</strong> <strong>med</strong> <strong>Access</strong> 97 - access97.doc - 17-08-01 - 03:31


Forespørgsel til sortering<br />

Øvelse 8: Et nyt og bedre kundekartotek<br />

I denne øvelse lærer du følgende:<br />

• at oprette formularer<br />

• at søge i formularen<br />

• at se formularen i dataarkvisning<br />

• at sortere data i formularen<br />

• at indsætte et værktøj til automatisk telefonopkald<br />

Du har allerede oprettet formularer i tidligere øvelser. Det gik hurtigt og nemt <strong>med</strong> autoformularer.<br />

Denne gang benytter du guiden formular. Den hjælper dig, men du får selv mere indflydelse<br />

på formularens udformning.<br />

I databasevinduet vælger du fanebladet Forespørgsler. Klik på FS_KundeAlfabetisk, så<br />

den er markeret. Denne forespørgsel kan du bruge til at bygge en formular over.<br />

Vælg menukommandoen Indsæt, Formular.<br />

Vælg Formularguide (Guiden Formular).<br />

Bemærk, at forespørgslen<br />

FS_KundeAlfabetisk er valgt i feltet Marker<br />

den tabel eller forespørgsel, hvor objektets<br />

data kommer fra. Klik OK.<br />

Klik på symbolet >> for at anvende alle forespørgslens<br />

datafelter i formularen. Felterne<br />

overføres til kolonnen Valgte felter. Klik på<br />

Næste.<br />

Vælg Enkeltkolonne. Klik på Næste. Guiden foreslår nu forskellige færdigstrikkede<br />

layouts til dit skærmbillede. Du kan klikke på dem ét for ét og se til<br />

venstre i vinduet, hvordan de ser ud. Skyer er især populær blandt piloter,<br />

præster og meteorologer. Standard er mere kedelig, men til gengæld skal din<br />

skærm ikke bruge tid på at opdatere al den grafik. Vælg alligevel Skyer, det<br />

giver stemning. Klik på Næste.<br />

Formulartitlen skal være:<br />

FM_Kundekartotek. Klik til sidst på Udfør.<br />

Formularen er klar til brug. Se på side 6,<br />

hvordan formularen anvendes.<br />

Lav en søgning efter firmaet Liberty. <strong>Start</strong> <strong>med</strong> at klikke på værktøjet Søg (eller<br />

vælge menukommandoen Rediger, Søg).<br />

<strong>Start</strong> <strong>med</strong> <strong>Access</strong> 97 - access97.doc - 17-08-01 - 03:31<br />

26


27<br />

Skriv: Liberty i feltet Søg<br />

efter. Klik i feltet Søg på<br />

og vælg En del af feltet.<br />

Sørg for, at der ikke er hak<br />

i feltet Kun aktuelt felt<br />

(Aktuelt felt). Klik på<br />

Find første. Klik på Luk.<br />

Kunden er fundet!<br />

Forespørgsel til sortering<br />

Undervejs lagde du måske mærke til, at du har forskellige muligheder for at søge. Hvis du har<br />

mange data, betaler det sig at klikke i feltet Firmanavn, før du aktiverer Søg. Du sætter markering<br />

<strong>med</strong> Kun aktuelt felt, og sparer derved <strong>Access</strong> for en masse arbejde.<br />

Slette en post<br />

Lad mig lige advare dig på forhånd: I et system som dette, hvor kundekartoteket hænger sammen<br />

<strong>med</strong> fakturering, går man ikke bare sådan rundt og sletter kunder. Er der lagt blot én faktura<br />

ind på kunden, får du ikke lov at slette den, takket være de relationer, du oprettede tidligere<br />

(<strong>med</strong> påtvunget referentiel integritet). Kundenummeret på fakturaen skal henvise til en post i<br />

kundekartoteket! Men: Hvis du har fulgt hæftet bogstaveligt, er der ikke lagt nogen faktura ind<br />

på andre kunder end The Shop. Men du kunne jo slette Liberty, som du netop søgte frem...<br />

Klik på den lodrette bjælke til venstre i skærmbilledet. Herved markeres den.<br />

Tryk på tasten DELETE.<br />

Bekræft at posten skal slettes. Eller fortryd.<br />

NB! Når du har bekræftet, og posten er slettet, kan du ikke fortryde sletningen.<br />

Se posterne i tabelform<br />

Hvis du vil se mange kunder på skærmen ad gangen, vælger du menukommandoen Vis,<br />

dataarkvisning (Dataark) eller klikker på den lille listepil ved værktøjet Visning<br />

(Formularvisning) - og vælger Dataarkvisning (Dataark).<br />

Du kan ændre kolonnebredden<br />

ved at<br />

placere markøren på<br />

den lodrette streg<br />

mellem to overskrifter<br />

i den grå linje. F.<br />

eks. mellem overskrifterne Firmanavn og Adresse. Markøren ændres til en dobbeltpil,<br />

og du kan trække kolonnens bagkant mod højre eller venstre.<br />

Gå tilbage til formularvisning ved at vælge menukommandoen Vis, Formularvisning<br />

(Formular).<br />

<strong>Start</strong> <strong>med</strong> <strong>Access</strong> 97 - access97.doc - 17-08-01 - 03:31


Forespørgsel til sortering<br />

Vise posterne sorteret på en anden måde<br />

Hvis du pludselig får brug for at have posterne sorteret efter noget andet end firmanavn, gør du<br />

følgende:<br />

Du er tilbage i formularvisning. Klik i det felt, der skal sorteres ud fra, for eksempel<br />

KundeNr. Klik på symbolet Sorter stigende (eller vælg menukommandoen<br />

Poster, Sorter, Sorter stigende).<br />

Når du er færdig <strong>med</strong> at lege <strong>med</strong> din formular, lukker du den af <strong>med</strong> menukommandoen<br />

Filer, Luk.<br />

Den nye sortering bliver ved <strong>med</strong> at gælde - også efter, at formularen har været lukket. Også<br />

selv om formularen bygger på forespørgslen FS_KundeAlfabetisk. Derfor kan du <strong>med</strong> rette<br />

spørge, hvorfor du overhovedet skulle oprette en sorterende forespørgsel. Som systemudvikler<br />

er det dit valg, på hvilket niveau en sortering skal oprettes - tabel, forespørgsel, formular eller<br />

rapport. I dette fakturasystem får du for øvrigt brug for FS_KundeAlfabetisk i en senere opgave<br />

- så arbejdet er ingenlunde spildt.<br />

Automatisk telefonopkald<br />

Når du bruger dit kundekartotek til at slå et telefonnummer op, er det smart, hvis du også kan få<br />

<strong>Access</strong> til at ringe op til kunden. Det skal du nu oprette et værktøj til. Det virker kun, hvis du<br />

har modem! Hvis ikke, springer du denne del af opgaven over.<br />

Åbn formularen FM_Kundekartotek i designvisning.<br />

Klik på værktøjet Værktøjskasse (eller vælg menukommandoen Vis, Værktøjskasse),<br />

hvis værktøjskassen ikke allerede vises.<br />

Klik på værktøjet Kontrolelementguider. Knappen skal “trykkes ind”, hvis den<br />

ikke allerede er “inde” (vises <strong>med</strong> en lysere farve).<br />

Klik på værktøjet Kommandoknap. Klik et passende sted i formularen, for<br />

eksempel tæt ved feltet Telefon. Guiden starter nu.<br />

Vælg Diverse og Autoopkald.<br />

Klik på Næste.<br />

Klik på Næste for at acceptere billedet Telefon1.<br />

<strong>Start</strong> <strong>med</strong> <strong>Access</strong> 97 - access97.doc - 17-08-01 - 03:31<br />

28


29<br />

Navngiv knappen:<br />

KommandoknapAutoopkald<br />

Klik på Udfør.<br />

Knappen er nu indsat på formularen.<br />

Gem formularen <strong>med</strong> Filer, Gem.<br />

Gå til formularvisning <strong>med</strong> værktøjet<br />

Visning (Formularvisning).<br />

Sådan ringer du til en kunde: Klik i det<br />

felt, der indeholder telefonnummeret.<br />

Klik på telefonknappen.<br />

Klik på OK for at acceptere nummeret.<br />

Vent.<br />

Løft røret, og klik på Samtale.<br />

Se på side 54, hvordan du hurtigt kan slå<br />

op på en ønsket kunde.<br />

Træt af skyerne?<br />

Er du træt af de dumme skyer på din formular?<br />

Forespørgsel til sortering<br />

Åbn formularen FM_Kundekartotek i designvisning. Formularen<br />

skal være markeret. Hvis den ikke er markeret, klikker du på<br />

den lille firkant i dens øverste, venstre hjørne. Formularen er<br />

markeret, når firkanten indeholder en lille sort firkant som vist<br />

på billedet. Formularen er automatisk markeret, hvis du netop<br />

har åbnet den - og ikke klikket på noget endnu.<br />

Vælg menukommandoen Formater, Autoformat. Vælg Standard og OK. Luk formularen<br />

<strong>med</strong> Filer, Luk.<br />

<strong>Start</strong> <strong>med</strong> <strong>Access</strong> 97 - access97.doc - 17-08-01 - 03:31


Skærmbilleder til fakturaer<br />

Øvelse 9: Skærmbillede til fakturaer<br />

I denne øvelse lærer du følgende:<br />

• at oprette en formular <strong>med</strong> underformular<br />

• at ændre i en formular<br />

Du skal nu oprette en ny formular, som indeholder en anden formular: Nemlig en fakturahovede-formular,<br />

som indeholder en formular <strong>med</strong> fakturalinjer. På den måde kan vi få fakturahovedet<br />

til at hænge sammen <strong>med</strong> fakturalinjerne på skærmen.<br />

I databasevinduet klikker du på fanebladet Forespørgsler. Klik på FS_Fakturahoved, så<br />

den er markeret.<br />

Vælg menukommandoen Indsæt, Formular. Vælg Guiden formular og klik på OK.<br />

Klik på symbolet >> for at overføre alle forespørgslens felter til den nye formular.<br />

Der skal også data <strong>med</strong> fra forespørgslen<br />

FS_Fakturalinje. Vælg FS_Fakturalinje i feltet Tabeller/forespørgsler.<br />

Overfør felterne FakturaTekst, Antal, Pris, Total og Moms. Altså ikke FakturalinjeNr<br />

og FakturaNr. De har betydning for sammenkædning af data, men du behøver ikke se<br />

dem på skærmen. Fakturanummeret fremgår jo af fakturahovedet.<br />

Du kan overføre felterne enten ved at dobbeltklikke på dem ét for ét, eller ved at bruge<br />

knappen ><br />

Klik på Næste. <strong>Access</strong> foreslår, at der oprettes en formular <strong>med</strong> underformular styret af<br />

FS_Fakturahoved. Det er OK, så du vælger igen Næste.<br />

Vælg Tabelformat som layout til underformularen. Klik på Næste.<br />

Vælg Farverigt2 - og klik Næste.<br />

Udfyld feltet Formular <strong>med</strong> titlen:<br />

FM_Fakturahoved<br />

- og feltet Underformular <strong>med</strong>:<br />

FM_FakturalinjeUnderformular<br />

- og klik på Udfør. Vente et øjeblik. Din ny formular<br />

åbnes.<br />

Hvis du har fulgt de tidligere øvelser, er der allerede oprettet en faktura. Den<br />

vises i formularen nu. Nu er du klar til at oprette en ny faktura: Vælg menukommandoen<br />

Poster, Dataindtastning (eller klik på værktøjet Ny post i<br />

værktøjslinjen).<br />

Tryk ENTER for at komme til feltet KundeNr. Tast: 2 og tryk ENTER. Hele den øverste<br />

del af fakturaen er nu udfyldt. Kundens navn og adresse kom automatisk frem. Tryk<br />

ENTER 4 gange. Markøren står nu i feltet FakturaTekst.<br />

<strong>Start</strong> <strong>med</strong> <strong>Access</strong> 97 - access97.doc - 17-08-01 - 03:31<br />

30


31<br />

Skærmbilleder til fakturaer<br />

Tast: Rengøring og tryk ENTER. Tast: 5 og tryk ENTER. Tast: 120 og tryk ENTER.<br />

Tryk 2 gange mere på ENTER. Udfyld på samme måde 3 timers vinduespudsning til<br />

samme timepris.<br />

Hvis du vil udfylde en faktura mere, skal du enten klikke i ét af fakturahovedets felter, før<br />

du vælger menukommandoen Poster, Dataindtastning - eller klikke på det nederste af<br />

Ny post-symbolerne - der skal nemlig oprettes et nyt fakturahovede, ikke blot en ny<br />

fakturalinje.<br />

Forbedring af formularen<br />

Formularen kan blive meget bedre. Vi vil gå ind og gøre følgende:<br />

• Tilretning af størrelse på formular og felter.<br />

• Kundenavn og -adresse i låste felter, så markøren hopper forbi.<br />

• Bedre skærmfarver.<br />

• Totalbeløb for neden på skærmbilledet.<br />

Gå ind i design-visning for at ændre formularen. Vælg menukommandoen Vis,<br />

Designvisning (Formulardesign) eller klik på værktøjet Visning<br />

(Formularvisning).<br />

Sådan ser formularen ud i<br />

designvisning. Gør den<br />

bredere ved at trække<br />

bagkanten mod højre.<br />

Klik på den hvide underformular.<br />

Herved markeres<br />

den <strong>med</strong> objekthåndtag.<br />

Gør også underformularen<br />

bredere ved at<br />

trække i objekthåndtaget<br />

midt på dens højre kant.<br />

Klik på værktøjet Visning<br />

(Formularvisning) for at checke resultatet og gå tilbage til designvisning igen.<br />

Flyt datofeltet<br />

op til højre på<br />

fakturahovedet<br />

således: Markér<br />

feltet ved klik.<br />

Placér markøren<br />

nær overkanten<br />

af feltet<br />

- markøren ændres til en flad hånd (den må ikke være en hånd, der peger). Træk feltet til<br />

ønsket position.<br />

Tip: Den pegende hånd bruges til at flytte et felt uafhængigt af titlen eller omvendt. Placér<br />

markøren i øverste venstre hjørne af objektet (felt eller titel) for at ændre markøren til<br />

hånden, der peger.<br />

<strong>Start</strong> <strong>med</strong> <strong>Access</strong> 97 - access97.doc - 17-08-01 - 03:31


Skærmbilleder til fakturaer<br />

Giv fakturahovedet en anden bundfarve: Klik et neutralt sted i fakturahovedet<br />

(det gule område, hvis du har farveskærm). Klik på listepilen ved værktøjet<br />

Fyld- og baggrundsfarve (Baggrundsfarve). Vælg en stærk gul, den<br />

er så livsbekræftende. Gem formularen ved at klikke på værktøjet Gem<br />

(eller menukommandoen Filer, Gem).<br />

Tip: Hvis du vil tilbage til standardformatet igen, vælger du menukommandoen Formater,<br />

Autoformat.<br />

Næste forbedring er at låse felterne FirmaNavn, Adresse og PostnrBy. Klik på disse 3<br />

felter - hold SHIFT nede, mens du klikker på de to sidstnævnte (den tast, der bruges til<br />

store bogstaver). Alle felterne er nu markeret <strong>med</strong> håndtag.<br />

Højreklik et sted ovenpå disse 3 markerede objekter. Vælg<br />

Egenskaber. Vælg fanebladet Data. Aktiveret skal være<br />

Nej, og Låst skal være Ja. Luk egenskabsvinduet igen.<br />

Titlen FM_Fakturalinje lige over underformularen kan<br />

undværes. Klik på den, så den markeres <strong>med</strong> objekthåndtag -<br />

og tryk DELETE.<br />

Underformularen skal også forbedres. Dobbeltklik midt i det<br />

hvide. Herved åbnes underformularen i designvisning. Hvis<br />

det ikke lykkes, klikker du en enkelt gang et neutralt sted i den øverste del af formularen<br />

(det gule område) - og dobbeltklikker igen midt i underformularen.<br />

Træk bjælken Formularfod lidt nedad<br />

(du trækker i overkanten af bjælken).<br />

Markér felterne ved navn Antal i både<br />

detaljesektion og formularhoved ved<br />

at trække musmarkøren hen over begge<br />

felter <strong>med</strong> musknappen nede. <strong>Start</strong><br />

nedefra i det neutrale område lige under<br />

Antal i detaljesektionen. Begge<br />

felter er nu markeret <strong>med</strong> objekthåndtag.<br />

Placér musmarkøren på det midterste objekthåndtag i højre side af ét af<br />

de to markerede felter. Markøren forvandles til en vandret dobbeltpil.<br />

Træk mod venstre således at begge felter forkortes.<br />

<strong>Start</strong> <strong>med</strong> <strong>Access</strong> 97 - access97.doc - 17-08-01 - 03:31<br />

32


33<br />

Skærmbilleder til fakturaer<br />

Forkort felterne Pris, Total og Moms på samme måde. Flyt disse tre felter mod venstre,<br />

så der ikke er for meget luft imellem dem.<br />

Gå helt ud til højre i formularen og træk bagkanten mod venstre. Træk eventuelt bjælken<br />

Formularfod lidt op igen.<br />

Markér felterne Total og Moms uden at markere etiketterne i Formularhoved <strong>med</strong>. Disse<br />

felter skal låses, for her har brugeren ikke noget at gøre. Højreklik oven på ét af de markerede<br />

felter. Vælg Egenskaber. Vælg fanebladet Data og sæt Aktiveret til Nej og Låst<br />

til Ja. Luk egenskabsvinduet igen.<br />

Gem og luk underformularen: Filer, Gem og Filer, Luk.<br />

Der er plads nok til at gøre<br />

underformularen lidt højere.<br />

Den er stadig markeret <strong>med</strong><br />

objekthåndtag. Ellers klik en<br />

ekstra gang i det hvide. Træk<br />

opad i objekthåndtaget <strong>med</strong><br />

på underformularens højrekant, så den kommer op under PostnrBy. Pas på, at du ikke<br />

kommer til at flytte (<strong>med</strong> den flade hånd). Markøren skal være en lodret dobbeltpil, når<br />

du trækker.<br />

Træk på samme måde et par centimeter nedad i underkanten af underformularfeltet.<br />

Gem formularen ved at klikke på værktøjet Gem (eller <strong>med</strong> menukommandoen Filer,<br />

Gem).<br />

Gå tilbage til formularvisning <strong>med</strong> Vis, Formularvisning (Vis, Formular).<br />

Fakturaen er nu klar til brug. Der mangler dog især én ting: Totalt fakturabeløb.<br />

Inden vi ordner dét, kunne du måske lige fakturere kunde nr. 4 for:<br />

Rengøring, 6 timer (timepris: 110 kr.)<br />

Vinduespudsning, 3 timer (timepris 130 kr.)<br />

Luk derefter fakturaen <strong>med</strong> Filer, Luk.<br />

<strong>Start</strong> <strong>med</strong> <strong>Access</strong> 97 - access97.doc - 17-08-01 - 03:31


Øvelse 10: Sum i nyt felt<br />

I denne øvelse lærer du:<br />

• at oprette et nyt felt på en formular<br />

• at kode en udregning<br />

Sum i nyt felt<br />

Der mangler fakturabeløb på fakturaen! Der kan jo være mange ydelser (mange fakturalinjer),<br />

og skærmen skal vise, hvor meget hele fakturaen lyder på.<br />

Summen opdaterer tallene i underformularen (<strong>med</strong> fakturalinjerne). Derfor skal du igen ind og<br />

ændre i underformularen.<br />

I databasevinduet vælger du fanebladet Formularer. Klik på<br />

FM_FakturalinjeUnderformular og på Design. Den åbnes nu i designvisning.<br />

Træk i underkanten af bjælken Formularfod. Herved<br />

oprettes et område, hvor du kan indsætte objekter,<br />

som altid vil være til syne nederst i underformularen.<br />

(Sådan trækker du: Placér markøren på nederste kant<br />

af formularfod-bjælken. Når markøren ændres til en<br />

lodret, gennemskåret dobbeltpil, holder du musknappen<br />

nede og trækker et par centimeter nedad.)<br />

Klik på værktøjet Værktøjskasse (eller vælg menukommandoen<br />

Vis, Værktøjskasse) for at få værktøjskassen frem - hvis denne<br />

særlige værktøjslinje ikke allerede vises.<br />

Klik på værktøjet Tekstboks. Klik et sted i formularfodens grå område. Der<br />

tegnes nu et felt.<br />

Klik på titlen Tekst10 (muligvis et andet tal),<br />

klik dernæst inde i feltet, så du får en indsætningsmarkør.<br />

Skriv Fakturabeløb og slet<br />

Tekst10.<br />

Klik på, og dernæst i, feltet Ubundet, så du får en indsætningsmarkør ind i dette felt.<br />

Skriv: =sum(Total+Moms)<br />

Tryk ENTER<br />

<strong>Access</strong> sætter feltnavnene ind i kantede parenteser.<br />

Dette felt leverer summen af alle totaler og al moms på fakturaen<br />

- dvs. fakturabeløbet.<br />

Resultatet i det nye felt <strong>med</strong> formlen skal vises i formatet Valuta. Højreklik på feltet.<br />

Vælg Egenskaber. Vælg fanebladet Formater. Klik i feltet Format og vælg Valuta<br />

(kan gøres ved at taste: v). Luk egenskabsvinduet igen.<br />

Fakturabeløbet skal være fremhævet på skærmbilledet. Klik på værktøjet Fed, mens feltet<br />

endnu er markeret.<br />

<strong>Start</strong> <strong>med</strong> <strong>Access</strong> 97 - access97.doc - 17-08-01 - 03:31<br />

34


35<br />

Sum i nyt felt<br />

Gem og luk formularen <strong>med</strong> Filer, Gem og Filer, Luk.<br />

Åbn og maksimér FM_ Fakturahoved.<br />

Nu er det en svir at lægge fakturaer ind. Opret en faktura som den viste til kunde<br />

nummer 2.<br />

Ja, ja, det er sandt. Hvordan skal du kunne vide, hvilket kundenummer de enkelte har,<br />

når du har oprette 5000 kunder? Det ser vi på i næste øvelse...<br />

Opsummerende forklaringer<br />

Formularens forskellige dele<br />

Formularen består af 3 dele: et formularhoved, en detaljedel og en formularfod.<br />

De vandrette bjælker viser tydeligt, hvad der er hvad.<br />

I formularhovedet har du formularens titel.<br />

I området Detalje har du selve formularens indhold. Det vil sige alle felter og deres titeltekster.<br />

Du har desuden et specielt felt - det store - som indeholder underformularen.<br />

Du kan ændre formularens bredde ved at trække i den lodrette linje til højre.<br />

Flytte et kontrolelement<br />

Et kontrolelement får “håndtag”, når du klikker på det. Når musemarkøren derefter føres ind<br />

over kontrolelementet, ændres den til en “flad hånd”. Tryk musknappen ned, og hold den nede,<br />

mens du trækker kontrolelementet derhen, hvor du vil have det. Hvis det er en tekstboks, vil titelteksten<br />

flytte <strong>med</strong>. Hvis du vil flytte den ene af de to uafhængigt af den anden, skal du pege i<br />

kontrolelementets øverste, venstre hjørne. I stedet for en “flad hånd” bliver markøren til en<br />

“pegende hånd”, som vil trække den ene af de to ting <strong>med</strong> sig.<br />

Tip! Du kan også få den “flade hånd” til at komme frem ved at klikke midt på et umarkeret<br />

kontrolelement og holde musknappen nede.<br />

<strong>Start</strong> <strong>med</strong> <strong>Access</strong> 97 - access97.doc - 17-08-01 - 03:31


Sum i nyt felt<br />

Tip! Du kan godt markere flere kontrolelementer på én gang. Træk musemarkøren - <strong>med</strong> musknapen<br />

holdt nede - hen over alle de kontrolelementer, du vil markere.<br />

En anden måde at gøre det på er at klikke på kontrolelementerne enkeltvis, mens du holder<br />

SHIFT-tasten nede.<br />

Ændre et kontrolelement<br />

Når kontrolelementet er markeret, kan du også foretage alle mulige andre ændringer: Størrelse,<br />

farve, egenskaber osv.<br />

Størrelse Træk i kontrolelementets håndtag. Hvis du ønsker, kontrolelementet skal<br />

tilpasses sit indhold, giver du kommandoen Formater, Størrelse, Tilpas til<br />

indhold.<br />

Slette Du sletter et markeret kontrolelement ved at trykke på tasten DELETE.<br />

Skrifttype Angiv ønsket skrifttype og -størrelse i boksene øverst på skærmen. Desuden<br />

har du mulighed for Fed og Kursiv, samt justering.<br />

Farve Klik på symbolerne Fyld og baggrundsfarve (Baggrundsfarve) og Skrift<br />

og forgrundsfarve (Forgrundsfarve) for at ændre farver.<br />

Låse kontrolelementer<br />

Du låser et felt i formularen ved at højreklikke på feltet og vælge Egenskaber (eller<br />

klikke på værktøjet Egenskaber efter at have markeret feltet). Vælg fanebladet Data.<br />

Aktiveret: Nej betyder, at markøren ikke hopper ind i feltet.<br />

Låst: Ja betyder, at der ikke kan skrives noget i feltet.<br />

Du kan lukke egenskabesvinduet igen ved at klikke på værktøjet Egenskaber en gang til.<br />

<strong>Start</strong> <strong>med</strong> <strong>Access</strong> 97 - access97.doc - 17-08-01 - 03:31<br />

36


37<br />

Øvelse 11: Kombinationsboks<br />

I denne øvelse lærer du følgende:<br />

Kombinationsboks<br />

• at oprette et drop-down felt til at vælge kunde i på fakturaen<br />

• at bruge guiden i <strong>Access</strong>-værktøjskassen<br />

Selv om din fakturaformular allerede nu kan fungere til indtastning, mangler der en nem måde<br />

at vælge kunde på. Når du har oprettet mange kunder, kan du ikke huske kundenumrene. Derfor<br />

skal du kunne vælge kunde i et drop-down felt, også kaldet en kombinationsboks.<br />

I databasevinduet vælger du fanebladet Formularer. Åbn FM_Fakturahoved i designvisning.<br />

Slet feltet Kundenummer (både titel og felt skal slettes).<br />

Fremkald værktøjslinjen Værktøjskasse, hvis den ikke allerede er fremme. Du<br />

kan også hente værktøjslinjen <strong>med</strong> menukommandoen Vis, Værktøjskasse.<br />

Klik på værktøjet Kontrolelementguider. Knappen skal “trykkes ind”, hvis den<br />

ikke allerede er “inde” (vises <strong>med</strong> en lysere farve).<br />

Klik på værktøjet Kombinationsboks. Klik lige under feltet FakturaNr (ikke<br />

titlen helt ude til venstre). Nu starter guiden sit arbejde.<br />

<strong>Access</strong> foreslår, at kombinationsboksen<br />

skal slå værdierne op i en tabel eller forespørgsel.<br />

Det er netop sagen, så du vælger<br />

Næste.<br />

Det er bedst, hvis du kan vælge firmanavn<br />

i en alfabetisk liste. Derfor vælger<br />

du Forespørgsler (for neden i Vis) og<br />

FS_KundeAlfabetisk.<br />

Klik på Næste.<br />

Udvælg felterne KundeNr og Firmanavn<br />

ved at klikke 2 gange på ><br />

Klik på Næste.<br />

<strong>Start</strong> <strong>med</strong> <strong>Access</strong> 97 - access97.doc - 17-08-01 - 03:31


Kombinationsboks<br />

Sådan vil kombinationsboksen præsentere kunderne i<br />

listen. Hvis du vil ændre kolonnebredderne, trækker du<br />

i de lodrette streger i overskriftslinjen. Klik på Næste.<br />

<strong>Access</strong> beder dig vælge, hvilket felt, der indeholder<br />

data, du vil gemme. Det skal være KundeNr. Klik på Næste.<br />

Vælg Gem værdien i dette felt og<br />

vælg KundeNr i listen.<br />

Klik på Næste.<br />

Tast: KundeNr som etiketnavn.<br />

Klik på Udfør.<br />

Højreklik på det ny felt og vælg Egenskaber. Klik på fanebladet Andre. Klik i feltet<br />

Navn. Skriv: KundeNr (det er en god idé at give feltet et navn, du let kan genkende - det<br />

vil du se, når du om lidt ændrer på tabulatorrækkefølgen).<br />

Luk egenskabsvinduet igen.<br />

Gem formularen <strong>med</strong> Filer, Gem og gå i formularvisning <strong>med</strong> Vis, Formularvisning<br />

(Formular).<br />

Nu vises formularen <strong>med</strong> den første faktura, der er indtastet. Tryk en gang på ENTER.<br />

Hov, hvad skete der? Markøren hoppede ikke til kundenummer! Det er fordi et nyt felt<br />

altid automatisk placeres sidst i tabulatorrækkefølgen. Gå tilbage til designvisning <strong>med</strong><br />

Vis, Designvisning (Formulardesign).<br />

Vælg menukommandoen Vis, Tabulatorrækkefølge.<br />

Klik én gang på den grå firkant til venstre for navnet KombinationsboksKundeNr.<br />

Herved markeres navnet.<br />

Træk derefter firkanten opad - og slip den lige efter FakturaNr.<br />

Klik på OK.<br />

Gem formularen <strong>med</strong> Filer, Gem. Gå i formularvisning <strong>med</strong> Vis, Formularvisning<br />

(Formular). Nu er du klar til at lægge fakturaer ind!<br />

<strong>Start</strong> <strong>med</strong> <strong>Access</strong> 97 - access97.doc - 17-08-01 - 03:31<br />

38


39<br />

Kombinationsboks<br />

Udskrift af en faktura<br />

Du kan indtil videre udskrive en faktura således (i en senere opgave opretter du en rapport, som<br />

giver en “rigtig” faktura).<br />

Klik på den lodrette bjælke til venstre i skærmbilledet. Herved markeres bjælken,<br />

det vil sige posten, og det vil igen sige fakturaen.<br />

Vælg menukommandoen Filer, Udskriv<br />

Vælg knappen Det markerede (Markerede poster).<br />

Klik på OK.<br />

Øvelse 12: Rapporter<br />

I denne øvelse lærer du:<br />

• at oprette rapporter<br />

• at ændre rapporter<br />

Selv om du kan se dine kunder på skærmen i formularen FM_Kunder (som også kan vises i tabelformat<br />

<strong>med</strong> kommandoen Vis, Tabelvisning), er det nyttigt at kunne udskrive en liste på<br />

papir. Sidst i øvelsen opretter du en rapport over al din fakturering.<br />

Kundeliste<br />

I databasevinduet går du ind under fanebladet Forespørgsler. Du kan lige så godt starte<br />

<strong>med</strong> at udpege den forespørgsel, rapporten skal bygge på. Klik på FS_KundeAlfabetisk.<br />

Vælg menukommandoen Indsæt, Rapport. Vælg Guiden Rapport og klik OK.<br />

Udvælg alle felter på nær Note ved at klikke 7<br />

gange på ><br />

Klik på Næste.<br />

Klik på Næste en gang mere, da du ikke i denne<br />

rapport har brug for grupperingsniveauer.<br />

Vælg Firmanavn som sorteringsnøgle 1. Klik på<br />

Næste.<br />

<strong>Access</strong> foreslår Tabelformat og Stående papirretning.<br />

Det er OK, så du klikker igen på Næste.<br />

Vælg for eksempel Kompakt som layout. Klik på Næste.<br />

Tast: Kundeliste som titel. Klik på Udfør.<br />

<strong>Start</strong> <strong>med</strong> <strong>Access</strong> 97 - access97.doc - 17-08-01 - 03:31


Sådan ser din rapport ud -<br />

klar til print.<br />

Kombinationsboks<br />

Klik på værktøjet Luk for at se den i designvisning.<br />

Rapportdesign er bygget sådan op:<br />

• Rapporthoved: Indeholder elementer, der kun skal stå i<br />

starten af rapporten.<br />

• Sidehoved: Elementer, der skal stå øverst på hver side.<br />

• Detaljesektion: Fortløbende data.<br />

• Sidefod: Elementer, der skal stå nederst på hver side.<br />

• Rapportfod: Elementer, der kun skal stå til sidst i rapporten.<br />

Luk rapporten <strong>med</strong> Filer, Luk.<br />

Tilbage i databasevinduet vælger du fanebladet rapporter. Her ses din rapport. Du kan<br />

køre rapporten ved at dobbeltklikke på den (eller klikke og vælge Vis).<br />

Rapporten er gemt under navnet Kundeliste. Hvis du vil ændre den navn, højreklikker du<br />

på den, og vælger Omdøb. Indtast nyt navn og tryk på ENTER.<br />

Sortering og gruppering<br />

Hvis du klikker på værktøjet<br />

Sortering og gruppering (i<br />

designvisning), kommer du<br />

ind i et vindue, hvor du kan ændre på<br />

måden, kunder sorteres på. Du kan fx<br />

beslutte, at kunderne først skal sorteres<br />

efter PostnrBy - og indenfor hvert<br />

postnr efter Firmanavn. Hvis du ønsker<br />

det, skal det stilles op som vist på<br />

billedet. Du lukker vinduet igen<br />

ved at klikke på symbolet Sortering og<br />

gruppering.<br />

<strong>Start</strong> <strong>med</strong> <strong>Access</strong> 97 - access97.doc - 17-08-01 - 03:31<br />

40


41<br />

Rapport over fakturering<br />

Kombinationsboks<br />

Vælg fanebladet Forespørgsler i databasevinduet. Klik på FS_Fakturalinje. Vælg menukommandoen<br />

Indsæt, Rapport. Vælg Guiden rapport og OK.<br />

Udvælg felterne FakturaNr, Fakturatekst, Total og Moms. Klik på Næste.<br />

<strong>Access</strong> foreslår, at der grupperes efter FakturaNr.<br />

Det accepterer du ved at klikke på Næste.<br />

Næste billede er opsummering og sortering.<br />

Det kan du springe over nu ved igen at klikke på<br />

Næste.<br />

Vælg Blok og klik på Næste. Vælg Erhvervsmæssig (Merkantilt) og klik på Næste.<br />

Tast: Fakturering som titel. Klik på Udfør.<br />

Sådan ser din rapport ud - pæn og nydelig. Det er en udmærket rapport, hvis du er ligeglad <strong>med</strong>,<br />

hvad der er solgt og momset totalt. Men det er du ikke ligeglad <strong>med</strong>!<br />

Vælg menukommandoen Vis, Designvisning (Rapportdesign).<br />

Træk nedad i nederste kant af bjælken Rapportfod, så der bliver<br />

plads til et indsætte et felt til en afsluttende hovedtotal.<br />

Hvis værktøjslinjen Værktøjskasse ikke allerede vises, fremkalder<br />

du den <strong>med</strong> menukommandoen Vis, Værktøjskasse (eller knappen<br />

Værktøjskasse).<br />

Klik på værktøjet Tekstboks. Klik i rapportfoden, der hvor hovedtotalen for<br />

salg skal indsættes. Indsæt en tekstboks mere, som skal være hovedtotal for<br />

moms.<br />

Lav titlerne om til Salg<br />

hovedtotal og Moms hovedtotal.<br />

<strong>Start</strong> <strong>med</strong> <strong>Access</strong> 97 - access97.doc - 17-08-01 - 03:31


Kombinationsboks<br />

Klik på, og derefter i, det første af felterne <strong>med</strong> teksten Ubundet.<br />

Skriv: =sum(Total)<br />

Tryk ENTER<br />

Aktivér værktøjet Fed for at ændre feltet til fed skrift, mens den endnu er markeret. Højreklik<br />

på feltet, vælg Egenskaber og fanebladet Formater. Vælg Valuta i feltet Format.<br />

Luk egenskabsvinduet igen.<br />

Gå på samme måde ind i det andet felt <strong>med</strong> teksten Ubundet.<br />

Skriv: =sum(Moms)<br />

Tryk ENTER<br />

Aktivér værktøjet Fed for at ændre feltet til fed skrift, mens den endnu er markeret. Højreklik<br />

på feltet, vælg Egenskaber og fanebladet Formater. Vælg Valuta i feltet Format.<br />

Luk egenskabsvinduet igen.<br />

Gem rapporten. Se resultatet ved at klikke på værktøjet Vis udskrift (eller vælge<br />

menukommandoen Vis, Vis udskrift). Nu er der hovedtotaler på. Det er op<br />

til dig selv at rette videre på rapporten, hvis du ikke er tilfreds <strong>med</strong> udseendet.<br />

Øvelse 13: Udskrift af én faktura<br />

I denne øvelse lærer du følgende:<br />

• at oprette en rapport, der kun udskriver en enkelt post<br />

• mere om tilretning af rapporter<br />

At udskrive en faktura giver et særligt problem: Den skal nemlig kun udskrive én bestemt post,<br />

nærmere betegnet den aktuelle faktura. Derfor er der 3 led i denne opgave: 1) Oprette en forespørgsel,<br />

som passer til rapporten. 2) Oprette rapporten. 3) Oprette en knap i fakturaformularen,<br />

der bestiller en udskrift af den faktura, der ses på skærmen.<br />

Forespørgslen<br />

I databasevinduet klikker du på fanebladet Forespørgsler. Klik på FS_Fakturalinje og<br />

på knappen Ny. Vælg Guiden Simpel Forespørgsel<br />

og OK.<br />

Udvælg felterne FakturaNr, FakturaTekst, Antal,<br />

Pris, Total og Moms.<br />

Bliv i vinduet - klik ikke på Næste!<br />

I feltet Tabeller/Forespørgsler vælger du nu forespørgslen<br />

FS_FakturaHoved.<br />

Udvælg felterne KundeNr, Firmanavn, Adresse,<br />

<strong>Start</strong> <strong>med</strong> <strong>Access</strong> 97 - access97.doc - 17-08-01 - 03:31<br />

42


43<br />

Kombinationsboks<br />

PostnrBy og Dato på samme måde som før. Klik på Næste. Klik endnu en gang på næste<br />

for at acceptere <strong>Access</strong>’ forslag.<br />

Indtast titlen: FS_UdskrivFaktura. Klik på Udfør.<br />

Du har nu oprettet en forespørgsel,<br />

som indeholder alle<br />

de oplysninger, du har brug<br />

for på en faktura: Fakturanummer,<br />

kundeoplysninger,<br />

dato, ydelse, antal, pris og moms.<br />

Du mangler blot at ændre designet sådan, at den kun viser én faktura ad gangen.<br />

Gå i designvisning <strong>med</strong><br />

Vis, Designvisning (Forespørgselsdesign).<br />

Gør eventuelt feltet<br />

FakturaNr lidt bredere (træk i den<br />

korte, lodrette streg i den grå overbjælke).<br />

Klik i feltet Kriterier.<br />

Skriv: =Forms!FM_Fakturahoved!FakturaNr og tryk ENTER<br />

Forklaring: Forms betyder: Slå værdien op i en formular.<br />

! er skilletegn.<br />

FM_Fakturahoved er navnet på den formular, værdien skal findes i.<br />

FakturaNr er navnet på det felt i formularen, værdien står i.<br />

Med andre ord: Værdien i forespørgslens felt skal svare til den aktuelle værdi i formularen<br />

FM_FakturaHoved. Det kan du benytte dig af, når du senere opretter en knap, der kalder rapporten<br />

direkte fra faktura skærmbilledet.<br />

Husk: Navnet på formular og felt skal være skrevet helt i overensstemmelse <strong>med</strong> de navne, de<br />

pågældende elementer har i systemet. Hvis du ikke har fulgt bogen til punkt og prikke her til,<br />

kan det være andre navne hos dig.<br />

Gem forespørgslen. Prøv nu at køre den <strong>med</strong> menukommandoen<br />

Vis, Dataarkvisning (Dataark). Da <strong>Access</strong><br />

ikke lige nu “kigger” i en åben forespørgsel ved<br />

navn FM_Fakturahoved, spørges der efter fakturanummer.<br />

Hjælp systemet lidt, ved at bede om alle fakturalinjer<br />

fra faktura nr. 1. Klik derefter på OK.<br />

Nu vises den eller de linjer, som indgår på faktura nr. 1 - og det er lige præcis det, du har<br />

brug for - alle fakturalinjer fra én bestemt faktura! Luk forespørgslen igen <strong>med</strong> Filer,<br />

Luk.<br />

<strong>Start</strong> <strong>med</strong> <strong>Access</strong> 97 - access97.doc - 17-08-01 - 03:31


Kombinationsboks<br />

Rapporten<br />

I databasevinduet vælger du forespørgslen FS_UdskrivFaktura. Vælg menukommandoen<br />

Indsæt, Rapport.<br />

Vælg Designvisning og OK. Denne gang skal du opbygge rapporten helt manuelt.<br />

Vælg Vis, Rapporthoved/rapportfod for at kalde disse sektioner frem. Så er du klar til<br />

arbejdet!<br />

Giv rapporten lidt mere bredde ved at trække bagkanten af det hvide lidt mod højre.<br />

Klik på værktøjet Etiket (hvis værktøjskassen ikke er fremme, vælger du Vis,<br />

Værktøjskasse). NB: Knappen ser lidt anderledes ud i <strong>Access</strong> 95.<br />

Klik i det hvide område under bjælken Rapporthoved - skriv: Faktura og tryk<br />

på ENTER. Vælg skriftstørrelse 16 og Fed. Vælg menukommandoen Formater, Størrelse,<br />

Tilpas til indhold<br />

.<br />

Træk ned i øverste kant af bjælken Sidehoved for at få mere plads i rapporthovedet.<br />

Klik på værktøjet Tekstboks. Klik i venstre side af rapporthovedet. Vælg<br />

skriftstørrelse 12. Højreklik på Ubundet og vælg Egenskaber. Vælg fanebladet<br />

Data. Vælg Firmanavn i feltet Kontrolelementkilde. Luk egenskabsboksen<br />

igen. Tilpas størrelsen af feltet <strong>med</strong> Formater, Størrelse, Tilpas til indhold.<br />

Kopier det nyoprettede felt, mens det stadig er markeret.<br />

Det nemmeste er at bruge tastkombinationen<br />

CTRL+C og umiddelbart derefter CTRL+V. Du kan<br />

også bruge menukommandoerne Rediger, Kopier og<br />

umiddelbart derefter Rediger, Sæt ind.<br />

Træk det nederste<br />

af de to<br />

felter (det<br />

markerede)<br />

over i højre side<br />

af rapporten.<br />

Du bruger “den flade hånd” til at trække <strong>med</strong>.<br />

Klik på titlen Tekst1 i venstre side. Tryk på tasten DELETE. Kun titlen må forsvinde.<br />

Firmanavn bliver stående. Ryk derefter Firmanavn helt ud til venstre. Feltet er nu markeret<br />

<strong>med</strong> objekthåndtag.<br />

<strong>Start</strong> <strong>med</strong> <strong>Access</strong> 97 - access97.doc - 17-08-01 - 03:31<br />

44


45<br />

Kombinationsboks<br />

Mens Firmanavn i venstre side stadig er markeret, kopierer du feltet ved at tryk Ctrl+C<br />

og derefter CTRL+V 2 gange. Kopier på samme måde feltet i højre side 2 gange.<br />

Lav titlerne Tekst1 om til henholdsvis Kundenr, Fakturanr<br />

og Dato.<br />

Højreklik på det øverste felt <strong>med</strong> Firmanavn i højre side.<br />

Vælg Egenskaber og fanebladet Data. Vælg KundeNr i<br />

feltet Kontrolelementkilde.<br />

Tilpas på<br />

samme måde<br />

kontrolelmentkilde<br />

for alle<br />

de andre felter.<br />

Feltet<br />

øverst i venstre side er i orden: Firmanavn. Feltet under det skal være Adresse, og under<br />

det PostnrBy. I højre side skal det være Kundenr, Fakturanr og Dato.<br />

Gem rapporten <strong>med</strong> navnet Faktura.<br />

Klik i det<br />

hvide område<br />

under bjælkenSidehoved.<br />

Indsæt<br />

ved hjælp af<br />

værktøjet<br />

Etiket teksterne: Fakturatekst, Antal, Pris, Total og Moms. Skriftstørrelse skal være 12<br />

og det skal være <strong>med</strong> Fed.<br />

Indsæt ved<br />

hjælp af<br />

værktøjet<br />

Tekstboks<br />

felter i detaljesektionen.<br />

Brug højreklik og Egenskaber til at vælge kontrolelementkilde: Fakturatekst, Antal,<br />

Pris, Total og Moms. Skriftstørrelse skal være 12. Etiketter slettes for alle fem felter. For<br />

Pris, Total og Moms sætter du følgende egenskab: Under fanebladet Formater i egenskabsvinduet<br />

vælger du Standard ved Format.<br />

Tip: Du kan indstille egenskaber for alle tre felter på én gang. Marker alle felterne først<br />

ved at trække hen over dem <strong>med</strong> musmarkøren (start trækket uden for felterne) eller ved<br />

at markere det første, og dernæst klikke på de to næste <strong>med</strong> SHIFT-tasten holdt nede. Gå<br />

derpå ind i egenskaber via højreklik oven i ét af elementerne.<br />

Klik i området Sidefod. Indsæt en tekstboks <strong>med</strong> værktøjet<br />

Tekstboks. Vælg igen skriftstørrelse 12, og brug kommandoen<br />

Formater, Størrelse, Tilpas til indhold. Titlen laver du om til:<br />

Side og Ubundet overskriver du <strong>med</strong>: =Page<br />

<strong>Start</strong> <strong>med</strong> <strong>Access</strong> 97 - access97.doc - 17-08-01 - 03:31


Kombinationsboks<br />

Indsæt også en etiket <strong>med</strong> “dit eget” firmanavn og adresse et passende sted i sidefoden.<br />

Hvis du vil have linjeskift inde i etiketten, trykker du SHIFT+ENTER.<br />

Klik i området under bjælken Rapportfod. Indsæt<br />

en tekstboks, stadig skriftstørrelse 12 og <strong>med</strong><br />

Fed og størrelse tilpasset indhold. Titel skal være<br />

Fakturabeløb.<br />

Ubundet erstattes <strong>med</strong>: =sum(Total+Moms)<br />

Højreklik på feltet, vælg Egenskaber og fanebladet<br />

Formater. Under Format vælges Standard.<br />

Selv om rapporten godt kunne blive pænere (det vil jeg overlade til dig selv) er<br />

den nu klar til brug. Gem den <strong>med</strong> værktøjet Gem (eller Filer, Gem) og prøv at<br />

køre den. Klik på værktøjet Vis udskrift. Tast: 1 og klik på OK. Rapporten vises<br />

nu - og er klar til udskrift. Du er sikkert fristet til at gå i designvisning og<br />

rette lidt på felter og titler, så de står i pæne kolonner...<br />

Hvis din rapport er blevet for bred i forhold til<br />

A4-papir, får du en advarsel. Sker det, går du<br />

tilbage i designvisning og gør den smallere.<br />

Gå ud af rapporten igen <strong>med</strong> Filer, Luk.<br />

Knap til udskrift af faktura<br />

Når du kører rapporten direkte fra databasevinduet,<br />

“ved” <strong>Access</strong> ikke, hvilket fakturanummer, den skal vælge. Du lagde nemlig ind i forespørgslen<br />

(side 44), at den skulle aflæse fakturanummeret på formularen FM_Fakturahoved. Sidste led er<br />

derfor at oprette en knap, der bestiller udskriften direkte fra formularen.<br />

I databasevinduet vælger du fanebladet Formularer. Klik på<br />

FM_Fakturahoved og vælg Design. Kald værktøjskassen frem (Vis, Værktøjskasse),<br />

hvis den ikke allerede er fremme. Aktivér knappen Kontrolelementguider,<br />

hvis den ikke allerede er aktiveret, det vil sige “trykket ind”, det<br />

vil sige lys i bundfarven.<br />

Klik på værktøjet Kommandoknap. Klik et sted i fakturahovedet, for eksempel<br />

lige under Dato. Nu starter guiden.<br />

Vælg Rapporthandlinger og Vis udskrift af rapport<br />

(Vis rapport).<br />

Klik på Næste.<br />

Vælg Faktura. Klik på Næste.<br />

Udfyld feltet tekst <strong>med</strong>: Udskriv faktura<br />

<strong>Start</strong> <strong>med</strong> <strong>Access</strong> 97 - access97.doc - 17-08-01 - 03:31<br />

46


47<br />

Klik på Næste.<br />

Navngiv knappen:<br />

KommandoknapUdskrivFaktura<br />

Klik på Udfør.<br />

Kombinationsboks<br />

Gem formularen <strong>med</strong> Filer, Gem.Gå til formularvisning<br />

<strong>med</strong> Vis, Formularvisning. Blad<br />

til en faktura, du vil udskrive - og klik på den<br />

ny knap. Fakturaen vises nu. Når du lukker fakturaen, vender du tilbage<br />

til formularen. Dit system er nu funktionelt set klar til brug!<br />

Øvelse 14: Systemets menu<br />

I denne øvelse lærer du følgende:<br />

• at arbejde <strong>med</strong> en tom formular fra bunden<br />

• at oprette en menu til systemet<br />

• at oprette en makro<br />

Når du i det daglige skal bruge et system som dette, skal du kunne gå direkte ind i systemet via<br />

en genvej på Skrivebordet. Systemet bør automatisk vise dig en menu, hvor du via knapper kan<br />

vælge dig ind i formularer og rapporter.<br />

For at opbygge dette, starter du <strong>med</strong> at oprette selve menuen. Næste trin er en makro, der automatisk<br />

kalder menuen, når systemet startes. Til sidst opretter du genvejen på Skrivebordet.<br />

Menuformularen<br />

I databasevinduet vælger du fanebladet Formularer. Klik på knappen Ny og vælg Designvisning<br />

og OK. Udvid bredde og højde af det grå område, så der bliver plads til din<br />

menu.<br />

Fremkald værktøjskassen, hvis den ikke allerede er fremme (Vis, Værktøjskasse).<br />

Aktivér Kontrolelementguider, hvis den ikke allerede er aktiveret.<br />

Klik på værktøjet Etiket. Klik for oven i formularen og skriv: Fakturasystem<br />

Tryk SHIFT+ENTER<br />

Skriv: Happy Cleaning (eller vælg et andet firmanavn).<br />

Tryk ENTER<br />

Vælg skriftstørrelse 12, Fed og klik på værktøjet Centreret.<br />

Vælg menukommandoen Formater, Størrelse, Tilpas til indhold.<br />

Klik på værktøjet Kommandoknap. Klik et sted i venstre side af formularen.<br />

Guiden starter nu.<br />

<strong>Start</strong> <strong>med</strong> <strong>Access</strong> 97 - access97.doc - 17-08-01 - 03:31


Kombinationsboks<br />

Vælg Formularhandlinger og Åbn formular.<br />

Klik på Næste.<br />

Vælg FM_Fakturahoved og Næste. Accepter i<br />

næste trin Åbn formularen og vis alle posterne ved igen at klikke på Næste.<br />

Klik i feltet Tekst og skriv: Fakturering<br />

Klik på Næste.<br />

Navngiv knappen:<br />

KommandoknapFakturering<br />

Klik på Udfør.<br />

Indsæt på samme måde en<br />

knap, der åbner formularen<br />

FM_Kundekartotek.<br />

I højre side af formularen<br />

kan du indsætte knapper,<br />

der viser rapporterne Fakturering<br />

og Kundeliste<br />

(vælg Rapporthandlinger<br />

og Vis rapport og gå<br />

ellers frem som i det første<br />

eksempel).<br />

Der skal også være en knap til at afslutte systemet <strong>med</strong>. Klik på værktøjet Kommandoknap<br />

og klik et sted nedenunder de fire andre knapper. Vælg Program og Afslut program.<br />

Klik på Næste 2 gange. Tast: KommandoknapAfslutProgram. Klik på Udfør.<br />

Gem menuen <strong>med</strong> navnet FM_Menu.<br />

Gå i formularvisning <strong>med</strong> Vis, Formularvisning (Formular).<br />

<strong>Start</strong> <strong>med</strong> <strong>Access</strong> 97 - access97.doc - 17-08-01 - 03:31<br />

48


49<br />

Du kan nu gå ind i de forskellige dele af dit<br />

system via menuen.<br />

Når du lukker for eksempel faktureringsbilledet<br />

igen, kommer du “hjem” til menuen.<br />

Tip: På faktureringsbilledet og kundebilledet<br />

kan du indsætte knapper til at lukke billedet.<br />

Vælg Formularhandlinger og Luk<br />

formular i kommandoknapguiden.<br />

Kombinationsboks<br />

En makro, der automatisk åbner<br />

menuen<br />

Ud over at du kan oprette funktionsknapper, som du gjorde i kapitlet Menu, kan du også oprette<br />

makroer, der udfører rækker af handlinger. Du kan fx oprette en makro, der åbner 3 formularer<br />

på én gang. Du kan indlægge bib, <strong>med</strong>delelsesbokse og meget andet i dine makroer.<br />

Her i hæftet ser du kun toppen af isbjerget. Vi opretter en enkelt makro. Det er en lidt speciel<br />

makro, der skal afspilles automatisk, når databasen åbnes. Det klares ved, at makroen gemmes<br />

<strong>med</strong> navnet AUTOEXEC. En makro, der hedder sådan, afspilles automatisk, når du går ind i dit<br />

system.<br />

I databasevinduet vælger du fanebladet Makroer. Klik på Ny. Du får nu et vindue frem,<br />

hvor du kan definere makroens enkelte handlinger.<br />

Klik i det øverste felt i kolonnen Handling.<br />

Vælg ÅbnFormular i den alfabetiske<br />

liste. Tryk ENTER for at gå videre til<br />

næste felt. Skriv: Åbner hovedmenu.<br />

Klik forneden i vinduet i feltet<br />

ud for Formularnavn. Vælg<br />

FM_Menu.<br />

Det var makroens første handling! Du kunne sådan set godt nøjes <strong>med</strong> denne ene. Men din menu<br />

vil se pænere ud, hvis den straks bliver maksimeret - dvs fylder hele skærmen ud. Så det<br />

lægger vi også ind i makroen.<br />

Klik i feltet lige under Åbn formular.<br />

Vælg Maksimer i listen. Tryk EN-<br />

TER for at gå videre til næste felt.<br />

Tast: Maksimerer skærmbilledet<br />

Så er din makro færdig. Vælg menukommandoen Filer, Gem.<br />

Tast: Autoexec<br />

<strong>Start</strong> <strong>med</strong> <strong>Access</strong> 97 - access97.doc - 17-08-01 - 03:31


Kombinationsboks<br />

(Det er vigtigt, at du angiver navnet rigtigt. Ellers åbner den ikke automatisk, når du går<br />

ind i systemet.)<br />

Så kan du godt gå ud af makrobilledet igen: Filer, Luk.<br />

Tilbage i databasevinduet vælger du menukommandoen Filer, Luk for at gå ud af dit databasesystem<br />

- uden at afslutte <strong>Access</strong>. Vælg menukommandoen Firma og 1 for at åbne<br />

samme database igen. Menuen åbnes nu automatisk.<br />

Genvejen til dit system<br />

Hvis du er vant til at bruge Windows 95, kender du sandsynligvis også til at oprette genveje.<br />

For alle tilfældes skyld gives her kort en beskrivelse af, hvordan du opretter en genvej til systemet.<br />

<strong>Start</strong> <strong>med</strong> at vælge kommandoen Filer, Afslut for at afslutte systemet helt. Afslut eller<br />

minimér alle andre programmer, så du kan se Skrivebordet (Desktoppen) i Windows 95.<br />

Højreklik på <strong>Start</strong>-knappen. Vælg Stifinder (Explorer). Stifinder skal være<br />

vindue, det må altså ikke være maksimeret. Gå ind i C-drevet og finde databasen<br />

Firma.mdb (eller Firma). Træk filen <strong>med</strong> højre musknap ud på skrivebordet.<br />

Slip musknappen og vælg Opret genvej(e) her. Luk Stifinder. Du<br />

kan nu kommer direkte ind i dit ny system ved at dobbeltklikke på genvejen.<br />

Øvelse 15: Brevfletning i Word<br />

I denne øvelse lærer du følgende:<br />

• at foretage en brevfletning i Word direkte fra dit system<br />

• at filtrere kunderne, så du kun sender til en udvalgt gruppe<br />

Når du nu har registreret alle dine kunder i systemet, er det praktisk at du kan brevflette, hvis du<br />

får brug for at sende det samme brev til alle kunderne, eller til en udvalgt gruppe. Brevfletning<br />

bygger normalt på en forespørgsel.<br />

I denne øvelse opretter du et brev til alle de kunder, hvis faxnummer du ikke har i systemet.<br />

I databasevinduet klikker du på fanebladet<br />

Forespørgsler. Højreklik på<br />

FS_KundeAlfabetisk og vælg Kopier. Højreklik<br />

et sted i det hvide og vælg Sæt ind.<br />

Skriv: FS_Brevfletning og klik på OK.<br />

FS_KundeAlfabetisk er lige til at bruge, hvis du vil skrive til alle kunder. Men i dette tilfælde<br />

skal der kun oprettes et brev til dem, hvor feltet Fax er tomt. Det går vi ind og<br />

fortæller forespørgslen FS_Brevfletning, inden brevfletningen køres.<br />

Åbn FS_Brevfletning i designvisning. Kør ved hjælp af rullepanelet mod højre til feltet<br />

Fax.<br />

<strong>Start</strong> <strong>med</strong> <strong>Access</strong> 97 - access97.doc - 17-08-01 - 03:31<br />

50


51<br />

Kombinationsboks<br />

Klik i rækken Kriterier. Skriv NULL. Tryk ENTER. I feltet ændres det<br />

indtastede til Is Null (Is Nulværdi).<br />

Gem forespørgslen <strong>med</strong> Filer, Gem. Luk <strong>med</strong> Filer, Luk.<br />

I databasevinduet skal FS_Brevfletning være markeret. Klik på listepilen<br />

ved værktøjet OfficeLinks. Vælg Brevfletning <strong>med</strong> Microsoft Word.<br />

Du får nu valget mellem at<br />

oprette et nyt dokument eller<br />

brevflette ét, du allerede<br />

har skrevet. Her er der ikke<br />

på forhånd skrevet noget<br />

brev, så du vælger Oprette et nyt dokument og sammenkæde dataene <strong>med</strong> det. Klik<br />

derefter på OK.<br />

Word viser nu en helt nu værktøjslinje. I stedet for at skrive kundens navn øverst i brevet,<br />

klikker du på værktøjet Indsæt fletfelt. Vælg Firmanavn.<br />

Tryk ENTER for at gå ned på en ny linje. Klik igen på Indsæt fletfelt. Vælg Adresse.<br />

Tryk ENTER. Indsæt på samme måde PostnrBy.<br />

Tryk 2 gange på ENTER. Skriv: Att.:<br />

Indsæt fletfeltet Kontaktperson. Tryk 2 gange på ENTER.<br />

Vælg menukommandoen Indsæt, Dato og klokkeslæt. Afkryds Opdater automatisk,<br />

hvis du ønsker et felt, der altid viser dags dato. Vælg et passende format og klik OK.<br />

Tryk ENTER 3 gange og skriv: Kære (husk et mellemrum). Indsæt fletfeltet Kontaktperson.<br />

Tryk ENTER 2 gange. Skriv:<br />

Da vi ikke har registreret Deres faxnummer, beder vi Dem<br />

venligst <strong>med</strong>dele os det. De vil herefter månedligt modtage<br />

en fax <strong>med</strong> oplysninger om vore produkter og tilbud.<br />

Med venlig hilsen<br />

Happy Cleaning<br />

Toni Schmidt<br />

Klik på værktøjet Flet til nyt dokument. Der oprettes nu et nyt dokument, klar<br />

til udskrivning. Det indeholder et brev til hver af de kunder, der opfylder betingelsen<br />

i forespørgslen FS_Brevfletning.<br />

Luk Word igen <strong>med</strong> Filer, Afslut.<br />

<strong>Start</strong> <strong>med</strong> <strong>Access</strong> 97 - access97.doc - 17-08-01 - 03:31


Kombinationsboks<br />

Øvelse 16: Lav dit eget opslagsværktøj<br />

I denne øvelse beskrives:<br />

• oprettelse af værktøj til hurtigt opslag i kundeformularen<br />

• makro<br />

Når du skal slå op på en kunde, er det udmærket at foretage en søgning som beskrevet tidligere i<br />

hæftet. Desværre kan det føles lidt tungt i daglig brug. Derfor opretter du her en kombinationsboks,<br />

hvor du hurtigt kan foretage et alfabetisk opslag på en kunde.<br />

Princippet er, at du på formularen FM_Kundekartotek opretter en formularfod <strong>med</strong> en ubundet<br />

kombinationsboks. Den foretager et opslag i forespørgslen FS_KundeAlfabetisk. En makro<br />

foretager derefter en søgning, som bringer den ønskede kunde frem <strong>med</strong> alle detaljer.<br />

I databasevinduet vælger du fanebladet Formularer. Åbn FM_Kundekartotek i designvisning.<br />

Udvid formularfoden ved at trække nedad i underkanten af bjælken Formularfod (vælg<br />

menukommandoen Vis, Formularhoved/formularfod hvis bjælken ikke er der).<br />

Kald værktøjskassen frem, hvis den ikke allerede er fremme (Vis, Værktøjskasse).<br />

Klik på værktøjet Kontrolelementguider, så det ikke er aktivt<br />

(knappen må ikke være trykket ind, dvs. lys).<br />

Klik på værktøjet Kombinationsboks.<br />

Klik i formularfoden,<br />

så boksen indsættes.<br />

Lav titlen om til:<br />

Opslag<br />

Gør kombinationsboksen<br />

lidt længere.<br />

Højreklik på Ubundet og vælg Egenskaber.<br />

Gå ind under fanebladet Formater. Sæt værdien Antal<br />

kolonner til: 2 (det betyder, at kombinationsboksen skal<br />

vise 2 kolonner, nemlig KundeNr og Firmanavn).<br />

Gå ind under fanebladet Data. Vælg<br />

FS_KundeAlfabetisk i feltet Rækkekilde.<br />

Gå ind under fanebladet Andre. Tast: OpslagKunde<br />

i feltet Navn. Dette navn skal du huske.<br />

Det er elementets navn, og det skal makroen bruge,<br />

når den skal “se”, hvad den skal søge efter.<br />

<strong>Start</strong> <strong>med</strong> <strong>Access</strong> 97 - access97.doc - 17-08-01 - 03:31<br />

52


53<br />

Kombinationsboks<br />

Luk egenskabsvinduet. Gem formularen <strong>med</strong> Filer, Gem. Gå til formularvisning <strong>med</strong><br />

Vis, Formularvisning (Formular).<br />

Klik på listepilen ved din ny kombinationsboks. Boksen viser nu alle kunder i alfabetisk<br />

orden. Der sker blot ikke noget, når du vælger én. Vi mangler makroen til at søge kunden<br />

frem. Luk formularen <strong>med</strong> Filer, Luk.<br />

I databasevinduet vælger du fanebladet Makroer. Klik på knappen Ny.<br />

Vælg: GåTilKontrolelement i feltet Handling. Tryk på ENTER. Skriv: Gå til KundeNr<br />

Klik i feltet Kontrolelementnavn. Skriv: KundeNr<br />

Denne del af makroen flytter fokus til feltet<br />

KundeNr.<br />

Klik i feltet Handling på næste linje. Vælg SøgEfterPost. Tryk på ENTER.<br />

Skriv: Søger efter opslagsværdien.<br />

Klik i feltet Søg efter for neden i skærmbilledet.<br />

Skriv: =OpslagKunde<br />

Tryk på ENTER. Feltnavnet sættes nu i<br />

kantede parenteser.<br />

OpslagKunde er det navn, du gav den ny<br />

kombinationsboks. Det er værdien heri,<br />

makroen skal søge efter.<br />

Makroen er nu klar til brug. Vælg<br />

menukommandoen Filer, Gem.<br />

Tast: FindKunde og klik OK. Luk<br />

makrobilledet <strong>med</strong> Filer, Luk.<br />

I databasevinduet vælger du fanebladet Formularer. Åbn FM_Kundekartotek i designvisning.<br />

Højreklik på Ubundet i formularfoden. Vælg Egenskaber. Gå ind under fanebladet<br />

Hændelse.<br />

Klik i feltet Efter opdatering. Vælg FindKunde.<br />

Det vil sige, at makroen FindKunde aktiveres, i samme øjeblik, der er valgt en værdi i<br />

kombinationsboksen. Og hvad gør makroen? Den hopper op i feltet KundeNr og foretager<br />

en søgning efter kunden <strong>med</strong> det nummer, som er valgt i kombinationsboksen. Hokus<br />

pokus!<br />

Gem formularen og gå i formularvisning for at afprøve<br />

din nye, lækre facilitet.<br />

<strong>Start</strong> <strong>med</strong> <strong>Access</strong> 97 - access97.doc - 17-08-01 - 03:31


Kombinationsboks<br />

Når du klikker på listepilen i den ny kombinationsboks,<br />

ses alle firmanavne alfabetisk i listen.<br />

Klik på et navn - og kunden søges frem.<br />

Hvis du netop har oprettet nye navne, skal du bruge<br />

menukommandoen Poster, Opdater for at få dem<br />

<strong>med</strong> i opslagslisten.<br />

Øvelse 17: En avanceret forespørgsel<br />

I denne øvelse lærer du følgende:<br />

• at oprette en forespørgsel <strong>med</strong> opsummering<br />

• at sætte parameter på en forespørgsel<br />

Hvis du laver en forespørgsel, som bygger på fakturalinjer, kan du få <strong>Access</strong> til at opsummere<br />

totalerne for hver faktura.<br />

Parameter vil sige, at systemet spørger dig, hvad der skal vises. I denne opgave opretter du en<br />

forespørgsel, der beder dig oplyse, for hvilken periode, du vil se fakturaer.<br />

I databasevinduet vælger du fanebladet Forespørgsler. Klik på FS_Fakturalinje - den<br />

skal du nu bygge en ny forespørgsel over. Vælg menukommandoen Indsæt, Forespørgsel.<br />

Vælg Guiden Simpel Forespørgsel og klik på OK.<br />

Vælg felterne FakturaNr og Total.<br />

Klik ikke på Næste.<br />

Vælg FS_Fakturahoved i feltet Tabeller/Forespørgsler.<br />

Vælg feltet Dato.<br />

Klik på Næste.<br />

Vælg Opsummering (Resume). Klik derefter<br />

på Opsummeringsindstillinger<br />

(Resumeindstillinger).<br />

<strong>Start</strong> <strong>med</strong> <strong>Access</strong> 97 - access97.doc - 17-08-01 - 03:31<br />

54


55<br />

Kombinationsboks<br />

Afkryds Sum for feltet Total. Klik på OK.<br />

Klik på Næste og på Næste én gang til (du<br />

skal ikke have datogruppering).<br />

Tast: FS_FakturalinjeOpsummering som<br />

titel til forespørgslen. Klik på Udfør.<br />

Her ses din forespørgsel <strong>med</strong> opsummering for hver<br />

faktura.<br />

MEN: Lad os sige, at du i det daglige vil bruge den på<br />

den måde, at du kun ønsker at se opsummeringerne for<br />

en enkelt dato ad gangen.<br />

Gå i designvisning <strong>med</strong> menukommandoen Vis,<br />

Designvisning (Forespørgselsdesign).<br />

Forespørgslen ser lidt<br />

anderledes ud end de<br />

foregående. Der er indsat<br />

gruppering og sum.<br />

Klik i linjen Kriterier i<br />

feltet Dato.<br />

Skriv: [Hvilken dato?]<br />

NB: De kantede parenteser laver du ved at holde ALT GR-tasten nede og trykke på tasterne<br />

<strong>med</strong> tegnene [ ]<br />

Det, der står i kantet parentes, præsenteres for dig som spørgsmål, når du kører forespørgslen.<br />

Når du så indtaster noget, indsættes det som kriterium.<br />

Gem forespørgslen <strong>med</strong> Filer, Gem. Klik på værktøjet<br />

Visning (Forespørgselsvisning). I et vindue får du nu<br />

spørgsmålet: Hvilken dato?<br />

Indtast den ønskede dato - og klik på OK.<br />

Tip: Hvis du ikke skriver noget årstal, betyder det “i år”.<br />

Forespørgslen viser dig nu totaler for den ønskede dato.<br />

Gå tilbage til designvisning. Det kan gøres endnu mere raffineret ved, at du kan indtaste<br />

både en startdato og en slutdato, så du kan se faktureringen for et tidsinterval.<br />

Slet den foregående parameter. Skriv i stedet:<br />

Between [<strong>Start</strong>dato] And [Slutdato]<br />

Gem forespørgslen <strong>med</strong> Filer, Gem. Klik på værktøjet<br />

Visning (Forespørgselsvisning).<br />

Indtast første dato. Tryk ENTER. Indtast sidste dato. Tryk<br />

ENTER. Forespørgslen viser nu alle fakturatotaler for den pågældende<br />

periode.<br />

<strong>Start</strong> <strong>med</strong> <strong>Access</strong> 97 - access97.doc - 17-08-01 - 03:31


Efterord<br />

Efterord<br />

Når du er nået her til, er det flot klaret! Du har nu sat dig ind i de vigtigste dele af systemudvikling<br />

<strong>med</strong> <strong>Access</strong>. Selvfølgelig ved du ikke alt om dette effektive værktøj. Men følger du bogens<br />

arbejdsform fremover, undgår du forhåbentlig at gå i de faldgrupper, som jeg desværre alt for<br />

ofte ser: Ustrukturerede databaser <strong>med</strong> uovervejet tabelopdeling, manglende primærnøgler og<br />

ingen etablerede relationer.<br />

Jeg er godt klar over, at hæftet ikke er gennemgået på et par timer. For mange vil det have været<br />

et ret svært stof. Alle forsøgspersoner har udtalt, at de måtte svede godt og grundigt for at komme<br />

igennem det. Men sådan er det: Systemudvikling tager den tid, systemudvikling tager. Selv<br />

<strong>med</strong> <strong>Access</strong> kommer det hele ikke af sig selv.<br />

Jeg håber, du <strong>med</strong> øvelserne i dette hæfte har fået tilstrækkelig indsigt til, at du selv kan komme<br />

videre på egen hånd. Tilbage er der kun at ønske dig held og lykke <strong>med</strong> <strong>Access</strong>!<br />

<strong>Start</strong> <strong>med</strong> <strong>Access</strong> 97 - access97.doc - 17-08-01 - 03:31<br />

56


adresseliste, 7<br />

aktiveret, 32<br />

alfabetisk sortering, 22<br />

analyse af data, 9<br />

anvend filter, 7<br />

autoexec, makro, 49<br />

autoformat, formular, 29<br />

autoformular, 6; 16<br />

automatisk dato, 18<br />

autonummerering, 13<br />

autoopkald, 28<br />

beskrivelse, 13<br />

between, 55<br />

billedet Relationer, 21<br />

brain storm, 10<br />

brevfletning, 50<br />

databaseguide, 5<br />

databasevinduet, 5<br />

dataforståelse, 8<br />

datamodellering, 8<br />

datatype, 13; 18<br />

dataanalyse, 9<br />

dato, 18<br />

datointerval, 55<br />

decimaltal, 19<br />

decimaltegn, 25<br />

designvisning, 16<br />

detalje, formular, 35<br />

detaljesektion, rapport, 40<br />

dobbelt heltal, 18<br />

E/R-modellen, 10<br />

egenskab, 25<br />

egenskaber, 15<br />

enhed, 10<br />

en-til-mange, 10<br />

entitet, 10<br />

entydighed, 11<br />

faktura, 12<br />

faktura, tabeller, 18<br />

faneblade i databasevinduet, 5<br />

farve, 32; 36<br />

felt, 13<br />

felt, flytning af, 44<br />

felt, låse, 32<br />

feltegenskaber, 15; 25<br />

feltlængde, 14<br />

feltstørrelse, 15<br />

filtrering, 7<br />

Firma-systemet, 8<br />

fjern filter, 7<br />

flow i arbejdet, 9<br />

flytte felt, 44<br />

forbedring af formular, 31<br />

forberedelse, 9<br />

fordele, 10<br />

forespørgsel, 22<br />

forespørgsel <strong>med</strong> udregning, 24<br />

forespørgsel, kriterier, 43<br />

format, 15<br />

formel i forespørgsel, 24<br />

formular, 26<br />

formular <strong>med</strong> underformular, 30<br />

formular, arbejde <strong>med</strong>, 31<br />

formular, autoformat, 29<br />

formular, menu, 47<br />

formular, opbygning, 35<br />

formular, sortering, 28<br />

formular, størrelse, 33<br />

formular, udskrive, 39<br />

formularfod, 35<br />

formularguide, 26<br />

formularhoved, 35<br />

formål, 8<br />

forrige, 6<br />

forståelse af data, 8<br />

første, 6<br />

gemme, 5<br />

genvej, 8<br />

genvej, Windows 95, 50<br />

gruppering, rapport, 40<br />

guide til formular, 26<br />

guiden database, 5<br />

guiden tabel, 6<br />

handlinger i makro, 49<br />

hjælp, 15<br />

hovedtotal, rapport, 41<br />

hændelse, 53<br />

indekseret, 15<br />

indsætte felt i formular, 34<br />

integritet, 21<br />

introduktion til <strong>Access</strong>, 5<br />

knap, 28<br />

kolonnebredde i tabel, 27<br />

kombinationsboks, 37; 52<br />

kombinere tabeller, 23<br />

kommandoknap, 28; 46; 47<br />

komme i gang, 10<br />

kontrolelement, flytte, 35<br />

kontrolelement, ændre, 36<br />

kontrolelementguide, 28; 37<br />

kopiering af felt, 44<br />

<strong>Start</strong> <strong>med</strong> <strong>Access</strong> 97 - access97.doc - 17-08-01 - 03:31


kriterier, 43<br />

kundekartotek, 11<br />

kundeliste, 39<br />

langt heltal, 18<br />

låse felt, 32; 36<br />

makro, 49; 53<br />

mange-til-en, 10<br />

manuel opbygning af rapport, 44<br />

manuel oprettelse af tabel, 13<br />

menu, 8; 47<br />

model, 10<br />

modellering af data, 8<br />

modem, 28<br />

moms, 12<br />

mål <strong>med</strong> databasen, 8<br />

navngivning af objekter, 14<br />

Null, 51<br />

nulværdi, 51<br />

ny post, 6; 17<br />

næste, 6<br />

objekters navn, 14<br />

oplysninger på faktura, 12<br />

oprette database, 5; 13<br />

oprette tabel, 13<br />

oprettelse af ny post, 17<br />

opslag, 52<br />

parameterforespørgsel, 54<br />

planlægning, 8; 9<br />

planlægning af tabeller, 11<br />

post, slette, 27<br />

primærnøgle, 11; 13<br />

principper for relationsdatabase, 10<br />

påkrævet, 15<br />

påtvunget referentiel integritet, 20<br />

rapport, 7; 39<br />

rapport til én faktura, 42<br />

rapport, opbygge manuelt, 44<br />

rapportdesign, 40<br />

rapportfod, 40<br />

rapporthoved, 40<br />

reelt tal, 19<br />

referentiel integritet, 20; 21<br />

relationer, 10; 20<br />

relationer, datatype, 18<br />

resumé, forespørgsel, 54<br />

rækkefølge, 38<br />

rækkefølge, arbejdsopgaver, 9<br />

sidefod, rapport, 40<br />

sidehoved, rapport, 40<br />

sidste, 6<br />

slette post, 27<br />

smagsprøve, 5<br />

sorter, 22<br />

sortering i formular, 28<br />

sortering, rapport, 40<br />

standardværdi, 15; 18; 19<br />

starte <strong>Access</strong>, 5<br />

<strong>Start</strong>-knappen, 5<br />

sum, 34<br />

sum i forespørgsel, 54<br />

systemet Firma, 8<br />

systemudvikling, 8; 9<br />

søgning, 7<br />

søgning i formular, 26<br />

tabel, 13<br />

tabel, indsætte linje, 14<br />

tabel, indtaste data, 16<br />

tabel, slette linje, 14<br />

tabelform, formular, 27<br />

tabellen fakturalinje, 19<br />

tabeller til faktura, 18<br />

tabeller, kombinere, 23<br />

tabeller, planlægning, 11<br />

tabulatorrækkefølge, 38<br />

tal, 19<br />

talformat, 25<br />

tekst, datatype, 13<br />

tekstboks, 34<br />

tekstboks, rapport, 41<br />

telefon, 28<br />

titel på tekstboks, 34<br />

titeltekst, 15<br />

total, 12; 34<br />

tænkestorm, 10<br />

ubundet, 34<br />

udregning, 24; 34<br />

udregning i forespørgsel, 24<br />

udskrive formular, 39<br />

udskrivning, 7<br />

udskrivning af post, 39<br />

udvikling af system, 8<br />

udvælgelse i forespørgsel, 51<br />

underformular, 30<br />

unik, 13<br />

validering, 15<br />

valutaformat, 25; 34<br />

vis udskrift, 42<br />

vælge felter i formular, 26<br />

værktøjskasse, 37<br />

ønsker, 10<br />

åbne <strong>Access</strong>, 5<br />

åbne database, 7<br />

<strong>Start</strong> <strong>med</strong> <strong>Access</strong> 97 - access97.doc - 17-08-01 - 03:31

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!