Sissejuhatus avaldise süntaksisse

Microsoft Accessi kasutades võib teil ette tulla olukordi, kus on vaja töötada väärtustega, mis ei ole otseselt andmetest leitavad. Näiteks võib teil tekkida vajadus arvutada välja tellimuse käibemaks või tellimuse koguväärtus. Need väärtused saab arvutada avaldistega.

Avaldiste kasutamiseks tuleb need esmalt õiges süntaksis kirjutada. Süntaks on reeglitekomplekt, mille järgi avaldise sõnad ja märgid kombineeritakse.

Teisisõnu: kui tahate, et Access midagi teeks, peate rääkima Accessi keeles. Oletame, et tahate Accessile öelda: „Vaata tabeli „Kliendid“ välja „Sünnikuupäev“ ja ütle kliendi sünniaasta.“ Sellise avaldise saate kirjutada järgmiselt: DatePart("yyyy",[Kliendid]![Sünnikuupäev]). Avaldis koosneb funktsioonist DatePart ja kahest argumendist — „yyyy“ ja [Kliendid]![Sünnikuupäev].

Vaatame seda avaldist lähemalt.

Näidisavaldis

1. Funktsioon DatePart uurib kuupäeva ja tagastab kindla osa.

Näpunäide. : Alates versioonist Access 2010 on avaldisekoosturil IntelliSense, mis näitab, milliseid argumente avaldis nõuab.

2. Intervalliargument ütleb Accessile, milline osa kuupäevast tagastada – praegusel juhul ütleb „yyyy“ Accessile, et soovite tagastada ainult aasta osa.

3. Kuupäevaargument ütleb Accessile, kust kuupäevaväärtust leida – praegusel juhul ütleb väärtus „[Kliendid]![Sünnikuupäev]“ Accessile, et kuupäeva leiab tabeli „Kliendid“ väljalt „Sünnikuupäev“.

Nagu näete, kasutab Access avaldistes keelt, mida on esialgu veidi keerukas lugeda. Kui aga avaldise süntaksit mõistma hakkate ja sellega harjute, muutub töö märksa lihtsamaks.

Enne avaldiste kirjutamist peaksite endale selgeks tegema selle põhireeglid. See artikkel tutvustab põhimõtteid, mida on vaja tunda õige süntaksi kasutamiseks, ning käsitleb avaldistes kasutatavat süntaksit.

Selles artiklis ei käsitleta SQL-süntaksit (Structured Query Language) ega VBA-süntaksit (Visual Basic for Applications).

Selle artikli teemad

Sissejuhatus

Objektid, kogumid ja atribuudid

Identifikaatorid

Funktsioonid, tehtemärgid ja konstandid

Sissejuhatus

Avaldise koostamiseks kombineeritakse identifikaatoreid, kasutades funktsioone, tehtemärke ja konstante. Avaldis peab sisaldama vähemalt ühte funktsiooni või identifikaatorit ning võib sisaldada ka konstante ja tehtemärke Avaldise osana saab kasutada ka teist avaldist – tavaliselt funktsiooni argumendina.

  • Avaldiste identifikaatorid    Avaldise identifikaatori üldine vorm on järgmine: [Kogumi nimi]![ Objekti nimi]. [ Atribuudi nimi].

    Märkus. : Identifikaatorist tuleb määrata piisavalt osasid, et see oleks avaldise kontekstis kordumatu. Identifikaator võib esineda ka vormis „[Objekti nimi]“.

  • Avaldiste funktsioonid    Funktsiooni sisaldava avaldise üldine vorm on „Funktsioon(argument, argument)“, kus üks argumentidest on tavaliselt identifikaator või avaldis.

    Märkus. : Mõned funktsioonid ei nõua argumente.

    Enne kindla funktsiooni kasutamist vaadake vastavast spikriartiklist funktsiooni süntaksit.

  • Avaldiste tehtemärgid.    Tehtemärki sisaldava avaldise üldine vorm on „identifikaatortehtemärkidentifikaator“. Selles vormis on ka erandeid – need on toodud jaotise Tehtemärgid tabelites.

  • Avaldiste konstandid.    Konstante sisaldava avaldise üldine vorm on „identifikaatorvõrdlusmärkkonstant“.

Lehe algusse

Objektid, kogumid ja atribuudid

Accessi andmebaasi tabeleid, päringuid, vorme, aruandeid ja väljasid nimetatakse objektideks. Igal objektil on nimi. Mõnedel objektidel on nimed juba olemas, näiteks Microsoft Office Accessi kontaktide malli põhjal loodud kontaktide tabelil. Uue objekti loomisel tuleb panna sellele ka nimi.

Teatud tüüpi objekti liikmete komplekti nimetatakse kogumiks. Näiteks moodustavad andmabaasi kõik tabelid kokku kogumi. Mõned teie andmebaasi kogumisse kuuluvad objektid võivad ka ise olla objekte sisaldavad kogumid. Näiteks tabeliobjekt on kogum, mis sisaldab väljaobjekte.

Objektidel on atribuudid, mis kirjeldavad ja võimaldavad muuta objekti omadusi. Näiteks on päringuobjektil atribuut vaikevaade, mis kirjeldab ja võimaldab määratleda, kuidas päring selle käivitamisel kuvatakse.

Järgnev diagramm näitab suhet kogumite, objektide ja atribuutide vahel.

Kogumite, objektide ja atribuutide vahelised seosed

1. Kogum

2. Objekt

3. Atribuut

Lehe algusse

Identifikaatorid

Avaldises objekti, kogumi või atribuudi kasutamisel viidatakse vastavale elemendile identifikaatoriga. Identifikaator koosneb identifitseeritava elemendi nimest ja selle elemendi nimest, mille juurde esimene kuulub. Näiteks välja identifikaatorisse kuuluvad välja nimi ja tabeli nimi, millesse väli kuulub. Näiteks võib selline avaldise identifikaator olla järgmine: [Kliendid]![Sünnikuupäev].

Mõningatel juhtudel piisab identifikaatori jaoks ka lihtsalt elemendi nimest. See on nii siis, kui elemendi nimi on loodava avaldise kontekstis kordumatu. Identifikaatori ülejäänud osa tuletatakse kontekstist. Kui näiteks loote päringu, mis kasutab ainult ühte tabelit, sobivad identifikaatoriteks väljanimed, kuna väljade nimed tabelis peavad olema kordumatud. Kuna kasutate ainult ühte tabelit, tuletatakse tabeli nimi igas identifikaatoris, mida kasutate päringus väljale viitamiseks.

Teistel juhtudel peab töötava viite saamiseks olema identifikaatori osadega väga täpne. Näiteks siis, kui identifikaator ei ole avaldise kontekstis kordumatu. Kattumiste korral tuleb määrata piisavalt identifikaatori osi, et muuta identifikaator antud kontekstis kordumatuks. Oletame, et loote päringu, mis kasutab tabeleid nimega „Tooted“ ja „Tellimused“, ning mõlemas tabelis on väli nimega „TooteID“. Sel juhul peab identifikaator, mida kasutate väljadele „TooteID“ viitamiseks, hõlmama lisaks välja nimele ka tabeli nime (näiteks „[Tooted]![TooteID]“).

Identifikaatori tehtemärgid    Identifikaatorites kasutatakse kolme tehtemärki.

  • Hüüumärk (!)

  • Punkt (.)

  • Nurksulud ([])

Neid tehtemärke kasutatakse järgmiselt: identifikaatori iga osa ümbritsetakse nurksulgudega ning liidetakse hüüumärgi või punktiga. Näiteks oleks tabeli „Töötajad“ välja „Perekonnanimi“ identifikaator järgmine: [Töötajad]![Perekonnanimi]. Hüüumärk ütleb Accessile, et märgile järgnev on märgile eelneva (kogumi) objekt. Praegusel juhul on „[perekonnanimi]“ väljaobjekt, mis kuulub kogumisse „[Töötajad]“ – viimane on omakorda tabeliobjekt.

Märkus. : Alati ei pea identifikaatori või osalise identifikaatori ümber nurksulge panema. Kui identifikaatoris ei ole tühikuid või erimärke, lisab Access avaldist lugedes nurksulud automaatselt. Siiski on mõttekas nurksulud ise tippida – nii väldite vigu ning nii on lihtsam silmaga eristada, millised avaldise osad on identifikaatorid.

Lehe algusse

Funktsioonid, tehtemärgid ja konstandid

Avaldise loomiseks ei piisa vaid identifikaatoritest – sooritada tuleb ka mingi toiming. Avaldistes kasutatakse toimingute tegemiseks funktsioone, tehtemärke ja konstante.

Funktsioonid

Funktsioon on see, mille alusel tehakse avaldises toiminguid. Mõned funktsioonid (nagu näiteks Date) töötavad ka ilma lähteandmeteta. Enamik funktsioone aga nõuavad lähteandmeid ehk argumente. Artikli alguses toodud näites kasutab funktsioon DatePart kahte argumenti: intervall (väärtusega yyyy) ja kuupäev (väärtusega [Kliendid]![Sünnikuupäev]). Funktsioon DatePart nõuab vähemalt neid kahte argumenti (intervall ja kuupäev), kuid aktsepteerib kuni nelja argumenti.

Märkus. : Kui funktsioonil on rohkem kui üks argument, eraldatakse need argumendid komadega.

Järgnevas loendis näete avaldistes kasutatavaid levinumaid funktsioone. Klõpsake funktsiooni linki, kui soovite selle funktsiooni süntaksi kohta lisateavet.

  • Date. Funktsiooni Date kasutatakse avaldisse süsteemi praeguse kuupäeva sisestamiseks. Harilikult kasutatakse seda koos funktsiooniga Format ning koos kuupäeva/kellaajaandmeid sisaldavate väljade identifikaatoritega.

  • DatePart. Funktsiooni DatePart kasutatakse kuupäeva osa määramiseks või ekstraktimiseks – harilikult kuupäevast, mis saadakse väljaidentifikaatorist, vahel ka kuupäevaväärtusest, mille tagastab mõni teine funktsioon, nt Date.

  • DateDiff. Funktsiooni DateDiff kasutatakse kahe kuupäeva – tavaliselt väljaidentifikaatorist saadud kuupäeva ja funktsiooniga Date saadud kuupäeva – vahelise erinevuse määramiseks.

  • Format. Funktsiooni Format kasutatakse identifikaatori vormindamiseks ja samuti mõne teise funktsiooni tulemuste vormindamiseks.

  • IIf. Funktsiooniga IIf hinnatakse, kas avaldis on tõene või väär. Tagastatakse üks väärtus, kui avaldis osutub tõeseks, ja teine väärtus, kui avaldis osutub vääraks.

  • InStr. Funktsiooni InStr kasutatakse stringis mingi märgi või teise stringi otsimiseks. Otsitav string saadakse harilikult väljaidentifikaatorist.

  • Left, Mid ja Right. Neid funktsioone kasutatakse stringist märkide ekstraktimiseks. Alustatakse vastavalt kõige vasakpoolsemast märgist (Left), kindlast asukohast keskel (Mid) või kõige parempoolsemast märgist (Right). Tavaliselt kasutatakse neid koos funktsiooniga InStr. String, millest need funktsioonid märke ekstraktivad, saadakse harilikult väljaidentifikaatorist.

Artiklis Funktsioonid (kategooriate kaupa) on toodud funktsioonid kategooriatesse jaotatuna.

Tehtemärgid

Tehtemärk on sõna või märk, mis kirjeldab avaldise elementide vahelist aritmeetilist või loogilist seost. Tehtemärgid võivad olla järgmist tüüpi:

  • aritmeetilised, nt plussmärk (+);

  • võrdlusmärgid, nt võrdusmärk (=);

  • loogikatehtemärgid Not.

Tehtemärke kasutatakse tavaliselt kahe identifikaatori vahelise seose tähistamiseks. Järgnevad tabelid kirjeldavad Accessi avaldistes kasutatavaid tehtemärke.

Aritmeetilised tehtemärgid   

Aritmeetilisi tehtemärke kasutatakse kahe või enama arvu alusel väärtuse arvutamiseks või arvu muutmiseks positiivseks või negatiivseks.

Tehtemärk

Otstarve

Näide

+

Liidab kaks arvu.

[Vahesumma] + [Käibemaks]

-

Arvutab kahe arvu vahelise erinevuse või väljendab arvu negatiivset väärtust.

[Hind] - [Allahindlus]

*

Korrutab kaks arvu.

[Kogus] * [Hind]

/

Jagab esimese arvu teisega.

[Kogusumma] / [Kaupade_arv]

\

Ümardab mõlemad arvud täisarvuks, jagab esimese arvu teise arvuga ja lühendab tulemuse täisarvuks.

[Registreerunud] \ [Toad]

Mod

Jagab esimese arvu teisega ja kuvab ainult jäägi.

[Registreerunud] Mod [Toad]

^

Tõstab arvu astendajale vastavasse astmesse.

Arv ^ astendaja

Võrdlusmärgid   

Võrdlusmärke kasutatakse väärtuste võrdlemiseks ja selleks, et tagastataks väärtus „tõene“, „väär“ või „tühi“ (tundmatu väärtus).

Tehtemärk

Otstarve

<

Määrab tingimuseks, et esimene väärtus on väiksem kui teine.

<=

Määrab tingimuseks, et esimene väärtus on väiksem, kui teine väärtus, või võrdne teise väärtusega.

>

Määrab tingimuseks, et esimene väärtus on suurem kui teine väärtus.

>=

Määrab tingimuseks, et esimene väärtus on suurem kui teine väärtus, või võrdne teise väärtusega.

=

Määrab tingimuseks, et esimene väärtus on teisega võrdne.

<>

Määrab tingimuseks, et esimene väärtus ei võrdu teise väärtusega.

Igal juhul – kui esimene või teine väärtus on tühiväärtus, siis on tulemuseks samuti tühiväärtus. Tühiväärtus tähistab tundmatut väärtust ning iga võrdlus, mis hõlmab tühiväärtust, annab tulemuseks samuti tundmatu väärtuse.

Loogikatehtemärgid   

Loogikatehtemärke kasutatakse kahe väärtuse kombineerimisel – selleks et tagastataks väärtus „tõene“, „väär“ või „tühi“. Loogikatehtemärke nimetatakse ka kahend-tehtemärkideks.

Tehtemärk

Kasutamine

Kirjeldus

Ja

Avaldis1 AND Avaldis2

Tõene, kui Avaldis1 ja Avaldis2 on tõesed.

Või

Avaldis1 OR Avaldis2

Tõene, kui Avaldis1 või Avaldis2 on tõene.

Eqv

Avaldis1 EQV Avaldis2

Tõene, kui Avaldis1 ja Avaldis2 mõlemad on tõesed või kui need mõlemad on väärad.

Not

NOT Avaldis

Tõene, kui Avaldis ei ole tõene.

Xor

Avaldis1 XOR Avaldis2

Tõene, kui Avaldis 1 on tõene või kui Avaldis2 on tõene (kui mõlemad korraga ei ole tõesed).

Ühendamismärgid    

Ühendamismärke kasutatakse selleks,et ühendada kaks tekstiväärtust üheks stringiks.

Tehtemärk

Kasutamine

Kirjeldus

&

string1 & string2

Ühendab kaks stringi üheks stringiks.

+

string1 + string2

Ühendab kaks stringi üheks ja levitab tühiväärtused.

Eritehtemärgid   

Eritehtemärkide kasutamist kirjeldatakse järgmises tabelis.

Tehtemärk

Kirjeldus

Lisateave

Is Null või Is Not Null

Määrab, kas tegu on tühiväärtusega või mitte.

Like „muster“

Sobitab stringiväärtused, kasutades metamärke ? ja *.

Tehtemärk Like

Between väärtus1 AND väärtus2

Määrab, kas arv- või kuupäevaväärtus jääb kindlasse vahemikku.

Tehtemärk „Between...And“

In(string1,string2...)

Määrab, kas stringi väärtus on olemas mingis stringiväärtuste komplektis.

Tehtemärk „In“

Konstandid

Konstant on avaldises kasutatav (teada) muutumatu väärtus. Accessis kasutatakse ennekõike nelja konstanti.

  • True.    Tähistab midagi, mis on loogiliselt tõene.

  • False.    Tähistab midagi, mis on loogiliselt väär.

  • Null.    Tähistab teadaoleva väärtuse puudumist.

  • "" (tühi string – kaks paari jutumärke).    Tähistab tühiväärtust.

Konstante saab kasutada funktsiooni argumentidena ja avaldistes kriteeriumi osana. Näiteks saab tühja stringi konstanti ("") kasutada päringus veeru kriteeriumi osana, et selle veeru välja väärtusi hinnata. Selleks tuleb sisestada kriteerium järgmiselt: <>"". Selles näites on <> tehtemärk ja "" konstant. Kui neid koos kasutada, siis tähendab see seda, et identifikaatorit, mille jaoks neid rakendatakse, tuleb võrrelda tühja stringiga. Tulemuseks saadud avaldis on tõene, kui identifikaatori väärtus ei ole tühi string.

Märkus. : Olge konstandi Null kasutamisel ettevaatlik. Konstandi Null kasutamisel koos võrdlusmärkidega saadakse enamasti tulemuseks veaväärtus (veateade). Kui soovite võrrelda väärtust konstandiga Null, kasutage tehtemärki Is Null või Is Not Null.

Avaldiste kasutamise kohta leiate lisateavet artiklist Avaldise loomine.

Lehe algusse

Täiendage oma oskusi
Tutvuge koolitusmaterjalidega
Kasutage uusi funktsioone enne teisi
Liituge Office Insideri programmiga

Kas sellest teabest oli abi?

Täname tagasiside eest!

Täname tagasiside eest! Tundub, et võiksime teid kokku viia ühega meie Office'i tugiagentidest, kes aitab teil probleemi lahendada.

×