Sellest artiklist leiate palju näiteid Access avaldistest. Avaldis on matemaatiliste või loogikatehtemärkide, konstantide, funktsioonide, tabeliväljade, juhtelementide ning atribuutide kombinatsioon, mida hinnatakse ühe väärtusena. Access avaldiste abil saate arvutada väärtusi, valideerida andmeid ja määrata vaikeväärtuse.
Selle artikli teemad
Vormid ja aruanded
Selle jaotise tabelitest leiate selliste avaldiste näited, mis arvutavad vormis või tabelis oleva juhtelemendi väärtuse. Arvutusliku välja loomiseks tuleb avaldis sisestada juhtelemendi atribuuti ControlSource (Juhtelemendi allikas), mitte tabeliväljale või päringusse.
Märkus Avaldiste vormis või aruandes kasutamiseks saate andmed tingimusvormingu abil esile tõsta.
Tekstitoimingud
Järgmises tabelis toodud avaldised kasutavad tekstimärke & (ampersand) ja + (plussmärk) tekstistringide kombineerimiseks, sisseehitatud funktsioone tekstistringi muutmiseks või töötlevad teksti muul moel, et luua arvutuslik juhtelement.
Avaldis |
Tulemus |
---|---|
="N/A" |
Kuvab väärtused P/S. |
=[FirstName] & " " & [LastName] |
Kuvab väärtused, mis on tabeliväljadel nimedega „Eesnimi“ ja „Perekonnanimi“. Selles näites ühendatakse tehtemärgi & abil väli Eesnimi, tühik (jutumärkides) ja väli Perekonnanimi. |
=Left([ProductName], 1) |
Kuvab funktsiooni Left abil välja või juhtelemendi „TooteNimi“ väärtuse esimese märgi. |
=Right([AssetCode], 2) |
Kuvab funktsiooni Right abil välja või juhtelemendi „VaraKood“ väärtuse kaks viimast märki. |
=Trim([Address]) |
Kasutab funktsiooni Trim, et kuvada juhtelemendis Aadress olev väärtus ja eemaldada kõik algus- ja lõputühikud. |
=IIf(IsNull([Region]), [City] & " " & [PostalCode], [City] & " " & [Region] & " " & [PostalCode]) |
Kasutab funktsiooni IIf, et kuvada juhtelementide Linn ja Sihtnumber väärtused, kui juhtelemendi Regioon väärtus on tühi. Vastasel juhul kuvatakse tühikutega eraldatult juhtelementide Linn, Regioon ja Sihtnumber väärtused. |
=[City] & (" " + [Region]) & " " & [PostalCode] |
Kasutab operaatorit + ja tühilevitamist, et kuvada juhtelementide Linn ja Sihtnumber väärtused, kui välja või juhtelemendi Regioon väärtus on tühi. Vastasel juhul kuvatakse tühikutega eraldatult väljade või juhtelementide Linn, Regioon ja Sihtnumber väärtused. Tühilevitamine tähendab seda, et kui avaldise mõni osa on tühiväärtusega, on ka kogu avaldis tühiväärtusega. Tehtemärk + toetab tühilevitamist; märk & ei toeta seda. |
Päised ja jalused
Atribuutide Page ja Pages abil saate vormides või aruannetes leheküljenumbreid kuvada või printida. Atribuudid Page ja Pages on saadaval ainult prindieelvaates, nii et need pole vormi või aruande atribuudilehel nähtaval. Tavaliselt lisatakse nende atribuutide kasutamiseks tekstiväli vormi või aruande päisesse või jalusesse ning seejärel sisestatakse avaldis (nt mõni järgmisest tabelist).
Lisateavet vormides ja aruannetes päiste ja jaluste kasutamise kohta leiate teemast Leheküljenumbrite lisamine vormi või aruandesse.
Avaldis |
Tulemus |
---|---|
=[Page] |
1 |
="Page " & [Page] |
Leht 1 |
="Page " & [Page] & " of " & [Pages] |
Leht 1/3 |
=[Page] & " of " & [Pages] & " Pages" |
1/3 lk |
=[Page] & "/" & [Pages] & " Pages" |
1/3 lk |
=[Country/region] & " - " & [Page] |
EE - 1 |
=Format([Page], "000") |
001 |
="Printed on: " & Date() |
Prinditud: 31.12.17 |
Aritmeetilised tehted
Saate kasutada avaldisi liitmiseks, lahutamiseks, korrutamiseks ja väärtuste jagamiseks mitme välja või juhtelemendi vahel. Samuti saate avaldiste abi teha kuupäevadega seotud aritmeetilisi toiminguid. Näiteks oletame, et teil on kuupäeva/kellaaja väli nimega „NõutavKuupäev“. Avaldis =[RequiredDate] - 2 tagastab väljal või väljaga seotud juhtelemendis kuupäeva/kellaaja väärtuse, mis on kaks päeva varasem väljal NõutavKuupäev praegu olevast väärtusest.
Avaldis |
Tulemus |
---|---|
=[Subtotal]+[Freight] |
Väljadel või juhtelementides Vahesumma ja Veokulu olevate väärtuste summa. |
=[RequiredDate]-[ShippedDate] |
Väljadel või juhtelementides NõutavKuupäev ja Tarnekuupäev olevate kuupäevaväärtuste vahe. |
=[Price]*1.06 |
Välja või juhtelemendi Hind ja arvu 1,06 korrutis (lisab hinnale 6 protsenti). |
=[Quantity]*[Price] |
Väljadel või juhtelementides Kogus ja Hind olevate väärtuste korrutis. |
=[EmployeeTotal]/[CountryRegionTotal] |
Väljade või juhtelementide TöötajaKokku ja RiikMaakondKokku olevate väärtuste jagatis. |
Märkus Kui kasutate avaldises tehtemärke (+, -, * ja /) ning mõni avaldises sisalduv juhtelement on tühiväärtusega, on ka avaldise tulem tühiväärtusega – seda nimetatakse tühilevitamiseks. Kui mõni avaldises olev kirje võib olla tühiväärtusega, saate tühilevitamise vältimiseks tühiväärtuse teisendada nulliks funktsiooni Nz abil (nt =Nz([Subtotal])+Nz([Freight])).
Väärtused muudes juhtelementides
Mõnikord on vaja kasutada väärtust, mis asub kuskil mujal, näiteks mõne muu vormi või aruande väljal või juhtelemendis. Avaldise abil saate tagastada mõne muu välja või juhtelemendi väärtuse.
Järgmises tabelis on loetletud näidisavaldised, mida saab kasutada vormides arvutuslikes juhtelementides.
Avaldis |
Tulemus |
---|---|
=Forms![Orders]![OrderID] |
Vormi Tellimused juhtelemendi TellimuseID väärtus. |
=Forms![Orders]![Orders Subform].Form![OrderSubtotal] |
Vormi Tellimused alamvormi Tellimused juhtelemendi Tellimuste_vahesumma väärtus. |
=Forms![Orders]![Orders Subform]![ProductID].Column(2) |
Vormi Tellimused alamvormi mitme veeruga loendiboksi TooteID kolmandas veerus olev väärtus. (Pange tähele, et 0 viitab esimesele veerule, 1 teisele veerule jne.) |
=Forms![Orders]![Orders Subform]![Price] * 1.06 |
Vormi Tellimused alamvormi juhtelemendis Hind oleva väärtuse ja arvu 1,06 korrutis (hinnale 6 protsendi lisamiseks). |
=Parent![OrderID] |
Praeguse alamvormi pea- või ülatasemevormi juhtelemendi TellimuseID väärtus. |
Järgmises tabelis on näidatud, kuidas saab aruannetes kasutada arvutuslikke juhtelemente. Avaldistes viidatakse aruande atribuudile.
Avaldis |
Tulemus |
---|---|
=Report![Invoice]![OrderID] |
Aruande „Arve“ juhtelemendi „TellimuseID“ väärtus. |
=Report![Summary]![Summary Subreport]![SalesTotal] |
Aruande Kokkuvõte alamaruande juhtelemendi MüükKokku väärtus. |
=Parent![OrderID] |
Praeguse alamaruande pea- või ülatasemearuande juhtelemendi TellimuseID väärtus. |
Väärtuste loendamine, liitmine ja nende keskmise leidmine
Juhtelementide väljadel olevate väärtuste arvutamiseks saate kasutada kokkuvõttefunktsiooni. Näiteks saate aruande rühmajaluses arvutada rühma kogusumma või vormi reaüksuste tellimuste vahesumma. Samuti saate loendada ühe või mitme välja üksusi või arvutada nende keskmise väärtuse.
Järgmises tabelis on toodud näited funktsioonide Avg, Count ja Sum kasutamise kohta.
Avaldis |
Kirjeldus |
---|---|
=Avg([Freight]) |
Kasutab funktsiooni Avg, et kuvada väljal või juhtelemendis Veokulu olevate väärtuste keskmine. |
=Count([OrderID]) |
Kasutab funktsiooni Count, et kuvada juhtelemendis TellimuseID olevate kirjete arv. |
=Sum([Sales]) |
Kasutab funktsiooni Sum, et kuvada juhtelemendis Müük olevate väärtuste summa. |
=Sum([Quantity]*[Price]) |
Kasutab funktsiooni Sum, et kuvada juhtelementides Kogus ja Hind olevate väärtuste korrutise summa. |
=[Sales]/Sum([Sales])*100 |
Kuvab müügi osakaalu, mille leidmiseks jagatakse juhtelemendi Müük väärtus kõikide juhtelemendis Müük olevate väärtuste summaga. Kui määrate juhtelemendi atribuudi Vorming väärtuseks Protsent, jätke *100 avaldisest välja. |
Lisateavet kokkuvõttefunktsioonide kasutamise ja väljade ning veergude väärtuste summeerimise kohta leiate teemadest Andmete summeerimine päringu abil, Andmete loendamine päringu abil, Veerusummade kuvamine andmelehel summarea abil ja Andmelehe veerukokkuvõtete kuvamine.
SQL-kokkuvõttefunktsioonid
Kui soovite väärtusi valikuliselt summeerida või loendada, saate kasutada SQL-lauset või domeeni kokkuvõttefunktsiooni. Domeen koosneb mõne tabeli ühest või mitmest väljast või mõne vormi või aruande juhtelementidest. Näiteks saate vastendada tabelivälja väärtused vormi juhtelemendi väärtustega.
Avaldis |
Kirjeldus |
---|---|
=DLookup("[ContactName]", "[Suppliers]", "[SupplierID] = " & Forms("Suppliers")("[SupplierID]")) |
Funktsioon DLookup tagastab tabeli Tarnijad väljal KontaktiNimi olevad need väärtused, mille puhul väljal TarnijaID olev väärtus ühtib vormi Tarnijad juhtelemendis TarnijaID oleva väärtusega. |
=DLookup("[ContactName]", "[Suppliers]", "[SupplierID] = " & Forms![New Suppliers]![SupplierID]) |
Funktsioon DLookup tagastab tabeli Tarnijad väljal KontaktiNimi olevad need väärtused, mille puhul väljal TarnijaID olev väärtus ühtib uute tarnijate vormi juhtelemendis TarnijaID oleva väärtusega. |
=DSum("[OrderAmount]", "[Orders]", "[CustomerID] = 'RATTC'") |
Kasutab funktsiooni DSum, et tagastada tabeli Tellimused väljal TellimuseSumma olevate väärtuste kogusumma nende väljade põhjal, millega seotud KliendiID on RATTC. |
=DCount("[Retired]","[Assets]","[Retired]=Yes") |
Kasutab funktsiooni DCount, et tagastada tabelis Varad olevate väljade Aegunud (Jah/ei väli) arvu, mille väärtus on Jah. |
Kuupäevatoimingud
Kuupäevade ja kellaaegade jälgimine on üks põhilisi andmebaasitegevusi. Näiteks saate müügireskontro haldamisel arvutada, mitu päeva on möödunud arve kuupäevast. Kellaaegu ja kuupäevi saab vormindada mitut moodi, nagu on näidatud järgmises tabelis.
Avaldis |
Kirjeldus |
---|---|
=Date() |
Kasutab funktsiooni Date, et kuvada praegune kuupäev vormingus mm-dd-yy, kus dd on päev (1 kuni 31), mmon kuu (1 kuni 12) ja yy on aastaarvu kaks viimast numbrit (aastad 1980 kuni 2099). |
=Format(Now(), "ww") |
Kasutab funktsiooni Format, et kuvada praeguse kuupäeva nädala number, kus ww tähistab nädalat vahemikus 1–53. |
=DatePart("yyyy", [OrderDate]) |
Kasutab funktsiooni DatePart, et kuvada juhtelemendi TellimuseKuupäev väärtuse neljakohaline aastaarv. |
=DateAdd("y", -10, [PromisedDate]) |
Kasutab funktsiooni DateAdd, et kuvada kuupäev, mis on juhtelemendis EeldatavKuupäev olevast kuupäevast kümme päeva varasem. |
=DateDiff("d", [OrderDate], [ShippedDate]) |
Kasutab funktsiooni DateDiff, et kuvada juhtelementides Tellimiskuupäev ja Tarnekuupäev olevate väärtuste vaheline aeg päevades. |
=[InvoiceDate] + 30 |
Kasutab aritmeetilisi tehteid, et arvutada väljal või juhtelemendis ArveKuupäev olevast kuupäevast 30 päeva hilisem kuupäev. |
Ainult kahe väärtusega tingimused
Järgmises tabelis toodud näidisavaldistes kasutatakse kahest väärtusest ühe tagastamiseks funktsiooni IIf. Funktsioonile IIf edastatakse kolm argumenti. Esimene argument on avaldis, mis tagastab väärtuse True või False. Teine argument on väärtus, mis tagastatakse siis, kui avaldis on tõene, ja kolmas argument on väärtus, mis tagastatakse, kui avaldis on väär.
Avaldis |
Kirjeldus |
---|---|
=IIf([Confirmed] = "Yes", "Order Confirmed", "Order Not Confirmed") |
Kasutab funktsiooni IIf (Immediate If), et kuvada teade „Tellimus on kinnitatud.“, kui juhtelemendis Kinnitatud on väärtus Yes. Vastasel juhul kuvatakse teade "Order Not Confirmed.". |
=IIf(IsNull([Country/region]), " ", [Country]) |
Kasutab funktsioone IIf ja IsNull, et kuvada tühi string, kui juhtelemendis Riik/regioon on tühiväärtus. Vastasel juhul kuvatakse juhtelemendi Riik/regioon väärtus. |
=IIf(IsNull([Region]), [City] & " " & [PostalCode], [City] & " " & [Region] & " " & [PostalCode]) |
Kasutab funktsioone IIf ja IsNull, et kuvada juhtelementide Linn ja Sihtnumber väärtused, kui juhtelemendi Regioon väärtus on tühi. Vastasel juhul väljade või juhtelementide Linn, Regioon ja Sihtnumber väärtused. |
=IIf(IsNull([RequiredDate]) Or IsNull([ShippedDate]), "Check for a missing date", [RequiredDate] - [ShippedDate]) |
Kasutab funktsioone IIf ja IsNull, et kuvada teade „Kontrollige kuupäevi.“, kui väljadel Tarnekuupäev ja NõutavKuupäev olevate väärtuste lahutamisel saadakse tühiväärtus. Vastasel juhul kuvatakse juhtelementides Tarnekuupäev ja NõutavKuupäev olevate kuupäevade vahe. |
Päringud ja filtrid
Selles jaotises on toodud näited avaldistest, mida saate kasutada päringus arvutusliku välja loomiseks või päringusse kriteeriumide lisamiseks. Arvutuslik väli on päringu veerg, mis saadakse avaldise tulemina. Näiteks saate arvutada väärtuse, kombineerida tekstväärtusi (nt ees- ja perekonnanimed) ning vormindada kuupäeva osa.
Päringu kriteeriumide abil saate piirata nende kirjete arvu, millega te töötate. Näiteks saate kasutada operaatorit Between, et määrata algus- ja lõpukuupäev ning piirata päringutulemid ainult nendele tellimustele, mis selles vahemikus saadeti.
Allpool on toodud näited päringutes kasutatavate avaldiste kohta.
Tekstitoimingud
Järgmises tabelis toodud avaldised kasutavad tehtemärke & ja + tekstistringide kombineerimiseks, sisseehitatud funktsioone tekstistringi töötlemiseks või töötlevad teksti muul moel, et luua arvutuslik väli.
Avaldis |
Kirjeldus |
---|---|
FullName: [FirstName] & " " & [LastName] |
Loob välja Täisnimi, kus kuvatakse tühikutega eraldatult väljadel Eesnimi ja Perekonnanimi olevad väärtused. |
Address2: [City] & " " & [Region] & " " & [PostalCode] |
Loob välja Aadress2, kus kuvatakse tühikutega eraldatult väljadel Linn, Regioon ja Sihtnumber olevad väärtused. |
ProductInitial: Left([ProductName], 1) |
Loob välja TooteInitsiaal ja kasutab funktsiooni Left, et kuvada väljal TooteInitsiaal väljal TooteNimi oleva väärtuse esimene täht. |
TypeCode: Right([AssetCode], 2) |
Loob välja TüübiKood ja kasutab funktsiooni Right, et kuvada väljal VaraKood oleva väärtuse kaks viimast märki. |
AreaCode: Mid([Phone],2,3) |
Loob välja PiirkonnaKood ja kasutab funktsiooni Mid, et kuvada väljal Telefon oleva väärtuse kolm keskmist märki alates teisest märgist. |
ExtendedPrice: CCur([Order Details].[Unit Price]*[Quantity]*(1-[Discount])/100)*100 |
Määrab arvutusliku välja nimeks LaiendatudHind ja arvutab funktsiooni CCur abil reaüksuste kogusummad koos allahindlusega. |
Aritmeetilised tehted
Saate kasutada avaldisi liitmiseks, lahutamiseks, korrutamiseks ja väärtuste jagamiseks mitme välja või juhtelemendi vahel. Samuti saate teha kuupäevadega seotud aritmeetilisi toiminguid. Näiteks oletame, et teil on kuupäeva/kellaaja väli NõutavKuupäev. Avaldis =[RequiredDate] - 2 tagastab kuupäeva/kellaaja väärtuse, mis on kaks päeva varasem väljal NõutavKuupäev olevast väärtusest.
Avaldis |
Kirjeldus |
---|---|
PrimeFreight: [Freight] * 1.1 |
Loob välja AlgneVeokulu ja kuvab väljal veokulud koos 10-protsendise lisaga. |
OrderAmount: [Quantity] * [UnitPrice] |
Loob välja TellimuseSumma ja kuvab väljadel Kogus ja ÜhikuHind olevate väärtuste korrutise. |
LeadTime: [RequiredDate] - [ShippedDate] |
Loob välja Täitmisaeg ja kuvab väljadel NõutavKuupäev ja Tarnekuupäev olevate väärtuste vahe. |
TotalStock: [UnitsInStock]+[UnitsOnOrder] |
Loob välja LaovarudKokku ja kuvab väljadel KaupuLaos ja TellitudÜksused olevate väärtuste summa. |
FreightPercentage: Sum([Freight])/Sum([Subtotal]) *100 |
Loob välja VeokuluProtsent ja kuvab iga vahesumma juures veokulude protsendi. See avaldis kasutab funktsiooni Sum, et summeerida väljal Veokulu olevad väärtused, ja seejärel jagab need summad väljal Vahesumma olevate väärtuste summadega. Selle avaldise kasutamiseks tuleb valikupäring teisendada kokkuvõttepäringuks, sest peate kujundusvaates kasutama Summarida, samuti peate selle välja lahtri Kogusumma väärtuseks määrama Avaldis. Lisateavet kokkuvõttepäringu loomise kohta leiate artiklist Andmete summeerimine päringuga. Kui määrate välja atribuudi Vorming väärtuseks Protsent, jätke *100 välja. |
Lisateavet kokkuvõttefunktsioonide kasutamise ja väljade ning veergude väärtuste summeerimise kohta leiate teemadest Andmete summeerimine päringu abil, Andmete loendamine päringu abil, Veerusummade kuvamine andmelehel summarea abil ja Andmelehe veerukokkuvõtete kuvamine.
Kuupäevatoimingud
Peaaegu kõik andmebaasid talletavad ja jälgivad kuupäevi ja kellaaegu. Accessis kuupäevade ja kellaaegadega töötamiseks saate neid väärtusi sisaldavate tabeliväljade andmetüübiks määrata Kuupäev/kellaaeg. Access saab kuupäevadega teha aritmeetilisi tehteid. Näiteks saate müügireskontro haldamisel arvutada, mitu päeva on möödunud arve kuupäevast.
Avaldis |
Kirjeldus |
---|---|
LagTime: DateDiff("d", [OrderDate], [ShippedDate]) |
Loob välja Viivitus ja kasutab funktsiooni DateDiff, et kuvada tellimiskuupäeva ja tarnekuupäeva vaheline aeg päevades. |
YearHired: DatePart("yyyy",[HireDate]) |
Loob välja TöölevõtuAasta ja kasutab funktsiooni DatePart, et kuvada iga töötaja töölevõtmise aasta. |
MinusThirty: Date( )- 30 |
Loob välja Miinus30 ja kasutab funktsiooni Date, et kuvada praegusest kuupäevast 30 päeva varasem kuupäev. |
SQL-kokkuvõttefunktsioonid
Järgmises tabelis toodud avaldistes kasutatakse SQL-keeles (Structured Query Language) funktsioone andmete koondamiseks või summeerimiseks. Sageli viidatakse nendele funktsioonidele (nt Sum, Count ja Avg) kui kokkuvõttefunktsioonidele.
Lisaks kokkuvõttefunktsioonidele on Accessis ka „domeeni“ kokkuvõttefunktsioonid, mis võimaldavad väärtusi summeerida või loendada valikuliselt. Näiteks saate loendada väärtusi ainult teatud vahemikus või otsida väärtusi mõnest muust tabelist. Domeeni kokkuvõttefunktsioonide hulgas on näiteks DSum, DCount ja DAvg.
Kogusumma arvutamiseks tuleb sageli luua kogupäring. Näiteks rühma summeerimiseks tuleb kasutada päringut Kogusummad. Päringu Kogusummad kasutamiseks klõpsake päringu kujundusruudustikus menüüs Vaade valikut Kogusummad.
Avaldis |
Kirjeldus |
---|---|
RowCount: Count(*) |
Loob välja RidadeArv ja kasutab funktsiooni Count, et lugeda kokku päringus sisalduvate kirjete arv, kaasates ka tühiväärtusega ehk tühjad kirjed. |
FreightPercentage: Sum([Freight])/Sum([Subtotal]) *100 |
Loob välja VeokuluProtsent ja arvutab veokulude protsendi igast vahesummast, jagades väljal Veokulud olevate väärtuste summa väljal Vahesumma olevate väärtuste summadega. (Selles näites kasutatakse funktsiooni Sum.) Seda avaldist peab kasutama koos kogupäringuga. Kui määrate välja atribuudi Vorming väärtuseks Protsent, jätke *100 välja. Lisateavet kokkuvõttepäringu loomise kohta leiate artiklist Andmete summeerimine päringuga. |
AverageFreight: DAvg("[Freight]", "[Orders]") |
Loob välja KeskmineVeokulu ja kasutab funktsiooni DAvg, et arvutada kõikide kokkuvõttepäringus sisalduvate tellimuste keskmine veokulu. |
Puuduvate andmetega väljad
Siin kirjeldatud avaldisi saab kasutada väljadel, kust võivad andmed puududa (nt tundmatute või määramata väärtustega väljad). Tühiväärtusi tuleb sageli ette – näiteks võib juhtuda, et uue toote hind pole veel teada või keegi unustas tellimusele mõne väärtuse lisada. Tühiväärtuste otsimise ja töötlemise funktsioonid võivad osutuda oluliseks osaks andmebaasitoimingutest. Järgmises tabelis on toodud näiteid sellest, kuidas saab avaldiste abil tühiväärtustega toime tulla.
Avaldis |
Kirjeldus |
---|---|
CurrentCountryRegion: IIf(IsNull([CountryRegion]), " ", [CountryRegion]) |
Loob välja PraeguneRiikRegioon ja kasutab funktsioone IIf ja IsNull, et kuvada väljal tühi string, kui väljal RiikRegioon on tühiväärtus. Vastasel juhul kuvatakse välja RiikRegioon sisu. |
LeadTime: IIf(IsNull([RequiredDate] - [ShippedDate]), "Check for a missing date", [RequiredDate] - [ShippedDate]) |
Loob välja Täitmisaeg ja kasutab funktsioone IIf ja IsNull, et kuvada teade „Kontrollige kuupäevi.“, kui väljal NõutavKuupäev või Tarnekuupäev on tühiväärtus. Vastasel juhul kuvatakse kuupäevade vahe. |
SixMonthSales: Nz([Qtr1Sales]) + Nz([Qtr2Sales]) |
Loob välja KuueKuuMüük ja kuvab väljadel Kv1Müük ja Kv2Müük olevate väärtuste kogusumma, teisendades esmalt kõik tühiväärtused funktsiooni Nz abil nullideks. |
Arvutuslikud väljad alampäringutega
Arvutusliku välja loomiseks saate luua pesastatud päringu ehk alampäringu. Järgmises tabelis on toodud näide arvutuslikust väljast, mis saadakse alampäringu tulemina.
Avaldis |
Kirjeldus |
---|---|
Cat: (SELECT [CategoryName] FROM [Categories] WHERE [Products].[CategoryID]=[Categories].[CategoryID]) |
Loob välja Kat ja kuvab välja KategooriaNimi väärtuse, kui tabelist Kategooriad pärit KategooriaID väärtus ühtib tabelis Tooted oleva KategooriaID väärtusega. |
Tekstiväärtuste vastendamine
Selles tabelis on toodud näidisavaldised, mis sisaldavad tekstväärtusele või osale sellest vastavaid kriteeriume.
Väli |
Avaldis |
Kirjeldus |
---|---|---|
TarneLinn |
"London" |
Kuvab Tallinnasse saadetud tellimused. |
TarneLinn |
"London" Or "Hedge End" |
Kasutab operaatorit Or, et kuvada Tallinnasse või Paidesse saadetud tellimused. |
TarneRiikRegioon |
In("Canada", "UK") |
Kasutab operaatorit In, et kuvada Leetu või Saksamaale saadetud tellimused. |
TarneRiikRegioon |
Not "USA" |
Kasutab operaatorit Not, et kuvada tellimused, mis on saadetud muudesse riikidesse/regioonidesse peale Poola. |
TooteNimi |
Not Like "C*" |
Kasutab operaatorit Not ja metamärki *, et kuvada tooted, mille nimed ei alga K-tähega. |
EttevõtteNimi |
>="N" |
Kuvab tellimused, mis on saadetud ettevõtetele, mille nimed algavad tähtedega N–Z. |
TooteKood |
Right([ProductCode], 2)="99" |
Kasutab funktsiooni Right, et kuvada need tellimused, mille väärtuse TooteKood lõpus on 99. |
TarneNimi |
Like "S*" |
Kuvab tellimused, mis on saadetud klientidele, kelle nimed algavad S-tähega. |
Kuupäevakriteeriumide vastendamine
Järgmises tabelis on näidatud, kuidas saab kriteeriumeid sisaldavas avaldises kasutada kuupäevi ja nendega seotud funktsioone. Lisateavet kuupäevaväärtuste sisestamise ja kasutamise kohta leiate artiklist Kuupäeva- või kellaajaväljade vormindamine.
Väli |
Avaldis |
Kirjeldus |
---|---|---|
TarneKuupäev |
#2/2/2017# |
Kuvab tellimused, mis saadeti 2. veebruaril 2017. |
TarneKuupäev |
Date() |
Kuvab täna saadetud tellimused. |
NõutavKuupäev |
Between Date( ) And DateAdd("m", 3, Date( )) |
Kasutab operaatorit Between...And ja funktsioone DateAdd ja Date, et kuvada tellimused, mis on nõutavad alates tänasest kolme kuu jooksul. |
Tellimiskuupäev |
< Date( ) - 30 |
Kasutab funktsiooni Date, et kuvada tellimused, mille esitamisest on möödas rohkem kui 30 päeva. |
Tellimiskuupäev |
Year([OrderDate])=2017 |
Kasutab funktsiooni Year, et kuvada tellimused, mis esitati aastal 2017. |
Tellimiskuupäev |
DatePart("q", [OrderDate])=4 |
Kasutab funktsiooni DatePart, et kuvada neljandas kvartalis esitatud tellimused. |
Tellimiskuupäev |
DateSerial(Year ([OrderDate]), Month([OrderDate])+1, 1)-1 |
Kasutab funktsioone DateSerial, Year ja Month, et kuvada iga kuu viimasel päeval esitatud tellimused. |
Tellimiskuupäev |
Year([OrderDate])= Year(Now()) And Month([OrderDate])= Month(Now()) |
Kasutab funktsioone Year ja Month ning operaatorit And, et kuvada praegusel aastal ja kuul tehtud tellimused. |
TarneKuupäev |
Between #1/5/2017# And #1/10/2017# |
Kasutab operaatorit Between...And , et kuvada tellimused, mis esitati vahemikus 5. jaanuar 2017 kuni 10. jaanuar 2017. |
NõutavKuupäev |
Between Date( ) And DateAdd("M", 3, Date( )) |
Kasutab operaatorit Between...And, et kuvada tellimused, mis on nõutavad alates tänasest kolme kuu jooksul. |
Sünnikuupäev |
Month([BirthDate])=Month(Date()) |
Kasutab funktsioone Month ja Date, et kuvada töötajad, kellel on sellel kuul sünnipäev. |
Puuduvate andmete otsimine
Järgmises tabelis toodud avaldised töötavad väljadega, mis võivad sisaldada tühiväärtusi või nullpikkusega stringe. Tühiväärtus tähendab teabe puudumist; see ei tähista nulli ega ühtegi muud väärtust. Access toetab puuduva teabe töötlemist, sest see kontseptsioon on oluline andmebaasi tervikluse tagamiseks. Reaalses elus võivad andmed sageli puududa, kas või ajutiselt (nt uue toote hinda pole veel määratud). Seetõttu peab reaalseid üksusi mudeldavates andmebaasides olema võimalus määrata teave puuduvaks. Funktsiooni IsNull abil saate tuvastada, kas väljal või juhtelemendis on tühiväärtus, ja funktsioon Nz võimaldab tühiväärtuse nulliks teisendada.
Väli |
Avaldis |
Kirjeldus |
---|---|---|
TarnePiirkond |
Is Null |
Kuvab nende klientide tellimused, kelle puhul välja TarnePiirkond väärtus on tühi (puudub). |
TarnePiirkond |
Is Not Null |
Kuvab nende klientide tellimused, kelle väli TarnePiirkond sisaldab väärtust. |
Faks |
"" |
Kuvab nende klientide tellimused, kellel pole faksiaparaati, mis väljendub selles, et väljal Faks on nullpikkusega string, mitte tühiväärtus. |
Kirjemustrite vastendamine Like-klausliga
Operaator Like muudab mustri põhjal ridade otsimise paindlikuks, sest saate operaatorit Like kasutada koos metamärkidega ja määratleda mustrid, mille põhjal Access kirjeid otsib. Näiteks metamärk * (tärn) vastab igat tüüpi märkide jadale, hõlbustades nii kõikide teatud tähega algavate nimede leidmist. Näiteks kasutate avaldist Like "S*", et leida kõik nimed, mis algavad S-tähega. Lisateavet leiate teemast Tehtemärk Like.
Väli |
Avaldis |
Kirjeldus |
---|---|---|
TarneNimi |
Like "S*" |
Leiab kõik välja TarneNimi kirjed, mis algavad S-tähega. |
TarneNimi |
Like "*Imports" |
Leiab kõik välja TarneNimi kirjed, mille lõpus on sõna „Import“ |
TarneNimi |
Like "[A-D]*" |
Leiab kõik välja TarneNimi kirjed, mille alguses on tähed A, B, C või D. |
TarneNimi |
Like "*ar*" |
Leiab kõik välja TarneNimi kirjed, mis sisaldavad tähekombinatsiooni „ar“. |
TarneNimi |
Like "Maison Dewe?" |
Leiab kõik välja TarneNimi kirjed, mille esimene osa sisaldab kirjet „Maison“ ja mis sisaldavad viietähelist stringi, mille esimesed neli tähte on „Dewe“, aga mille viimane täht on teadmata. |
TarneNimi |
Not Like "A*" |
Leiab kõik välja TarneNimi kirjed, mis ei alga A-tähega. |
Ridade vastendamine SQL-koondväärtustega
Kui soovite väärtusi valikuliselt summeerida, loendada, või leida nende keskmise, saate kasutada SQL-lauset või domeeni kokkuvõttefunktsiooni. Võib-olla soovite loendada ainult need väärtused, mis jäävad teatud vahemikku või mille tulemiks on Jah. Või soovite kuvatavat väärtust otsida mõnest muust tabelist. Järgmises tabelis on toodud näidisavaldised, mis kasutavad domeeni kokkuvõttefunktsioone, et arvutada väärtusekogumi põhjal ja kasutada tulemit päringukriteeriumina.
Väli |
Avaldis |
Kirjeldus |
---|---|---|
Vedu |
> (DStDev("[Freight]", "Orders") + DAvg("[Freight]", "Orders")) |
Kasutab funktsioone DStDev ja DAvg, et kuvada kõik tellimused, mille puhul veokulu oli üle keskmise, liites neile veokulu standardhälbe. |
Kogus |
> DAvg("[Quantity]", "[Order Details]") |
Kasutab funktsiooni DAvg, et kuvada tooted, mida on tellitud keskmisest suuremates kogustes. |
Väljade vastendamine alampäringutega
Saate kasutada alampäringut ehk pesastatud päringut, et arvutada kriteeriumina kasutatav väärtus. Järgmises tabelis on toodud näidisavaldised, mis otsivad kirjeid alampäringu tagastatavate tulemite põhjal.
Väli |
Avaldis |
Kuvatakse |
---|---|---|
ÜhikuHind |
(SELECT [UnitPrice] FROM [Products] WHERE [ProductName] = "Aniseed Syrup") |
Tooted, mis on sama hinnaga nagu aniisisiirup. |
ÜhikuHind |
>(SELECT AVG([UnitPrice]) FROM [Products]) |
Tooted, mille ühiku hind on keskmisest kõrgem. |
Palk |
> ALL (SELECT [Salary] FROM [Employees] WHERE ([Title] LIKE "*Manager*") OR ([Title] LIKE "*Vice President*")) |
Iga sellise müügiesindaja palk, kelle palk on kõrgem töötajatest, kelle ametinimetus sisaldab kirjet „Juht“ või „Asepresident“. |
TellimuseKogusumma: [ÜhikuHind] * [Kogus] |
> (SELECT AVG([UnitPrice] * [Quantity]) FROM [Order Details]) |
Tellimused, mille kogusumma on keskmisest suurem. |
Värskenduspäringud
Saate andmebaasis mõnel olemasoleval väljal olevate andmete muutmiseks kasutada värskenduspäringut. Näiteks saate väärtusi asendada või hoopis kustutada. Selles tabelis on näidatud, kuidas saate kasutada avaldisi värskenduspäringutes. Neid avaldisi saab kasutada kujundusruudustikus värskendatava välja juures real Värskenda:.
Lisateavet värskenduspäringute loomise kohta leiate artiklist Värskenduspäringu loomine ja käivitamine.
Väli |
Avaldis |
Tulemus |
---|---|---|
Amet |
"Salesperson" |
Määrab tekstivälja väärtuseks „Müügiagent“. |
ProjektiAlgus |
#8/10/17# |
Muudab kuupäeva väärtuseks 10.08.17. |
Aegunud |
Yes |
Muudab välja Jah/ei väärtuse väärtuseks Jah. |
OsaNumber |
"PN" & [PartNumber] |
Lisab iga määratud osa numbri algusse väärtuse „ON“. |
ReaÜksusedKokku |
[UnitPrice] * [Quantity] |
Arvutab väljade ÜhikuHind ja Kogus väärtuste korrutise. |
Veokulu |
[Freight] * 1.5 |
Suurendab veokulusid 50 protsendi võrra. |
Müük |
DSum("[Quantity] * [UnitPrice]", "Order Details", "[ProductID]=" & [ProductID]) |
Värskendab müügisummasid väljade Koguse ja ÜhikuHind väärtuste korrutise põhjal, kui praeguse tabeli välja TooteID väärtused vastavad tellimuse üksikasjade tabeli välja TooteID väärtustele. |
TarneSihtnumber |
Right([ShipPostalCode], 5) |
Kärbib kõige vasakpoolsemad märgid, jättes alles viis parempoolseimat märki. |
ÜhikuHind |
Nz([UnitPrice]) |
Muudab väljal ÜhikuHind oleva tühiväärtuse (määratlemata või tundmatu) nulliks (0). |
SQL-laused
Structured Query Language ehk SQL on päringukeel, mida Access kasutab. Kõiki kujundusvaates koostatud päringuid saab väljendada ka SQL-keeles. Päringu SQL-lause kuvamiseks klõpsake menüüs Vaade valikut SQL-i vaade. Järgmises tabelis on toodud näited SQL-lausetest, mis kasutavad avaldisi.
SQL-lause, mis kasutab avaldist |
Tulemid |
---|---|
SELECT [FirstName],[LastName] FROM [Employees] WHERE [LastName]="Danseglio"; |
Kuvab väljade Eesnimi ja Perekonnanimi väärtused nende töötajate puhul, kelle perekonnanimi on Murakas. |
SELECT [ProductID],[ProductName] FROM [Products] WHERE [CategoryID]=Forms![New Products]![CategoryID]; |
Kuvab tabeli Tooted väljadel TooteID ja TooteNimi olevad väärtused nende kirjete puhul, mille KategooriaID ühtib tabelis „Uued tooted“ oleva KategooriaID-ga. |
SELECT Avg([ExtendedPrice]) AS [Average Extended Price] FROM [Order Details Extended] WHERE [ExtendedPrice]>1000; |
Arvutab keskmise laiendatud hinna nende toodete jaoks, mille väljal LaiendatudHind on suurem väärtus kui 1000, ja kuvab tulemi väljal „Keskmine laiendatud hind“. |
SELECT [CategoryID], Count([ProductID]) AS [CountOfProductID] FROM [Products] GROUP BY [CategoryID] HAVING Count([ProductID])>10; |
Kuvab väljal „TooteKoguseID“ toodete koguse nendes kategooriates, kus on üle 10 toote. |
Tabeliavaldised
Kaks kõige levinumat viisi tabelites avaldiste kasutamiseks on vaikeväärtuse määramine ja valideerimisreegli loomine.
Väljade vaikeväärtused
Võimalik, et soovite andmebaasi luues määrata väljale või juhtelemendile vaikeväärtuse. Access kasutab vaikeväärtust, kui luuakse seda välja sisaldav kirje või seda juhtelementi sisaldav objekt. Järgmises tabelis on toodud avaldised, kus väljadele või juhtelementidele on määratud vaikeväärtused. Kui juhtelement on seotud tabeliväljaga ja väljal on vaikeväärtus, on juhtelemendi vaikeväärtus tähtsam.
Väli |
Avaldis |
Välja vaikeväärtus |
---|---|---|
Quantity |
1 |
1 |
Regioon |
"MT" |
Harjumaa |
Regioon |
"New York, N.Y." |
Tartu, Tartumaa (Pange tähele, et kirjavahemärke sisaldavad väärtused tuleb panna sulgudesse.) |
Faks |
"" |
Nullpikkusega string, mis näitab seda, et see väli peaks vaikimisi olema tühi, mitte sisaldama tühiväärtust. |
Tellimuse kuupäev |
Date( ) |
Tänane kuupäev |
Tähtaeg |
Date() + 60 |
60 päeva pärast alates tänasest |
Välja valideerimisreeglid
Avaldise abil saate välja või juhtelemendi jaoks luua valideerimisreegli. Access rakendab seda reeglit, kui väljale või juhtelementi sisestatakse andmed. Valideerimisreegli loomiseks tuleb muuta välja või juhtelemendi atribuuti Valideerimisreegel. Samuti võiksite määrata väärtuse atribuudile Valideerimistekst, mis on tekst, mille Access kuvab valideerimisreegli rikkumise korral. Kui te atribuudi Valideerimistekst väärtust ei määra, kuvab Access vaiketõrketeate.
Järgmises tabelis on toodud näited atribuudi Valideerimisreegel valideerimisreegli avaldiste ja nendega seotud atribuudi Valideerimistekst väärtuste kohta.
Atribuut Valideerimisreegel |
Atribuut Valideerimistekst |
---|---|
<> 0 |
Sisestage nullist erinev väärtus. |
0 Or > 100 |
Väärtus peab olema 0 või suurem kui 100. |
Like "K???" |
Väärtus peab sisaldama nelja märki ja algama K-tähega. |
< #1/1/2017# |
Sisestage kuupäevast 01.01.2017 varasem kuupäev. |
>= #1/1/2017# And < #1/1/2008# |
Kuupäev peab jääma aastasse 2017. |
Lisateavet andmete valideerimise kohta leiate artiklist Välja andmete valideerimiseks valideerimisreegli loomine.
Makroavaldised
Vahel võib teil olla tarvis teostada makrotoimingut või -toimingutesarja ainult juhul, kui kindel tingimus on tõene. Oletame näiteks, et soovite toimingu käivitamist ainult siis, kui loenduri tekstivälja väärtus on 10. Avaldise abil saate määratleda if-ploki tingimuse:
[Counter]=10
Nagu atribuudi Valideerimisreegel puhul, on ka If-plokis olev avaldis tingimusavaldis. Selle tulem peab olema True või False. Toiming käivitatakse ainult siis, kui tingimus on tõene.
See avaldis käivitab toimingu |
Kui |
---|---|
[City]="Paris" |
Makro käivitati vormis, mille väljal Linn on väärtus Narva. |
DCount("[OrderID]", "Orders") > 35 |
Tabeli Tellimused väljal TellimuseID on üle 35 kirje. |
DCount("*", "[Order Details]", "[OrderID]=" & Forms![Orders]![OrderID]) > 3 |
Selles tellimuste üksikasja tabelis, mille välja TellimuseID väärtus ühtib vormi Tellimuse väljal TellimuseID oleva väärtusega, on üle kolme kirje. |
[ShippedDate] Between #2-Feb-2017# And #2-Mar-2017# |
Makro käivitati vormis, mille välja Tarnekuupäev kuupäev on vahemikus 2. veebruar 2017 ja 2. märts 2017. |
Forms![Products]![UnitsInStock] < 5 |
Vormi Tooted välja KaupuLaos väärtus on väiksem kui 5. |
IsNull([FirstName]) |
Makro käivitati vormis, mille väljal Eesnimi on tühiväärtus (väärtus puudub). See avaldis on sama nagu avaldis [Eesnimi] Is Null. |
[CountryRegion]="UK" And Forms![SalesTotals]![TotalOrds] > 100 |
Makro käivitati vormis, mille välja RiikRegioon väärtus on Eesti ja vormi MüükKokku välja TellimusiKokku väärtus on suurem kui 100. |
[CountryRegion] In ("France", "Italy", "Spain") And Len([PostalCode])<>5 |
Makro käivitati vormis, mille välja RiikRegioon väärtus on Prantsusmaa, Itaalia või Hispaania, ja sihtnumber pole 5 märgi pikkune. |
MsgBox("Confirm changes?",1)=1 |
Klõpsake funktsiooni MsgBox kuvatavas dialoogiboksis nuppu OK. Kui klõpsate dialoogiboksis valikut Loobu, eirab Access toimingut. |