Avaldiste abil saab andmetega teha mitmesuguseid toiminguid. Näiteks saate välja selgitada, mitu päeva on möödunud tellimuse lähetamisest või ühendada väljad Eesnimi ja Perekonnanimi väljaks Täisnimi. Järgmistes jaotistes näidatakse üksikasjalikult, kuidas luua avaldis.
Selle artikli teemad
Vormide ja aruannete juhtelementide väärtuste arvutamine
Kui kasutate juhtelemendi andmeallikana avaldist, loote arvutusliku juhtelemendi. Oletagem näiteks, et teil on aruanne, kus on kuvatud mitu inventuurikirjet. Soovite luua aruande jaluses kõigi aruande kanderidade kogusumma.
Kogusumma arvutamiseks paigutage tekstivälja juhtelement aruande jalusesse ja seejärel seadke tekstivälja atribuudiks Juhtelemendi allikas järgmine avaldis:
=Sum([table_field])
Selles näites on table_field selle välja nimi, mis sisaldab teie vahesumma väärtusi. See väli võib olla pärit tabelist või päringust. Funktsioon arvutab tabelivälja table_field kõigi väärtuste kogusumma.
PROTSEDUUR
-
Paremklõpsake navigeerimispaanil vormi, mida soovite muuta, ja klõpsake kiirmenüü käsku Küljendivaade või Kujundusvaade.
-
Valige juhtelement, kuhu soovite avaldise sisestada.
-
Kui atribuudileht pole veel kuvatud, vajutage selle kuvamiseks klahvi F4.
-
Avaldise käsitsi loomiseks klõpsake atribuudilehe menüüs Andmed tekstivälja atribuuti ControlSource ja seejärel tippige = ning selle järele ülejäänud avaldis. Ülal näidatud vahesumma arvutamiseks tippige =Sum([table_field]), veendudes, et asendate oma välja nime väärtusega table_field.
-
Avaldise loomiseks avaldisekoosturi abil klõpsake atribuudiväljal nuppu Koosta .
Kui avaldis on loodud, näeb atribuudileht välja järgmiselt:
Avaldiste kasutamine päringukriteeriumitena
Päringukriteeriumide abil saate päringutulemite arvu kitsendada. Sisestage kriteeriumid avaldisena ja Access tagastab ainult avaldisele vastavad read.
Oletagem näiteks, et soovite näha kõiki tellimusi, mille tarnekuupäev on aasta 2017 esimese kolme kuu vahemikus. Kriteeriumite sisestamiseks tippige oma päringu kuupäeva-/kellaajaveeru lahtrisse Kriteeriumid järgmine avaldis. Selles näites kasutatakse kuupäeva-/kellaajaveergu nimega Tarnekuupäev. Kuupäevavahemiku määratlemiseks sisestage kriteeriumid järgmiselt:
Between #1/1/2017# And #3/31/2017#
Veerg Tarnekuupäev sarnaneb järgmisega.
Kui tabeli Tellimused veeru Tarnekuupäev mõne kirje väärtus on teie määratud kuupäevavahemikus, kaasatakse see kirje päringuväljundisse. Arvestage, et avaldises tuleb kuupäevad ümbritseda naelatähistega (#). Access käsitleb naelatähistega ümbritsetud väärtust andmetüübina Kuupäev/kellaaeg. See võimaldab teil nende väärtustega arvutada (nt lahutada ühe väärtuse teisest).
PROTSEDUUR
-
Paremklõpsake navigeerimispaanil päringut, mida soovite muuta, ja klõpsake kiirmenüü käsku Kujundusvaade.
-
Klõpsake selle veeru lahtrit Kriteeriumid, kuhu soovite kriteeriume sisestada.
-
Avaldise käsitsi loomiseks tippige kriteeriumiavaldis. Ärge alustage kriteeriumiavaldist tehtemärgiga =.
-
Avaldise loomiseks avaldisekoosturi abil klõpsake lindil menüüd Kujundus ja seejärel jaotises Päringu häälestus nuppu Koostur .
Kui soovite avaldise redigeerimiseks suuremat ala, viige kursor lahtrisse Kriteeriumid ja siis vajutage välja Suum kuvamiseks klahvikombinatsiooni SHIFT+F2:
Näpunäide. Teksti paremini loetavaks muutmiseks valige Font.
Arvutusliku välja loomine päringus
Oletagem, et kujundate päringut ja soovite kuvada arvutuse tulemid muude päringuväljade abil. Arvutusliku välja loomiseks sisestage avaldis oma päringu rea Väli tühja lahtrisse. Näiteks kui teil on päring, mis sisaldab välju Kogus ja Ühiku hind, saate nende korrutamisel luua arvutusliku välja Laiendatud hind, sisestades päringu reale Väli järgmise avaldise:
Extended Price: [Quantity] * [Unit Price]
Kui sisestate avaldise ette teksti Extended Price:, pannakse uuele veerule nimeks Laiendatud hind. Seda nime nimetatakse sageli pseudonüümiks. Kui te pseudonüümi ei sisesta, loob Access selle ise (nt Expr1.).
Päringu käivitamisel arvutab Access iga rea, nagu on näidatud järgmisel joonisel:
PROTSEDUUR
-
Paremklõpsake navigeerimispaanil päringut, mida soovite muuta, ja klõpsake kiirmenüü käsku Kujundusvaade.
-
Klõpsake veerus, kus soovite luua arvutusliku välja, lahtrit Väli.
-
Avaldise käsitsi loomiseks tippige avaldis.
Ärge alustage kriteeriumi avaldist tehtemärgiga = , vaid kirjeldava sildiga, mille järel on koolon. Näiteks tippige Extended Price:, et sisestada sellise avaldise silt, mis loob arvutusliku välja nimega Laiendatud hind. Seejärel sisestage kooloni järele oma avaldise kriteeriumid.
-
Avaldise loomiseks avaldisekoosturi abil klõpsake lindil menüüd Kujundus ja seejärel jaotises Päringu häälestus nuppu Koostur.
Arvutusliku välja loomine tabelis
Accessis saate luua tabelis arvutusliku välja. Nii pole vaja arvutuste tegemiseks eraldi päringut. Näiteks kui teil on tabel, kus on loetletud tellimuse iga kauba kogus, hind ja maksumäär, võite lisada arvutusliku välja, kus kuvatakse koguhind (nagu järgmises näites):
[Quantity]*([UnitPrice]+([UnitPrice]*[TaxRate]))
Arvutus ei tohi sisaldada muudest tabelitest ega päringutest pärinevaid välju, sest sel juhul on arvutuse tulemid kirjutuskaitstud.
PROTSEDUUR
-
Avage tabel, topeltklõpsates seda navigeerimispaanil.
-
Kerige horisontaalselt tabeli parempoolseima veeruni ja klõpsake veerupäist Klõpsake lisamiseks.
-
Klõpsake kuvatavas loendis väärtust Arvutuslik väli ja seejärel andmetüüpi, mida tulemi jaoks soovite. Access avab avaldisekoosturi.
-
Sisestage selle välja jaoks soovitud arvutus, nt:
[Quantity] * [Unit Price]
Arvutusliku välja puhul ei alga avaldis võrdusmärgiga (=).
-
Klõpsake nuppu OK.
Access lisab arvutusliku välja ja seejärel tõstab väljapäise esile nii, et saate tippida välja nime.
-
Tippige arvutusliku välja nimi ja seejärel vajutage sisestusklahvi (ENTER).
Tabelivälja vaikeväärtuste seadmine
Avaldise abil saate määrata välja vaikeväärtuse tabelis – väärtuse, mida Access kasutab uute kirjete jaoks, kui muud väärtust pole sisestatud. Oletagem, et soovite väljale OrderDate (Tellimiskuupäev) lisada kuupäeva ja kellaaja automaatselt iga kord, kui keegi lisab uue kirje. Selleks peaksite kasutama järgmist avaldist:
Now()
PROTSEDUUR
-
Topeltklõpsake navigeerimispaanil tabelit, mida soovite muuta.
Access avab tabeli andmelehevaates.
-
Valige väli, mida soovite muuta.
-
Klõpsake lindil nuppu Tabeliväljad ja seejärel jaotises Atribuudid nuppu Vaikeväärtus. Access avab avaldisekoosturi.
-
Tippige väljale oma avaldis, alustades seda kindlasti võrdusmärgiga (=).
Märkus. Kui seote juhtelemendi tabeliväljaga ja nii juhtelemendil kui ka tabeliväljal on vaikeväärtused, alistab juhtelemendi vaikeväärtus tabelivälja.
Juhtelementide vaikeväärtuste seadmine
Üks avaldise kasutamise tavalisemaid kohti on ka juhtelemendi atribuut Vaikeväärtus. Juhtelemendi atribuut Vaikeväärtus sarnaneb tabelivälja atribuudiga Vaikeväärtus. Kui soovite näiteks kasutada tekstivälja vaikeväärtusena praegust kuupäeva, saate kasutada järgmist avaldist:
Date()
See avaldis kasutab praeguse kuupäeva (kuid mitte kellaaja) toomiseks funktsiooni Date. Kui seote tekstivälja tabeliväljaga ja väljal on vaikeväärtus, alistab juhtelemendi vaikeväärtus tabelivälja. Sageli on soovitatav seada tabelivälja atribuut Vaikeväärtus. Kui erinevate vormide mitu juhtelementi põhinevad samal tabeliväljal, rakendub sama vaikeväärtus igale juhtelemendile, aidates nii tagada iga vormi süsteemse andmesisestuse.
PROTSEDUUR
-
Paremklõpsake navigeerimispaanil vormi või aruannet, mida soovite muuta, ja klõpsake kiirmenüü käsku Kujundusvaade või Küljendivaade.
-
Valige juhtelement, mida soovite muuta.
-
Kui atribuudileht pole veel kuvatud, vajutage selle kuvamiseks klahvi F4.
-
Klõpsake atribuudilehel vahekaarti Kõik ja seejärel klõpsake atribuudivälja Vaikeväärtus.
-
Tippige avaldis või klõpsake avaldisekoosturi abil avaldise loomiseks atribuudiväljal nuppu Koosta .
Valideerimisreegli lisamine tabeliväljale või kirjele
Andmete andmebaasi sisestamisel on avaldiste abil väga mugav andmeid valideerida, et hoida sobimatud andmed sealt eemal. Tabelites on kahte liiki valideerimisreegleid: väljade valideerimisreegleid, mis takistavad kasutajatel üksikväljale lubamatute andmete sisestamist, ja kirjete valideerimisreegleid, mis takistavad kasutajatel valideerimisreeglile mittevastavate kirjete loomist. Mõlemat liiki valideerimisreeglite puhul saate kasutada avaldisi.
Oletagem näiteks,et teil on tabel Laoseis, mis sisaldab välja Saadaolevad kaubad, ja soovite määrata reegli, mis nõuab kasutajatelt nulliga võrdse või suurema väärtuse sisestamist. Teisisõnu ei saa laovaruks määrata negatiivset arvu. Selleks kasutage väljal Saadaolevad kaubad väljavalideerimisreeglina järgmist avaldist:
>=0
PROTSEDUUR: Välja või kirje valideerimisreegli sisestamine
-
Topeltklõpsake navigeerimispaanil tabelit, mida soovite muuta. Access avab tabeli andmelehevaates.
-
Välja valideerimisreegli puhul valige väli, mida soovite muuta.
-
Klõpsake lindil nuppu Tabeliväljad, seejärel jaotises Välja valideerimine nuppu Valideerimine ja seejärel käsku Välja valideerimisreegel või Valideerimisreegel. Access kuvab avaldisekoosturi.
-
Alustage soovitud kriteeriumite tippimist. Näiteks välja valideerimisreegli puhul, kus kõik väärtused peavad olema nullist suuremad või sellega võrdsed, tippige järgmised kriteeriumid:
>=0
Ärge alustage avaldist võrdusmärgiga (=).
Valideerimisreegli avaldised on loogikaavaldised: see tähendab, et iga sisendväärtuse korral on avaldis kas True või False. Valideerimisreegel peab väärtuse jaoks olema True; muul juhul ei salvesta Access sisendit ja kuvab veale viitava valideerimisteate. Selles näites tagastatakse False juhul, kui väljale Saadaolevad kaubad sisestatakse nullist väiksem arv ja Access ei aktsepteeri väärtust. Kui te ei sisesta valideerimisteadet, nagu järgmises jaotises on kirjeldatud, kuvab Access automaatse teksti, mis annab märku, et sisestatud väärtus on selle väljaga seotud valideerimisreegli alusel sobimatu.
PROTSEDUUR: valideerimisteate sisestamine
Andmebaasi kasutamise hõlbustamiseks saate sisestada kohandatud valideerimisteateid. Need asendavad üldisi teateid, mille Access kuvab siis, kui andmed ei vasta valideerimisreeglile. Kohandatud valideerimisteate abil saate edastada eriteavet, mille abil kasutaja saab sisestada õiged andmed (nt „Välja Saadaolevad ühikud väärtus ei tohi olla negatiivne arv“).
-
Topeltklõpsake navigeerimispaanil tabelit, mida soovite muuta.
Access avab tabeli andmelehevaates.
-
Välja valideerimisteate puhul valige väli, millele lisasite valideerimisreegli.
-
Klõpsake lindil nuppu Tabeliväljad, seejärel jaotises Välja valideerimine nuppu Valideerimine ja seejärel käsku Välja valideerimisteade või Valideerimisteade.
-
Tippige dialoogiboksi Valideerimisteate sisestamine teade, mille soovite kuvada, kui andmed ei vasta valideerimisreeglile, ja seejärel klõpsake nuppu OK.
Valideerimisreegli lisamine juhtelemendile
Lisaks tabeliväljadele ja kirjetele on ka juhtelementidel atribuut Valideerimisreegel, mis aktsepteerib avaldisi. Oletame näiteks, et sisestate vormi abil aruande kuupäevavahemikku ja soovite tagada, et alguskuupäev poleks varasem kui 1/1/2017. Alguskuupäeva sisestava tekstivälja jaoks saate määrata atribuutide Valideerimisreegel ja Valideerimistekst väärtuse:
Atribuut |
Säte |
---|---|
Valideerimisreegel |
>=#1/1/2017# |
Valideerimistekst |
Ei saa sisestada kuupäeva, mis on varasem kui 01.01.2017. |
Kui proovite sisestada kuupäeva, mis on varasem kui 01.01.2017, kuvatakse teade ja atribuudis Valideerimistekst kuvatakse tekst. Kui atribuudiväljale Valideerimistekst pole teksti sisestatud, kuvab Access üldise teate. Kui klõpsate nuppu OK, viib Access teid tagasi tekstiväljale.
Tabeliväljale valideerimisreegli seadmine jõustab selle reegli kõikjal andmebaasis, kus seda välja muudetakse. Kui seate aga valideerimisreegli vormi juhtelemendile, jõustatakse reegel ainult selle vormi kasutamisel. Tabeliväljadele ja vormi juhtelementidele eraldi valideerimisreeglite seadmine võib olla kasulik juhul, kui soovite määrata erinevatele kasutajatele erinevad valideerimisreeglid.
PROTSEDUUR
-
Paremklõpsake navigeerimispaanil vormi või aruannet, mida soovite muuta, ja klõpsake kiirmenüü käsku Kujundusvaade või Küljendivaade.
-
Paremklõpsake muudetavat juhtelementi ja seejärel klõpsake kiirmenüü käsku Atribuudid. Access kuvab juhtelemendi atribuudilehe.
-
Klõpsake vahekaarti Kõik ja siis atribuudivälja Valideerimisreegel.
-
Tippige avaldis või klõpsake avaldisekoosturi abil avaldise loomiseks atribuudiväljal nuppu Koosta .
Ärge alustage avaldist tehtemärgiga =.
-
Kui kasutaja sisestab valideerimisreeglile mittevastavaid andmeid ja soovib kuvatavat teksti kohandada, tuleb soovitud tekst sisestada atribuuti Valideerimistekst.
Aruannete andmete rühmitamine ja sortimine
Paani Rühmitamine, sortimine ja kogusumma abil saate määratleda aruande andmete rühmitustasemeid ja sortimisjärjestusi. Tavaliselt rühmitate ja sordite loendis valitud välja alusel. Kuid kui soovite rühmitada või sortida arvutatud väärtuse alusel, saate sisestada selle jaoks avaldise.
Rühmitamine on duplikaatväärtusi sisaldavate veergude kombineerimise protsess. Oletame näiteks, et teie andmebaas sisaldab erinevates linnades asuvate harukontorite müügiteavet ja andmebaasi ühe aruande nimi on Müük linnade järgi. Sellele aruandele andmeid toov päring rühmitab andmed vastavate linnade väärtuste järgi. Seda tüüpi rühmitamise korral on teie teavet hõlpsam lugeda ja mõista.
Sortimine seevastu on protsess, mille korral ridadele (kirjetele) määratakse päringutulemites sortimisjärjestus. Näiteks saate kirjeid sortida nende primaarvõtme väärtuste järgi (või mõne muu välja väärtustekomplekti järgi) tõusvas või laskuvas järjestuses. Kirjeid saate sortida kindlas järjestuses ka ühe või mitme märgi järgi (nt tähestikulises järjestuses).
PROTSEDUUR: aruandele rühmitamise ja sortimise lisamine
-
Paremklõpsake navigeerimispaanil aruannet, mida soovite muuta, ja seejärel klõpsake kiirmenüü käsku Küljendivaade või Kujundusvaade.
-
Klõpsake lindil nuppu Aruande kujundus ja seejärel jaotises Rühmitamine & kogusummad nuppu Rühmita & sortimine. Aruande all kuvatakse paan Rühmitamine, sortimine ja kogusumma.
-
Aruandele rühmitustaseme lisamiseks klõpsake nuppu Lisa rühm.
-
Aruandele sortimisjärjestuse lisamiseks klõpsake nuppu Lisa sortimine.
Paanil kuvatakse uus rühmatase või sortimisjärjestus, samuti aruande andmete aluseks olevate väljade loend. Järgmisel joonisel kuvatakse tüüpiline uus rühmatase (rühmitusalus Kategooria) ja sortimisjärjestus (sortimisalus Tootja) ning rühmitamise ja sortimise saadaolevate väljade loend:
-
Klõpsake avaldisekoosturi käivitamiseks saadaolevate väljade loendis avaldist.
-
Sisestage avaldisekoosturi avaldiseväljale (ülemine väli) avaldis, mida soovite kasutada. Alustage avaldist kindlasti võrdusmärgiga (=).
PROTSEDUUR: avaldise lisamine olemasolevasse rühma või sortimisjärjestusse
-
Paremklõpsake navigeerimispaanil aruannet, mida soovite muuta, ja seejärel klõpsake kiirmenüü käsku Küljendivaade või Kujundusvaade.
-
Klõpsake rühmataset või sortimisjärjestust, mida soovite muuta.
-
Klõpsake jaotise Rühmitamisalus (rühmitustaseme puhul) või Sortimisalus (sortimisjärjestuste puhul) kõrval olevat allanoolt. Kuvatakse saadaolevaid välju sisaldav loend.
-
Klõpsake avaldisekoosturi käivitamiseks väljaloendi allosas avaldist.
-
Tippige oma avaldis avaldisekoosturi avaldiseväljale (ülemine väli). Alustage avaldist kindlasti võrdusmärgiga (=).
Käitatavate makrotoimingute reguleerimine
Vahel võib teil olla tarvis teostada makrotoimingut või -toimingutesarja ainult juhul, kui kindel tingimus on tõene. Oletame näiteks, et soovite makrotoimingu käivitamist ainult siis, kui tekstivälja väärtus on suurem kui 10 või sellega võrdne. Selle reegli seadmiseks kasutage avaldist makro If-plokis, et määratleda makro tingimus.
Selles näites oletagem, et tekstivälja nimi on Ühikud. Tingimuse määrab järgmine avaldis:
[Items]>=10
PROTSEDUUR
-
Paremklõpsake navigeerimispaanil makrot, mida soovite muuta, ja klõpsake kiirmenüü käsku Kujundusvaade.
-
Klõpsake muudetavat If-plokki või lisage If-plokk paanilt Toimingukataloog.
-
Klõpsake If-ploki ülemist rida.
-
Tippige tingimusavaldis väljale või klõpsake avaldisekoosturi kasutamise alustamiseks avaldisevälja kõrval asuvat nuppu Koosta.
Teie tipitav avaldis peab olema loogikaavaldis, mis tähendab, et see on True või False. If-ploki makrotoiminguid käitatakse ainult siis, kui tingimus on True.