1. Hensikten med kurset - Lars Marius Garshol
1. Hensikten med kurset - Lars Marius Garshol
1. Hensikten med kurset - Lars Marius Garshol
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
10. Skjemaer i Access: Detaljene<br />
10.1 Hvordan kontrollene fungerer<br />
Innføring i databaser<br />
De fleste kontrollene er enkle å bruke, men det er en del ting som bør nevnes i forhold til<br />
hvordan de skal lages.<br />
10.<strong>1.</strong>1 Hendelser<br />
Hver gang du klikker i et vindu eller trykker på en tast skjer en ‘hendelse’. Hver gang en<br />
hendelse inntreffer i et vindu eller en kontroll utløses en ‘hendelseshåndterer’ (event handler),<br />
som avgjør hva som skal skje. Denne er tilgjengelig som en egenskap ved vinduet/kontrollen,<br />
og kan være enten et uttrykk, en makro eller en prosedyre i Access Basic.<br />
10.<strong>1.</strong>2 Tekstbokser<br />
Tekstbokser er som regel tilordnet et felt i spørringen som skjemaet er basert på. Da vises<br />
feltverdien til gjeldende post i boksen, og dersom bruker endrer denne verdien vil feltverdien<br />
også endres idet gjeldende post skifter eller vinduet lukkes. Mao: tabellen oppdateres når du<br />
velger en ny post eller vinduet lukkes. Tekstboksene oppdateres fra tabellene stadig vekk, slik<br />
at hvis verdien skulle endres et annet sted vil du kunne se det straks.<br />
Du kan også lage en tekstboks som ikke er tilknyttet noe felt, denne vil da fungere som de<br />
andre tekstboksene, men vil ikke oppdatere noe felt. Verdien er likevel tilgjengelig i spørringer,<br />
makroer og prosedyrer som [forms]![Skjemanavn]! [Kontrollnavn]. Dette krever imidlertid at<br />
skjemaet er åpent, ellers vil du få en feilmelding.<br />
10.<strong>1.</strong>3 Kombinasjons- og listebokser<br />
Kombinasjonsbokser og listebokser viser data i ‘tabellform’, så de kan ikke vise enkle felter<br />
slik en tekstboks kan. Det de viser er spørringer eller tabeller, <strong>med</strong> utvalgte felter fra utvalgte<br />
poster, og du velger en av postene. Det som lagres i kontrollen er verdien i ett av feltene (det<br />
bundne feltet) i den valgte posten. Hvilket felt dette er velger du når du lager boksen.<br />
Hvis boksen skal oppdatere ett felt i en tabell må det bundne feltet inneholde den verdien som<br />
skal lagres i det feltet som skal oppdateres. For frem<strong>med</strong>nøkler vil dette være primærnøkkelen.<br />
Kombinasjons- og listebokser oppdateres ikke automatisk, siden dette vil kreve for mye datakraft.<br />
Istedet kan du oppdatere dem <strong>med</strong> Access Basic-kommandoen «DoCmd Requery<br />
[Boksens navn]». Denne kommandoen kan du sette inn i de hendelsesprosedyrene du måtte ha<br />
behov for den i.<br />
10.<strong>1.</strong>4 Knapper<br />
Når en knapp trykkes ned utføres hendelseshåndtereren til knappen. Denne vil utføre det som<br />
skal skje når knappen trykkes ned. Hendelseshåndtereren skrives av veiviseren hvis denne er<br />
istand til det, hvis ikke må du skrive den selv. Du kan også endre kode skrevet av veiviseren.<br />
1096 - <strong>Lars</strong> <strong>Marius</strong> <strong>Garshol</strong> 49