Sellest artiklist leiate Accessi avaldiste näited. Avaldis ühendab matemaatilised või loogilised tehtemärgid, konstandid, funktsioonid, tabeliväljad, juhtelemendid ja atribuudid üheks väärtuseks. Accessis saate avaldiste abil arvutada väärtusi, valideerida andmeid ja seada vaikeväärtusi.
Selle artikli teemad
Vormid ja aruanded
Kõik vormide ja aruannete avaldised
Päringud ja filtrid
Kõik päringu- ja filtriavaldised
Tabelid
| Väljade vaikeväärtused | Välja valideerimisreeglid |
|---|
Makrod
Vormid ja aruanded
Selle jaotise tabelites kuvatakse avaldised, mis arvutavad vormi või aruande juhtelemendi väärtuse. Arvutatud juhtelemendi loomiseks sisestage avaldis ControlSource tabelivälja või päringu asemel juhtelemendi atribuudisse.
Märkus.
Vormi või aruande avaldisi saate kasutada ka tingimusvorminguga andmete esiletõstmisel.
Tekstitoimingud
Järgmises tabelis toodud avaldistes kasutatakse & tehtemärke (ampersand) ja + (plussmärke) tekstistringide kombineerimiseks, tekstiga töötamiseks valmisfunktsioonide abil või muul viisil arvutusliku juhtelemendi loomiseks.
| 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 kasutatakse tehtemärki & välja Eesnimi, tühikumärgi (jutumärkides) ja välja Perekonnanimi ühendamiseks. |
=Left([ProductName], 1) |
Left Kasutab funktsiooni väärtuse esimese märgi kuvamiseks väljal või juhtelemendis nimega ProductName. |
=Right([AssetCode], 2) |
Right Kasutab funktsiooni väärtuse kahe viimase märgi kuvamiseks väljal või juhtelemendis nimega AssetCode. |
=Trim([Address]) |
Trim Kasutab funktsiooni juhtelemendi väärtuse kuvamiseks pärast algus- Address ja lõputühikute eemaldamist. |
=IIf(IsNull([Region]), [City] & " " & [PostalCode], [City] & " " & [Region] & " " & [PostalCode]) |
IIf Kasutab funktsiooni juhtelementide City väärtuste PostalCode kuvamiseks, kui Region juhtelement on tühi. Muul juhul kuvatakse tühikutega eraldatuna juhtelementide , Regionja ja PostalCode väärtusedCity. |
=[City] & (" " + [Region]) & " " & [PostalCode] |
Kasutab tehtemärki + ja tühilevitamist juhtelementide CityPostalCode väärtuste kuvamiseks, kui välja või juhtelemendi väärtus Region on tühi. Muul juhul kuvab see tühikutega eraldatuna väljade Cityja juhtelementide , Regionja PostalCode väärtused. Tühilevitamine tähendab, et kui avaldise mis tahes osa on tühi, on kogu avaldis tühiväärtusega. Tehtemärk + toetab tühilevitamist, kuid tehtemärki & mitte. |
Päised ja jalused
Atribuutide Page ja Pages abil saate vormidel või aruannetes kuvada või printida leheküljenumbreid. Need atribuudid on saadaval ainult printimise või prindieelvaate ajal, nii et neid ei kuvata vormi või aruande atribuudilehel. Tavaliselt paigutatakse tekstiväli vormi või aruande päise või jaluse jaotisse ja seejärel kasutatakse avaldist nagu järgmises tabelis.
Lisateavet vormides ja aruannetes päiste ja jaluste kasutamise kohta leiate teemast Leheküljenumbrite lisamine vormi või aruandesse.
| Avaldis | Tulem |
|---|---|
=[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 enne väljal NõutavKuupäev praegusi väärtusi.
| 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 aritmeetilist tehtemärki (+, -, *või /) ja üks juhtelement on tühiväärtusega, on kogu avaldise tulem tühiväärtusega. Seda nimetatakse tühilevitamiseks. Kui juhtelemendil võib olla tühiväärtus, saate tühilevitamise vältimiseks kasutada funktsiooni Nz , et teisendada tühiväärtus nulliks. Näiteks kasutage vormingut =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üügiprotsendi, jagades juhtelemendi väärtuse Sales juhtelemendi kõigi väärtuste summaga Sales . Kui määrate Format juhtelemendi atribuudi väärtuseks Percent, ärge kaasake *100 avaldisse. |
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 kujul mm-dd-yy, kus mm on kuu (1 kuni 12), dd on päev (1–31) ja yy aastaarvu kaks viimast numbrit (1980–2099). |
=Format(Now(), "ww") |
Kasutab funktsiooni Format, et kuvada praeguse kuupäeva nädalanumber, kus ww on nädalad 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. Läbite funktsiooni IIf kolm argumenti: esimene argument on avaldis, mis peab tagastama väärtuse True või False väärtuse. 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 juhtelemendi Kinnitatud väärtus on 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 operaatori abil Between sisestada algus- ja lõppkuupäeva ning piiritleda päringu tulemid nende kuupäevade vahel tarnitud tellimustega.
Järgmistes jaotistes on toodud näited päringutes kasutatavate avaldiste kohta.
Tekstitoimingud päringutes
Järgmises tabelis toodud avaldistes kasutatakse & tehtemärke ja tehtemärke + tekstistringide kombineerimiseks, tekstistringiga töötamiseks valmisfunktsioonide abil või arvutusliku välja loomiseks muul viisil tekstiga töötamist.
| 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 toimingud päringutes
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 väärtuse Kuupäev/kellaaeg, mis võrdub kaks päeva enne välja NõutavKuupäev väärtust.
| 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 nimega FreightPercentageja kuvab igas vahesummas veokulude protsendi. See avaldis kasutab Sum funktsiooni väljaväärtuste Freight summeerimiseks ja jagab need kogusummad välja väärtuste summaga Subtotal . Selle avaldise kasutamiseks teisendage oma valikupäring päringuks Kogusummad. Peate kasutama kujundusruudustiku rida Kokku ja määrama selle välja lahtri Kogusumma väärtuseks Expression. Kokkuvõttepäringu loomise kohta leiate lisateavet teemast Andmete summeerimine päringu abil. Kui määrate Format välja atribuudi väärtuseks Percent, ärge kaasake *100. |
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 päringutes
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 päringutes
Järgmise tabeli avaldised kasutavad SQL-i funktsioone, mis koondavad või summeerivad andmeid. Sageli näete selliseid funktsioone nagu Sum, Countja Avg neid nimetatakse kokkuvõttefunktsiooniks.
Lisaks kokkuvõttefunktsioonidele pakub Access ka domeeni kokkuvõttefunktsioone, mis võimaldavad väärtusi valikuliselt liita või loendada. Näiteks saate loendada väärtusi ainult teatud vahemikus või otsida väärtusi mõnest muust tabelist. Domeeni kokkuvõttefunktsioonide hulka kuuluvad DSum, DCount ja DAvg.
Kogusummade arvutamiseks peate sageli looma päringu Kogusummad. Näiteks rühma alusel kokkuvõtte tegemiseks kasutage päringut Kogusummad. Päringu Kogusummad lubamiseks päringu kujundusruudustikust valige menüüs Vaade käsk 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 nimega FreightPercentageja arvutab iga vahesumma veokulude protsendi, jagades välja väärtuste Freight summa välja väärtuste summaga Subtotal . Selles näites Sum kasutatakse funktsiooni. Seda avaldist peab kasutama koos kogupäringuga. Kui määrate Format välja atribuudi väärtuseks Percent, ärge kaasake *100. Kokkuvõttepäringu loomise kohta leiate lisateavet teemast Andmete summeerimine päringu abil. |
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 Londonisse või Hedge Endi saadetud tellimused. |
| TarneRiikRegioon | In("Canada", "UK") |
Kasutab operaatorit In Kanadasse või Ühendkuningriiki saadetud tellimuste kuvamiseks. |
| TarneRiikRegioon | Not "USA" |
Kasutab tehtemärki Not , et kuvada tellimused, mis on saadetud muudesse riikidesse/regioonidesse peale USA. |
| TooteNimi | Not Like "C*" |
Kasutab tehtemärki Not ja * metamärki toodete kuvamiseks, mille nimi ei alga tähega C. |
| EttevõtteNimi | >="N" |
Kuvab tellimused, mis on saadetud ettevõtetele, mille nimed algavad tähtedega N kuni Z. |
| TooteKood | Right([ProductCode], 2)="99" |
Kasutab funktsiooni Right, et kuvada tellimused väärtustega ProductCode, mis lõppevad väärtusega 99. |
| TarneNimi | Like "S*" |
Kuvab tellimused, mis on saadetud klientidele, kelle nimed algavad tähega S. |
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 ning funktsioone DateAdd ja Date, et kuvada tellimused, mis on nõutavad tänasest kuupäevast kolme kuuni alates. |
| 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...Andtellimuste kuvamiseks, mis on saadetud mitte varem kui 5. jaanuaril 2017 ja mitte hiljem kui 10. jaanuaril 2017. |
| NõutavKuupäev | Between Date( ) And DateAdd("M", 3, Date( )) |
Kasutab operaatorit Between...And , et kuvada tellimused, mis on nõutavad tänasest kuupäevast kolme kuuni alates. |
| 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
Tehtemärk Like pakub suurt paindlikkust, kui proovite vastendada mustrile järgnevaid ridu, kuna saate kasutada Like metamärke ja määratleda Mustrid, et Access vastaks. Näiteks * metamärk (tärn) vastab suvalist tüüpi märkide jadale ja hõlbustab kõigi tähega algavate nimede leidmist. Näiteks saate avaldise Like "S*" abil otsida kõiki nimesid, mis algavad S-tähega. Lisateavet leiate artiklist 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
Värskenduspäringu abil saate muuta andmebaasi ühe või mitme olemasoleva välja andmeid. Näiteks saate väärtusi asendada või hoopis kustutada. Selles tabelis on toodud mõned võimalused avaldiste kasutamiseks värskenduspäringutes. Kasutage neid avaldisi Update To värskendatava välja päringu kujundusruudustiku real.
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 (SQL) on Accessi päringukeel. Iga päringu, mille loote päringu kujundusvaates, saab väljendada ka SQL-i abil. Mis tahes päringu SQL-lause vaatamiseks valige menüüs Vaadekäsk SQL-i vaade. Järgmises tabelis on toodud avaldist kasutavad SQL-lausete näidislaused.
| 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 lisab selle väärtuse siis, kui luuakse välja sisaldav uus kirje või kui luuakse juhtelementi sisaldav objekt. Järgmise tabeli avaldistes kuvatakse välja või juhtelemendi vaikeväärtuste näidisväärtused. Kui juhtelement on seotud tabeli väljaga ja väljal on vaikeväärtus, alistab juhtelemendi vaikeväärtus.
| 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 muutke ValidationRule välja või juhtelemendi atribuuti. Samuti peaksite kaaluma atribuudi määramist ValidationText , mis sisaldab teksti, mille Access kuvab valideerimisreegli rikkumise korral. Kui te atribuuti ValidationText ei määra, kuvab Access vaiketõrketeate.
Järgmises tabelis on toodud näited atribuudi valideerimisreegli avaldiste ValidationRule ja atribuudiga seotud teksti kohta ValidationText .
| 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 ValidationRule puhul, on ka If-plokis olev avaldis tingimusavaldis. Lahenduseks peab olema kas 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. |