Microsoft Accessis saate kasutada avaldisi mitmesuguste ülesannete tegemiseks, nt matemaatilisteks arvutusteks, teksti koostamiseks või ekstraktimiseks või andmete valideerimiseks. Sellest artiklist leiate avaldistest ülevaate – millal neid kasutada, millistest osadest need koosnevad ja mis neid Microsoft Exceli valemitest eristab.
Selle artikli teemad
Avaldiste ülevaade
Mõelge sellele järgmiselt: kui soovite, et Access midagi teeks, peate rääkima selle keelt. Oletagem näiteks, et soovite Accessile öelda "Vaadake tabeli Kliendid välja Sünnikuupäev ja kirjeldage kliendi sünniaastat". Selle avaldise saate kirjutada järgmiselt:
DatePart("yyyy",[Customers]![BirthDate])
Avaldis koosneb funktsioonist DatePart ja kahest argumendist: "yyyy" ja [Customers]![BirthDate].
Vaatame seda avaldist lähemalt.
1 Funktsioon DatePart uurib kuupäeva ja tagastab kindla osa. Sel juhul kasutatakse esimest kahte argumenti.
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 „Customers]![BirthDate]“ Accessile, et kuupäeva leiab tabeli „Kliendid“ väljalt „Sünnikuupäev“.
Avaldiste kasutamise viisid
Avaldiste abil saate teha järgmist:
-
arvutada väärtused, mis pole otseselt andmetes. Saate arvutada väärtusi tabelite ja päringute väljadel ning vormide ja aruannete juhtelementides;
-
määratleda vaikeväärtuse tabelivälja või vormi või aruande juhtelemendi jaoks. Need väärtused kuvatakse iga kord, kui avate tabeli, vormi või aruande;
-
luua valideerimisreegli, et reguleerida, milliseid väärtusi kasutajad saavad väljale või juhtelementi sisestada;
-
määratleda päringukriteeriumid, et piiritleda tulemid teatud alamhulkadega.
Väärtuste arvutamine
Üks sagedasemaid avaldiste kasutamise viise Accessis on andmetes mitte sisalduvate väärtuste arvutamine. Sellise arvutusega tuletatud tabeli- või päringuveergu nimetatakse arvutuslikuks väljaks. Saate luua arvutusliku välja, milles on ühendatud kaks või rohkem tabelivälja. Näiteks paljudes tabelites talletatakse ees- ja perekonnanimesid eraldi väljadel. Kui soovite ees- ja perekonnanimed kombineerida ja need seejärel ühel väljal kuvada, saate tabelis või päringus luua arvutusliku välja:
[FirstName] & " " & [LastName].
Sel juhul ühendavad ampersandid (&) FirstName , tühikumärk (jutumärkidega ümbritsetud tühik) ja LastName .
Vaikeväärtuse määratlemine
Accessis saate avaldiste abil sisestada ka tabeli välja või juhtelemendi vaikeväärtuse. Näiteks kuupäevavälja vaikeväärtuseks tänase kuupäeva seadmiseks tippige selle välja atribuudiväljale Vaikeväärtus järgmine väärtus:
Date()
Valideerimisreegli loomine
Lisaks saate avaldise abil seada valideerimisreegli. Näiteks saate juhtelemendi või tabelivälja valideerimisreegliga nõuda, et sisestatav kuupäev oleks tänasest kuupäevast hilisem või sellega võrdne. Sel juhul sisestage atribuudiväljale Valideerimisreegel järgmine väärtus:
>= Date()
Päringukriteeriumide määratlemine
Avaldise abil saate seada ka päringu kriteeriumid. Oletagem näiteks, et soovite vaadata teatud ajavahemikus tarnitud tellimuste tootekäivet. Saate sisestada kriteeriumid kuupäevavahemiku määratlemiseks ja Access tagastab ainult kriteeriumidele vastavad read. Näiteks võib teie avaldis välja näha järgmiselt:
Between #1/1/2017# And #12/31/2017#
Päringule kriteeriumide lisamisel ja seejärel päringu käivitamisel tagastab see ainult määratud kuupäevadele vastavad väärtused.
Avaldiste näiteid
Järgmises tabelis on loetletud mõningad Accessi näidisavaldised ja kirjeldatakse, kuidas neid tavaliselt kasutatakse.
Avaldis |
Otstarve |
---|---|
=[RequiredDate]-[ShippedDate] |
Arvutab kahe tekstivälja juhtelementide (NõutavKuupäev ja Tarnekuupäev) kuupäevaväärtuste vahelise erinevuse aruandes. |
Date() |
Määrab tabelivälja Kuupäev/kellaaeg vaikeväärtuseks praeguse kuupäeva. |
Between #1/1/2017# And #12/31/2017# |
Määrab päringu kuupäeva-/kellaajavälja kriteeriumid. |
=[Orders Subform].Form!OrderSubtotal |
Tagastab vormi Tellimused alamvormi Tellimused juhtelemendi TellimuseVahesumma väärtuse. |
>0 |
Määrab tabeli arvuvälja valideerimisreegli – kasutajad peavad sisestama nullist suuremad väärtused. |
Mõni avaldis algab võrdusmärgiga (=) ja mõni mitte. Kui arvutate vormi või aruande juhtelemendi väärtust, kasutage avaldise alguses võrdusmärki =. Muudel juhtudel, näiteks kui tipite avaldise päringusse või Välja või juhtelemendi atribuut DefaultValue või ValidationRule , te ei kasuta = tehtemärki, v.a juhul, kui lisate avaldise tabeli väljale Tekst. Mõnel juhul, näiteks kui lisate avaldisi päringutesse, eemaldab Access võrdusmärgi = automaatselt.
Avaldise komponendid
Avaldis koosneb komponentidest, mida saab eraldi või kombinatsioonides kasutada tulemi saavutamiseks. Need komponendid on järgmised:
-
Identifikaatorid Vormide või aruannete tabeliväljade või juhtelementide nimed või nende väljade või juhtelementide atribuudid.
-
Tehtemärgid Näiteks + (pluss) või - (miinus).
-
Funktsioonid Näiteks SUM või AVG.
-
Konstandid Väärtused, mis ei muutu (nt tekstistringid või arvud, mida avaldis ei arvuta).
-
Väärtused Stringid (nt "Sisestage arv vahemikus 1–10") või arvud (nt 1254), mida kasutatakse toimingutes.
Järgmistes jaotistes kirjeldatakse neid komponente üksikasjalikumalt.
Identifikaatorid
Identifikaator on välja, atribuudi või juhtelemendi nimi. Avaldise identifikaator viitab välja, atribuudi või juhtelemendiga seotud väärtusele. Vaatleme näiteks avaldist =[RequiredDate]-[ShippedDate]. See avaldis lahutab välja või juhtelemendi RequiredDateväärtuse välja või juhtelemendi ShippedDate väärtusest. Selles avaldises RequiredDate ja ShippedDate on identifikaatorid.
Tehtemärgid
Access toetab mitmesuguseid tehtemärke, sh tavalisi aritmeetilisi tehtemärke, nt +, -, * (korrutusmärk) ja / (jagamismärk). Võite kasutada ka võrdlusmärke, näiteks väärtuste võrdlemiseks< (väiksem kui) või > (suurem kui) & ja + teksti ühendamiseks (kombineerimiseks), loogikatehtemärke (nt Not ja And tõeste või väärate väärtuste määramiseks ja muude Accessi spetsiifiliste tehtemärkide määramiseks.
Funktsioonid
Funktsioonid on sisseehitatud protseduurid, mida saate oma avaldistes kasutada. Funktsioone saab kasutada mitmesuguste toimingute jaoks (nt väärtuste arvutamiseks, teksti ja kuupäevade töötlemiseks ning andmete summeerimiseks). Näiteks üks levinumaid funktsioone on DATE, mis tagastab tänase kuupäeva. Funktsiooni DATE saab kasutada mitmel viisil (nt avaldises, mis seab tabelivälja vaikeväärtuse). Selle näite puhul iga kord, kui keegi lisab uue kirje, määratakse välja väärtuseks vaikimisi käesolev kuupäev.
Mõne funktsiooni puhul on vaja argumente. Argument on väärtus, mis annab funktsioonile sisendi. Kui funktsioon nõuab mitut argumenti, eraldage argumendid komaga. Vaatleme näiteks funktsiooni DATE järgmises näidisavaldises:
=Format(Date(),"mmmm d, yyyy")
Selles näites on kaks argumenti.
-
Esimene argument on funktsioon Date(), mis tagastab praeguse kuupäeva. Funktsiooni sulud tuleb lisada ka siis, kui argumente pole.
-
Teine argument "mmmm d, yyyy" eraldatakse esimesest argumendist komaga ja see on tekstistring, mille alusel määrab FORMAT-funktsioon selle, kuidas tagastatav kuupäev vormindatakse. Pange tähele, et tekstistring peab olema jutumärkides.
See avaldis näitab ka seda, et sageli saab ühe funktsiooni tagastatava väärtuse pesastada argumendina teise funktsiooni sisse. Sel juhul Date() toimib argumendina.
Konstandid
Konstant on üksus, mille väärtus ei muutu Accessi tööaja jooksul. Konstante True, False ja Null kasutatakse avaldistes sageli.
Väärtused
Saate oma avaldistes kasutada literaalväärtusi (nt arvu 1254 või stringi Sisestage arv vahemikus 1–10). Arvväärtused võivad olla arvuseeriad (sisaldades vajadusel ka pluss- ja miinusmärke või komakohti)
Kui kasutate tekstistringiväärtusi, 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.
Kuupäeva-/kellaajaväärtuste kasutamiseks ümbritsege väärtused trellimärkidega (#). Näiteks #3-7-17#, #7-Mar-17# ja #Mar-7-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.
Accessi avaldiste ja Exceli valemite võrdlus
Accessi avaldised sarnanevad Exceli valemitega selles mõttes, et mõlemad kasutavad tulemi saamiseks sarnaseid elemente. Exceli valemid ja Accessi avaldised sisaldavad ühte või mitut järgmistest.
-
Identifikaatorid Excelis on identifikaatorid töövihiku üksikute lahtrite või lahtrivahemike nimed (nt A1, B3:C6 või Sheet2! C32. Accessis on identifikaatorid tabeliväljade nimed (nt [Contacts]![First Name]), vormide või aruannete juhtelemendid (nt Forms![Task List]![Description]) või nende väljade või juhtelementide atribuudid (nt Forms![Task List]![Description].ColumnWidth).
-
Tehtemärgid Nii Accessis kui ka Excelis kasutatakse tehtemärke väärtuste võrdlemiseks või andmetega lihtsate arvutuste tegemiseks. Näiteks: + (pluss) või - (miinus).
-
Funktsioonid ja argumendid – nii Accessis kui ka Excelis kasutatakse funktsioone ja argumente selliste toimingute sooritamiseks, mida ei saa ainult tehtemärkide abil teha – näiteks saate leida välja väärtuste keskmise või teisendada arvutuse tulemi valuutavormingusse. Funktsioonid on näiteks SUM ja STDEV. Argumendid on väärtused, mis pakuvad funktsioonidele teavet. Nii Access kui ka Excel sisaldavad mõlemad palju funktsioone, mille hulgast valida, kuid sarnaste funktsioonide nimed on rakendustes mõnikord erinevad. Näiteks Exceli funktsioon AVERAGE vastab Accessi funktsioonile AVG.
-
Konstandid – nii Accessis kui ka Excelis on konstandid väärtused, mis ei muutu (näiteks numbrid, mida ei arvutata avaldise abil).
-
Väärtused Nii Accessis kui ka Excelis kasutatakse väärtusi samamoodi.
Accessi avaldistes kasutatakse tehtemärke ja konstante, mis sarnanevad Exceli valemites olevatega, kuid Accessi avaldised kasutavad erinevaid identifikaatoreid ja funktsioone. Exceli valemeid kasutatakse üldiselt ainult töölehelahtrites, Accessi avaldisi aga paljudes kohtades mitmesuguste ülesannete sooritamiseks, sh järgmised:
-
arvutatud juhtelementide loomine vormidel ja aruannetes;
-
arvutatud väljade loomine tabelites ja päringutes;
-
kriteeriumidena päringutes;
-
väljale või vormi juhtelementi sisestatavate andmete valideerimine;
-
andmete grupeerimine aruannetes.
Accessi avaldise või Exceli valemi abil saate arvutada matemaatiliste tehetega arv- või kuupäeva-/kellaajaväärtusi. Näiteks kliendi jaoks diskonteeritud hinna arvutamiseks saate kasutada Excel valemit =C2*(1-D2) või Accessi avaldist = [Unit Price]*(1-[Discount]).
Saate kasutada Accessi avaldist või Exceli valemit ka stringitehetega stringide ühendamiseks, tükeldamiseks või muul viisil töödelda. Näiteks ees- ja perekonnanime ühendamiseks ühte stringi saate kasutada Exceli valemit =D3 & " " & D4 või Accessi avaldist = [First Name] & " " & [Last Name].