Demo 7
Access 2000 perusteita
Talleta demo7.mdb (Access 97) U:-asemalle ja avaa
se Microsoft Access 2000:een.
Taulujen ominaisuuksien muuttaminen
Taulun ominaisuuksia pääsee muokkaamaan Tables-välilehdellä
valitsemalla taulun hiiren oikealla nappulalla
ja valitsemalla Design View. Aukaise Nauha-taulu
design-tilaan.
Valitsemalla hiirellä muutettavan kentän pääsee määrittelemään
yleisiä ominaisuuksia ja hakuominaisuuksia.
Yleiset ominaisuudet (engl. General)
- Field Size (Kentän koko)
- Määrittelee kentän maksimipituuden tekstikentille. Numerokentille määrittelee talletustarkkuuden.
- Format (Muoto)
- Määrittelee millä tavalla muotoiltuna kentän sisältö esitetään.
- Decimal Places (Desimaalipaikat)
- Näytettävien desimaalien määrä.
- Input Mask (Syöttörajoite)
- Määrittelee muodon jossa tieto on kenttään syötettävä.
- Caption (Otsikko)
- Esitettävä otsikko, jos se on muu kuin kentän nimi.
- Default Value (Oletusarvo)
- Kenttään valmiiksi tuleva oletusarvo.
- Validation Rule(Kelpoisuussääntö)
- Kentälle määriteltävät oikeellisuustarkistukset.
- Validation Text (Kelpoisuussäännön kuvaus)
- Teksti, joka näytetään jos käyttäjä syöttää jotakin
oikeellisuustarkistuksien vastaista.
- Required (Arvo tarvitaan)
- Määrittelee onko kenttää pakko täyttää. Kentät kannattaa lähes aina
määritellä pakollisiksi.
- Indexed (Indeksoitu)
- Määrittelee luodaanko kentän pohjalta hakuja nopeuttava hakemisto.
Määrittele ostopaiva näkymään päivän tarkkuudella.
Määrittele kelpoisuussääntö, joka pakottaa ostohinta-kentän
positiiviseksi (>0).
Hakuominaisuudet (engl. Lookup
- Display Control (Näytönohjausobjekti)
- Määrittelee näytetäänkö kenttä tavallisena muokkausruutuna(inputbox),
luetteloruutuna(listbox) vai yhdistelmäruutuna (combobox)
- Row Source Type (Rivilähteen tyyppi)
- Määrittelee mistä syötettävät arvot haetaan. Vaihtoehtoina ovat joko jonkin
taulun tai kyselyn sisältämät arvot (Table/Query),
itsemääritelty luettelo
kelpaavista arvoista (value list) tai jonkin taulun
kenttäluettelo (Field list)
- Row Source (Rivilähde)
- Määrittelee lähteenä käytetyn taulun/haun nimen tai itsesyötetyt arvot
- Bound Column (Sidossarake)
- Kuinka mones kenttä hakutaulussa sisältää halutun tiedon
- Column Count (Sarakkeiden lukumäärä)
- Monta kenttää näytetään hakutaulusta
- Column Heads (Sarakkeiden otsikot)
- Näytetäänkö kenttien otsikot
- Column Widths (Sarakeleveys)
- Näytettävien kenttien leveydet ;-merkillä eroteltuina.
0-levyiset kentät piilotetaan.
- List Rows (Luettelon rivien määrä)
- Montako riviä näytetään listassa kerrallaan
- List Width (Luettelon leveys)
- alasvetovalikon leveys
- Limit To List (Vain luettelon käyttö)
- Kelpuutetaanko käyttäjän omat syötteet, jotka eivät ole samoja kuin hakutaulun sisältö.
Määrittele hakuominaisuudet Elokuva-kentälle:
- Combobox
- Haetaan Elokuva-taulusta
- Näytetään comboboxissa pelkästään elokuvan nimi. ID piilotetaan.
Määrittele vastaavalla tavalla hakuominaisuudet ostopaikka-kentälle.
Sulje design-ikkuna ja talleta taulun muutokset.
Tuplanapauta Nauha-taulua ja yritä syöttää siihen pari uutta
nauhaa. Huomaat heti kuinka paljon hakuominaisuuksien määrittäminen helpottaa tietojen
syöttämistä.
Määrittele selkiyttävät hakuominaisuudet myös Vuokraus-taulun JasenID-
ja NauhaID-kentille.
Sinun pitää ensimmäiseksi kirjoittaa kysely, jota
voit käyttää apunasi NauhaID-kentän yhteydessä.
Kirjoita kysely, joka hakee nauhalla olevan elokuvan nimen ja Nauhan ID:n.
Talleta kysely nimellä Hae_nauhat.
Määrittele nyt hakuominaisuudet edellisten tapaan, mutta käytä NauhaID-kentän
yhteydessä Hae_nauhat-kyselyä.
Lomakkeet
Siirry Forms-välilehdelle. Luodaan lomake helpottamaan
jäsentietojen syöttämistä.
Valitse Create form by using wizard.
- Valitse Jasen-taulu ja siitä kaikki kentät.
- Valitse Columnar-layout.
- Valitse mieleisesi tyyli.
- Anna lomakkeelle titleksi Jasen.
Lomake on valmis! Sulje lomake ja anna sille nimeksi Jasen.
Käynnistä lomake ja kokeile sen toimintaa.
JasenID-kenttää on turha näyttää käyttäjälle, koska se täyttyy automaattisesti.
Siirrytään muokkaamaan lomaketta View|Design view-valinnalla.
Ei poisteta varsinaista jasenID-kenttää, koska tarvitsemme sitä vielä myöhemmin.
Piilotetaan se kuitenkin näkyvistä.
- Valitse JasenID-kenttä hiiren oikealla näppäimellä.
- Valitse ponnahdusvalikosta Properties.
- Etsi JasenID-kentän ominaisuuksista kohta Visible ja aseta
sen arvoksi No.
- Sulje properties-ikkuna.

Properties-ikkunan kautta voi vaikuttaa kaikkiin lomakkeen ja sen kenttien ominaisuuksiin.
Talleta lomake.
Testaa lomakkeen toiminta valitsemalla View|Form view.
Lomakkeen ulkonäön hienosäätö saa jäädä kotitehtäväksi.
Luo vastaavalla tavalla lomake Vuokraus-taulun käsittelyyn.
Tee tästä lomakkeesta Tabular-tyyppinen ja talleta lomake
Vuokraus-nimelle.
Raportit
Luodaan ensimmäiseksi kysely raportin pohjaksi. Kirjoita kysely, joka
hakee Jasen-taulusta tiedot kaikista jasenista. Talleta kysely
nimellä Hae_jasen.
siirry Reports-välilehdelle. Luo uusi raportti velhon avulla (
Create report by using wizard).
- Valitse raportin pohjaksi Hae_jasen-kysely ja kaikki sen kentät
- Mitään ryhmittelyjä ei tarvita.
- Järjestä raportti JasenID:n mukaan.
- Valitse layoutiksi Columnar.
- Valitse haluamasi tyyli.
- Anna raportin otsikoksi Jäsentiedot
- Sulje raportti-ikkuna ja talleta raportti nimellä Jasen.
- Kokeile raportin toimintaa.
Käydään lisäämässä aiemmin tehtyyn lomakkeeseen nappula, jolla päästään suoraan
raporttiin.
- Siirry Forms-välilehdelle.
- Avaa Jasen-lomake Design-tilassa.
- Valitse Toolbox-palkista Command button
ja piirrä lomakkeelle haluamasi kokoinen nappula.
- Command Button Wizard aukeaa. Valitse nappulan toiminnaksi
Report operations ja Preview report.
- Valitse raportiksi jasen.
- Kirjoita nappulan tekstiksi Jäsentiedot.
- Anna nappulalle nimeksi Jasentiedot.
- Talleta lomake.
- Kokeile lomakkeen ja nappulan toimintaa.

Edellä tehdyn raportin ongelma on, että se näyttää aina kaikkien jäsenten tiedot.
Käyttökelpoisempaa olisi jos saisimme raporttiin aina vain tietyn jäsenen tiedot.
Emme voi kuitenkaan kirjoittaa uutta kyselyä jokaista olemassaolevaa ja tulevaa jäsentä
varten vaan joudumme muuttamaan jo tekemäämme kyselyä dynaamisesti.
- Aukaise Jasen-lomake design-tilassa.
- Valitse JasenID-kenttä ja ota näkyville sen ominaisuudet.
- Varmista, että JasenID-kentän name-ominaisuuden arvo
on varmasti JasenID.
- Aseta lomake Form view-tilaan.
- Älä sulje lomaketta.
- Aukaise Hae_jasen-kysely design-tilaan lomakkeen viereen.
- Kirjoita kyselyyn seuraavanlainen
WHERE-ehto:
WHERE JasenID = [Forms]![Jasen]![JasenID]
[Forms] tarkoittaa, että tehdään viittaus lomakkeisiin.
[Jasen] viittaa Jasen-nimiseen lomakkeeseen. [JasenID]-viittaa
JasenID-nimiseen kenttään. Eli kyselyssä haetaan Jasen-lomakkeella olevan JasenID-kentän
arvo WHERE-lauseeseen.
- Kokeile kyselyn toimintaa. Jos kysely toimii oikein niin hakutuloksessa pitäisi
näkyä vain sen jasenen tiedot, jotka näkyvät myös lomakkeella.
- Selaa lomakkeella näkyviin jonkun muun jäsenen tiedot ja yritä ajaa
kysely uudelleen.
- Talleta kysely.
- Kokeile lomakkeella olevan raporttinappulan toimintaa.
Tällaiset dynaamiset kyselyt toimivat vain Microsoft Accessissa.
Alilomakkeet
Tietojen syöttäminen on monesti kätevintä, kun yhdistetään kaksi lomaketta
toisiinsa siten, että toinen toimii määräävänä lomakkeena, jonka
perusteella toinen lomake näyttää vain osan tietokannan sisällöstä.
Esimerkiksi olisi kätevää jos tarvitsee vain kerran valita tietty jäsen, jonka
jälkeen näkee listassa suoraan kaikki tämän jäsenen vuokraukset ja voi muuttaa
tai lisätä niitä.
- Kopioi Jasen-lomake leikepöydälle. Liitä lomake accessiin
ja anna tälle uudelle lomakkeelle nimeksi Jasenen_vuokraukset.
- Avaa Jasenen_vuokraukset-lomake design-tilassa.
- Lisää Toolboxista lomakkeelle Subform.
Tee subformista tarpeeksi suuri.
- Access käynnistää (ja mahdollisesti asentaa) SubForm Wizard-toiminnon.
- Valitse use an existing form ja vuokraus.
- Access osaa suoraan ehdottaa lomakkeita yhdistävät kentät oikein. Valitse
Show vuokraus for each record in Jasen using JasenID.
- Anna alilomakkeelle nimeksi Vuokraus
- Talleta lomake.
- Kokeile lomakkeen toimintaa.
Valitsemalla haluttu jäsen pitäisi nyt alilomakkeessa näkyä vain tämän tietyn
jäsenen vuokraukset. Alilomakkeesta voitaisiin piilottaa JasenID-kenttä,
koska se nyt täyttyy automaattisesti ylemmän lomakkeen perusteella.
Luodaan vielä uusi dynaaminen raportti, joka näyttää lomakkeen tapaan tietyn asiakkaan
tiedot ja vuokraukset.
- Kirjoita kysely, joka hakee kaikki tiedot kaikista jäsenistä ja heidän vuokraamiensa
elokuvien nimistä. Talleta kysely Hae_vuokraukset-nimelle.
- Luo uusi raportti tekemäsi kyselyn pohjalta.
- Määrittele raporttiin ryhmittely jasenen mukaan (by Jasen).
- Ryhmittelytasoja eli Grouping levels ei tarvita.
- Järjestä raportti vuokrauspvm:n mukaan.
- Valitse layoutiksi stepped.
- Valitse haluamasi tyyli.
- Sulje ja talleta raportti Hae_vuokraukset-nimeltä.
- Kokeile raportin toimintaa. Raportin tarkempaa ulkonäköä voit säätää joskus
myöhemmin.
- Lisää Jasenen_vuokraukset-lomakkeelle nappula, joka
käynnistää äsken luomasi raportin. Poista lomakkeella jo ennestään oleva turha nappula.
- Varmista lomakkeen toiminta kokeilemalla.
- Muuta tekemäsi kysely dynaamiseksi niin, että se hakee vain lomakkeella näkyvän
jäsenen vuokraustiedot.
Sovelluksen rakentaminen
Luo syöttölomakkeet jokaiselle tietokannan taululle.
Lomakkeisiin voit lisätä omat tietueiden lisäys-, poisto- ja selausnappulat samalla
tavalla kuin raporttinappulankin.
Luo yksi lomake, joka ei pohjaudu mihinkään tauluun vaan toimii koko sovelluksen
aloitussivuna, josta pääsee kaikille muille lomakkeille.
- Valitse Create form in design view.
- Lisää lomakkeelle toolboxin label-työkalulla sovelluksen nimi.
- Muokkaa nimitekstin ominaisuudet haluamiksesi properties-ikkunan valintojen avulla.
- Lisää lomakkeelle nappulat joilla voidaan siirtyä muihin sovelluksen lomakkeisiin.
- Poista lomakkeelta navigointinappulat. Valitse lomakkeen ominaisuudet klikkaamalla
hiirellä jossakin lomakkeen pohjaruudukon ulkopuolella. Aseta Navigation buttons -ominaisuuden
arvoksi no.
- Aseta no myös Record Selectors ja Dividing Lines -kohtiin niin
turhat viivat poistuvat lomakkeelta.
- Tallenna lomake.
Tarkempaa ohjeistusta Accessin mahdollisuuksista löytyy mm. edellisvuoden
demo1:en ja
demo2:en
ohjeistuksesta.