Miksi Access?
parametri-kysely
Matematiikka kyselyssä
Makrot ja VBA
DLOOKUP
Taulun tekoon -
kentät
Tavallinen toimistokäyttäjä
Vertailussa on tavallisen käyttäjän kannalta yleensä tietojen käsittely Excelissä verrattuna Access:iin.
Access soveltuu tilanteisiin, jossa tietoja yhdistellään useista tauluista esim. koodien perusteella.
Käyttäjäystävällisyys lomakkeiden ja raporttien muodossa helpottaa sovelluksen tekemistä myös
muille käyttäjille. Excel:ssä tämä on työläämpää ja toiminnot usein soveltuvat vain yhteen käyttö-
tarkoitukseen.Access soveltuu myös hyvin suurien tietomassojen säilyttämiseen ja käsittelyyn.
Käsittelyn toistettavuus on tärkeää esim. vertailuraporteissa ja -kyselyissä, joita on
helpompi tehdä kuin Excel:ssä.Jokin hinta on tietenkin maksettava ja se on pieni oppimiskynnys siirryttäessä tietojen käsittelyyn
tietokannassa. Idean ja sen edut omaksuu varsin nopeasti.Ohjelmia voi käyttää yhdessä - Excelistä ei tarvitse luopua otettaessa Access käyttöön.
Access-tietokannan voi päivittää toimimaan MS SQL Server:ssä, jolloin suorituskyky kasvaa.IT-asiantuntija
Access:n suorituskyky on usein keskusteltu aihe. Access-tietokanta on mainiosti käytettävissä
työryhmien 1 - 20 henkilöä - tietojenkäsittelyssä. Etäkäyttö voidaan hoitaa replikoimalla.
Liitynnät Oracle, MS SQL Server, yms. tietokantoihin onnistuvat helposti ODBC-linkityksellä.
Access-projekteilla voi hyödyntää Access:n ylivoimaista käytettävyyttä ja käyttäliittymän ohjelmoitavuutta.Ohjelmointi tapahtuu VBA:lla - voisi kärjistää, että Access on Visual Basic, jossa Access:n helpot
toiminnot ovat päällimmäisinä ja VBA käytettäessä tarvittaessa. Visual Basic:lla taas ohjelmointi-
kieli on päälimmäisenä ja tietokantaa kutsutaan käsin tehtävillä toiminnoilla.Lyhyesti arvioiden sovelluksen - ison tai pienen - teko on Access:llä 4 - 10 kertaa nopeampaa
(halvempaa?), kuin muilla välineillä.
Korvaamalla ehdot (criteria) kyselyssä hakasuluissa olevalla kysymyksellä (parametri) kyselystä
tulee monikäyttöinen, ts. joka kerta kysely suoritettaessa Access kysyy ensin kriteerin
ja avaa tulostaulun annetulla kriteerillä.'
Avattaessa kysely kysytään parametri:
Syöttämääsi arvoa käytetään kriteerinä - ikään kuin se tulee kriteriinä hakasuluissa olevan
parametrin tilalle:
HUOM! Hakasuluissa oleva parametri ei saa olla sama, kuin jo käytössä oleva kenttänimi.
Esim. jos haluat parametrin Maa-kenttälle voit käyttää parametrina:[Anna maa]
VINKKI! Jokeri- eli korvausmerkkejä voi käyttää kriteerinä yhdessä parametrin kanssa:
Like [Anna Maa] & "*"
Excelistä tutun If-funktion muoto Access-kyselyssä käytettäessä onkin Iif (Immediate If)!
Käytän menestyksellisesti kyselyjä ja makroja sovelluskehitykseen nopeuden ja intuitiivisuuden
takia. Protoilu, testaus ja virheentarkistus ovat helppoja.VBA:ssa on ominaisuuksia, joita makroista puuttuu:
VBA Makrot Case-rakenne Osittain toteutettavissa Condition-sarakkeella Loop-silmukat Osittain toteutettavissa Repeat-toiminnolla käyttämällä laskurina esim. lomakkeen kentän arvoa Vakiot ja muuttujat Osittain toteutettavissa käyttämällä lomakkeen kentän arvoa Funktiot: omat ja API Transaction-datan eräajot RollBack esim. väliaikaisilla tauluilla ja Delete-kyselyillä Tietokanta-objektien luominen Taulujen muokkaus SQL DDL-kyselyillä Virheiden käsittely OLE ja DDE-operaatiot Osittain korvattavissa linkityksellä Office-ohjelmiin Ylläolevaan olen kerännyt vaihtoehtoisia makroilla tehtäviä ratkaisutapoja. Huomattavaa etua VBA:lla saavutetaan
suorituskyvyssä ja omilla funktiolla.
Muoto:
DLookUp(kenttä,taulu,ehto)
Voidaan käyttää ilman ehtoakin esim. testaustilanteessa. Erottimena käytetään Access-ympäristössä pilkkua ja VBA-ympäristössä pilkkua.
kenttä kenttä, jonka arvon funktio palauttaa taulusta taulu taulu, josta haetaan ehto ehtolauseke, joka yksilöi palautettavan arvon Muistisääntö: kentän nimi on aina lainausmerkeissä (") ja hakasuluissa ([]), taulu ja ehto lainausmerkeissä.
Malli 1. Haetaan arvo vuoden perusteella:
DLookUp("[Tulos]";"Tilinpäätös";"[Vuosi]=2003")
Malli 2. Haetaan palkka tehtävämäärittely perusteella
DLookUp("[Peruspalkka]";"PalkkaLuokat";"[Tehtävä]='Ohjelmoija'")
tekstiehdon erottaa tässä yksinkertainen lainausmerkki (')
Jatkuu...
Kun teet tauluja tai tuot tietoja joudut miettimään minkätyyppisiä kenttiä tarvitset.
Yksinkertaisimpana nyrkkisääntöinä käytä:
- TEKSTI - jos et tiedä mitä kenttään tulee tai miten sitä käytetään
- NUMERO - jos kentällä lasketaan jotain jatkossa, esim. rahasummat, lkm, jne.
- PVM/AIKA - jos kentän perusteella lajitellaan, ryhmitellään tai lasketaan aikaa ja aikaeroja