Sissejuhatus avaldise süntaksisse

Sissejuhatus avaldise süntaksisse

Microsoft Accessis tuleb sageli töötada väärtustega, mida teie andmed otseselt ei sisalda. Näiteks võite soovida arvutada välja tellimuse käibemaks või tellimuse koguväärtus. Need väärtused saab arvutada avaldistega. Avaldiste kasutamiseks tuleb need õiges süntaksis kirjutada. Süntaks on reeglitekomplekt, mille järgi avaldise sõnad ja märgid kombineeritakse. Esialgu on Accessi avaldisi pisut keeruline lugeda. Kui aga avaldise süntaksit mõistma hakkate ja sellega harjute, muutub töö märksa lihtsamaks.

Selles artiklis

Avaldiste ülevaade

Avaldise komponendid

Objektid, kogumid ja atribuudid

Identifikaatorid

Funktsioonid, tehtemärgid, konstandid ja väärtused

Veebiandmebaasi avaldiste pesastamise piirang on 65

Avaldiste ülevaade

Avaldis koosneb mõnest või kõigist järgmistest osadest: sisseehitatud või kasutaja määratletud funktsioonid, identifikaatorid, tehtemärgid, väärtused ja konstandid, millega saab arvutada ühe väärtuse.

Avaldise komponendid

Näiteks järgmine avaldis sisaldab levinumaid elemente:

=Sum([Purchase Price])*0.08 
  • Sum() on sisseehitatud funktsioon,

  • [Purchase Price] on identifikaator,

  • * on matemaatiline tehtemärk,

  • 0.08 on konstant.

Seda avaldist võib kasutada vormi või aruande jaluses tekstiväljal, et arvutada üksuste rühmas käibemaks.

Avaldised võivad olla sellest näitest ka palju keerukamad või lihtsamad. Näiteks järgmine kahendmuutuja koosneb ainult tehtemärgist ja konstandist:

>0

Avaldis tagastab järgmise väärtuse:

  • True, kui seda võrreldakse 0-st suurema arvuga;

  • False, kui seda võrreldakse 0-st väiksema arvuga.

Selle avaldise abil saate juhtelemendi või tabelivälja atribuudis Valideerimisreegel veenduda, et sisestataks ainult positiivsed väärtused. Avaldisi kasutatakse paljudes kohtades arvutamiseks, märkide töötlemiseks või andmete testimiseks. Tabelitel, päringutel, vormidel, aruannetel ja makrodel on atribuute, mis aktsepteerivad avaldisi. Näiteks võite avaldisi kasutada juhtelemendi atribuutides Juhtelemendi allikas ja Vaikeväärtus Lisaks saate avaldisi kasutada tabelivälja atribuudis Valideerimisreegel.

Lehe algusse

Avaldise komponendid

Avaldise koostamiseks kombineeritakse identifikaatoreid, kasutades funktsioone, tehtemärke, konstante ja väärtusi. 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. Seda nimetatakse avaldise pesastamiseks.

  • Identifikaatorid    – üldine kuju on järgmine:

    [Collection name]![Object name].[Property name]

    Identifikaatorist tuleb määrata piisavalt osasid, et see oleks avaldise kontekstis kordumatu. Identifikaator võib esineda ka kujul [Object name].

  • Funktsioonid    – üldine kuju on järgmine:

    Function(argument, argument)

    Üks argument on tavaliselt identifikaator või avaldis. Mõni funktsioon ei nõua argumente. Enne konkreetse funktsiooni kasutamist vaadake selle süntaksit. Lisateavet leiate teemast Funktsioonid (kategooriate kaupa).

  • Tehtemärgid    – üldine kuju on järgmine:

    Identifier operator identifier

    Selles vormis on ka erandeid – need on toodud jaotises Tehtemärgid.

  • Konstandid    – üldine kuju on järgmine:

    Identifier comparison_operator  constant
  • Väärtused    – väärtused võivad avaldises olla mitmes kohas.

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

3 Atribuut

2 Objekt

1 Kogum

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:

[Customers]![BirthDate]

Mõnel juhul 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äide:

[Products]![ProductID]

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: [Employees]![Last Name]. 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.

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, konstandid ja väärtused

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.

Selle artikli alguses näites kasutab funktsioon DatePart kahte argumenti: intervalliargument (väärtusega "yyyy") ja kuupäevaargument (väärtusega [Customers]![BirthDate]). Funktsioon DatePart nõuab vähemalt neid kahte argumenti (intervall ja kuupäev), aga aktsepteerib kuni nelja argumenti.

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

  • 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.

    =Date()
  • 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).

    DatePart ( "yyyy", Date())
  • Funktsiooni DateDiff kasutatakse kahe kuupäeva – tavaliselt väljaidentifikaatorist saadud kuupäeva ja funktsiooniga Date saadud kuupäeva – vahelise erinevuse määramiseks.

    =DateDiff(“d”, Now(), [Orders].[ReceiveBefore])-10 
  • Funktsiooni Format kasutatakse identifikaatori vormindamiseks ja samuti mõne teise funktsiooni tulemuste vormindamiseks.

    Format([Date],"ww")=Format(Now(),"ww")-1 
  • 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.

    =IIf([CountryRegion]="Italy", "Italian", "Some other language")
  • Funktsiooni InStr kasutatakse stringis mingi märgi või teise stringi otsimiseks. Otsitav string saadakse harilikult väljaidentifikaatorist.

    InStr(1,[IPAddress],".")
  • Funktsioone Left, Mid ja Right. 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.

    Left([ProductName], 1)
    Right([AssetCode], 2) 
    Mid([Phone],2,3) 
    

Funktsioonide loendi leiate teemast Funktsioonid (kategooriate kaupa).

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 (=),

  • loogilised, nt Not,

  • ühendamismärgid, nt &,

  • erimärgid, nt Like.

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

Aritmeetilised    

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 Null, siis on tulemuseks samuti Null. Null tähistab tundmatut väärtust ning iga võrdlus, kus on Null, annab tulemuseks samuti tundmatu väärtuse.

Loogilised    

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

Kasutus

Kirjeldus

And

Avaldis1 AND Avaldis2

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

Or

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

Kasutus

Kirjeldus

&

string1 & string2

Ühendab kaks stringi üheks stringiks.

+

string1 + string2

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

Erimärgid    

Eritehtemärkide kasutamist kirjeldatakse järgmises tabelis.

Tehtemärk

Kirjeldus

Lisateave

Is Null or Is Not Null

Määrab, kas väärtus on tühi või mitte.

Like "pattern"

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

Tehtemärk Like

Between val1 And val2

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.

  • "" (empty string) 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 pole tühi string.

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

Väärtused

Saate oma avaldistes kasutada literaalväärtusi (nt arvu 1254 või stringi Sisestage arv vahemikus 1–10). Saate kasutada ka arvväärtusi, mis võivad olla arvujadad, mis võivad sisaldada märke ja komakohti. Märgi puudumise korral määrab Access positiivse väärtuse. Väärtuse muutmiseks negatiivseks lisage miinusmärk (-). Saate kasutada ka teaduslikku esitust. Selleks kaasake "E" või "e" ja astendusmärk (nt 1.0E-6).

Kui kasutate tekstistringe, pange need jutumärkidesse, et Access tõlgendaks neid õigesti. Teatud juhtudel sisestab Access jutumärgid teie eest ise. Näiteks teksti sisestamisel avaldise valideerimisreegli või päringukriteeriumide jaoks, ümbritseb Access teie tekstistringid automaatselt jutumärkidega.

Näiteks kui tipite teksti Paris, kuvab Access avaldises teksti „Pariis“. Kui soovite, et avaldis sisaldaks stringi, mis on ka tegelikult ümbritsetud jutumärkidega, ümbritsege pesastatud string ühekordsete jutumärkidega (') või kolmekordsete topeltjutumärkidega ("). Näiteks järgmised avaldised on võrdväärsed:

Forms![Contacts]![City]. DefaultValue = ' "Paris" ' 
Forms![Contacts]![City].DefaultValue = " " "Paris" " " 

Kuupäeva-/kellaajaväärtuste kasutamiseks ümbritsege väärtused trellimärkidega (#). Näiteks #7.03.17#, #7-märts-17# ja #7. märts 2017# on kõik sobivad kuupäeva-/kellaajaväärtused. Kui Access tuvastab sobiva kuupäeva-/kellaajaväärtuse, mis on ümbritsetud trellimärkidega, tõlgendab Access seda väärtust automaatselt andmetüübina Kuupäev/kellaaeg.

Lehe algusse

Veebiandmebaasi avaldiste pesastamise piirang on 65

65-st tasemest sügavamale pesastatud avaldised brauseris ei tööta, seetõttu pole soovitatav selliseid avaldisi Accessi veebiandmebaasis kasutada. Tõrketeateid ei kuvata – avaldis lihtsalt ei tööta.

Tehtemärkide &, AND ja OR kasutamisega saab luua serveris täiendavaid pesastamistasemeid, mis Accessi klientrakenduses ei kajastu. Näiteks avaldis "a" & "b" & "c" pole avaldisekoosturis pesastatud, kuid SharePointis muutub see avaldiseks concatenate.Db("a", concatenate.Db("b", "c") ). Selline teisendus loob ühe pesastamistaseme. Mitme järjestikuse tehtemärgi &, AND või OR kasutamine ühes avaldises võib põhjustada serveri pesastamispiirangu 65 ületamise, mistõttu avaldis brauseris ei tööta.

Lehe algusse

Vt ka

Avaldisekoosturi kasutamine

Sissejuhatus avaldistesse

Avaldise koostamine

Avaldiste näited

Täiendage Office'i kasutamise 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.

×