Reiškinių pavyzdžiai

Taikoma
„Access“, skirta „Microsoft 365“ „Access 2024“ Access 2021 Access 2019 Access 2016

Šiame straipsnyje pateikti "Access" reiškinių pavyzdžiai. Reiškinys sujungia matematinius ar loginius operatorius, konstantas, funkcijas, lentelės laukus, valdiklius ir ypatybes į vieną reikšmę. Reiškinius programoje "Access" galite naudoti reikšmėms apskaičiuoti, duomenims tikrinti ir numatytosioms reikšmėms nustatyti.

Šiame straipsnyje

Formos ir ataskaitos

Visi formų ir ataskaitų reiškiniai

Teksto operacijos; Reikšmės kituose valdikliuose; Datos operacijos Antraštės ir poraštės; Count, Sum ir Average reikšmės; Tik dviejų reikšmių sąlygos Aritmetinės operacijos; SQL agregavimo funkcijos

Užklausos ir filtrai

Visi užklausų ir filtrų reiškiniai

Teksto operacijos; SQL agregavimo funkcijos; Atitikti teksto reikšmes; Įrašo šablonų atitikimas su Like; Naujinimo užklausos Aritmetinės operacijos; Rasti trūkstamus duomenis; Atitikties datos kriterijams; Eilučių su SQL agregavimais atitikimas; SQL sakiniai Datos operacijos; Apskaičiuotieji laukai su antrinėmis užklausomis; Laukai su trūkstamais duomenimis; Laukų su antrinėmis užklausomis atitikimas

Lentelės

Visi lentelių reiškiniai

Lauko numatytosios reikšmės Lauko tikrinimo taisyklės

Makrokomandos

Visi makrokomandų reiškiniai

Formos ir ataskaitos

Šio skyriaus lentelėse rodomi reiškiniai, kurie apskaičiuoja formos arba ataskaitos valdiklio reikšmę. Norėdami sukurti skaičiavimų valdiklį, įveskite išraišką į ControlSource valdiklio ypatybę, o ne į lentelės lauką ar užklausą.

Pastaba

Taip pat reiškinius formoje arba ataskaitoje galite naudoti, kai paryškinate duomenis naudodami sąlyginį formatavimą.

Teksto operacijos

Šioje lentelėje pateiktos išraiškos naudoja & (ampersend) ir + (pliuso) operatorius norint sujungti teksto eilutes, naudoti įtaisytąsias funkcijas darbui su tekstu arba kitaip sukurti skaičiavimų valdiklį.

Reiškinys Rezultatas
="N/A" Rodoma N/A.
=[FirstName] & " " & [LastName] Rodomos reikšmės, kurios yra lentelės laukuose, pavadintuose Vardas ir Pavardė. Šiame pavyzdyje operatorius naudojamas sujungti lauką Vardas, & tarpo simbolį (išskirtą kabutėmis) ir lauką Pavardė.
=Left([ProductName], 1) Naudoja Left funkciją rodyti pirmąjį reikšmės simbolį lauke arba valdiklyje, pavadintame ProductName.
=Right([AssetCode], 2) Naudoja Right funkciją dviem paskutiniams reikšmės simboliams rodyti lauke arba valdiklyje, pavadintame AssetCode.
=Trim([Address]) Naudoja Trim funkciją valdiklio reikšmei Address rodyti pašalinus pradžios ir pabaigos tarpus.
=IIf(IsNull([Region]), [City] & " " & [PostalCode], [City] & " " & [Region] & " " & [PostalCode]) Naudoja IIf funkciją valdiklių and reikšmėms CityPostalCode rodyti, jei valdiklis yra neapibrėžtas Region . Kitu atveju rodomos , Regionir PostalCode valdiklių reikšmėsCity, atskirtos tarpais.
=[City] & (" " + [Region]) & " " & [PostalCode] Naudoja operatorių + ir "null" platinimą, kad parodytų valdiklių "and" PostalCode reikšmesCity, jei lauko arba valdiklio reikšmė Region yra "null". Kitu atveju rodomos , ir PostalCode laukų arba valdiklių reikšmėsCityRegion, atskirtos tarpais. "Null" platinimas reiškia, kad jei kuri nors reiškinio dalis yra "Null", visa išraiška yra "Null". Operatorius + palaiko nulio platinimą, tačiau & operatorius ne.

Atgal į viršų

Antraštės ir poraštės

Ypatybes and Pages naudokite norėdami rodyti arba spausdinti puslapių numerius Page formose arba ataskaitose. Šios ypatybės galimos tik spausdinant arba spaudinio peržiūros režimu, todėl jos nerodomos formos arba ataskaitos ypatybių lape. Paprastai teksto laukas įdedamas į formos arba ataskaitos antraštės arba poraštės sritį ir naudojamas reiškinys, parodytas šioje lentelėje.

Daugiau informacijos apie tai, kaip formose ir ataskaitose naudoti antraštes ir poraštes, rasite straipsnyje Puslapių numerių įterpimas į formą arba ataskaitą.

Reiškinys Rezultatas
=[Page] 1
="Page " & [Page] Puslapis 1
="Page " & [Page] & " of " & [Pages] Puslapis 1 iš 3
=[Page] & " of " & [Pages] & " Pages" 1 iš 3 puslapių
=[Page] & "/" & [Pages] & " Pages" 1/3 puslapių
=[Country/region] & " - " & [Page] UK – 1
=Format([Page], "000") 001
="Printed on: " & Date() Išspausdinta: 2017-12-31

Atgal į viršų

Aritmetinės operacijos

Galite naudoti reiškinius norėdami įtraukti, atimti, dauginti ir dalyti reikšmes, esančias dviejuose ar daugiau laukų ar valdiklių. Taip pat reiškinius galite naudoti norėdami atlikti aritmetines operacijas su datomis. Tarkime, kad turite lentelės Data/laikas lauką, pavadintą Reikalaujama data. Lauke arba su lauku susietame valdiklyje reiškinys =[RequiredDate] - 2 pateikia datos / laiko reikšmę, kuri lygi dviem dienoms anksčiau nei dabartinės reikšmės lauke RequiredDate.

Reiškinys Rezultatas
=[Subtotal]+[Freight] Laukų ar valdiklių Tarpinė suma ir Transportavimo mokestis reikšmių suma.
=[RequiredDate]-[ShippedDate] Intervalas tarp laukų ar valdiklių Reikalaujama data ir Siuntimo data reikšmių.
=[Price]*1.06 Lauko ar valdiklio Kaina reikšmės ir 1,06 sandauga (prideda 6 procentus prie lauko ar valdiklio Kaina reikšmės).
=[Quantity]*[Price] Laukų ar valdiklių Kiekis ir Kaina reikšmių sandauga.
=[EmployeeTotal]/[CountryRegionTotal] Laukų ar valdiklių Iš viso darbuotojų ir Iš viso šalies regione reikšmių dalmuo.

Pastaba

Kai reiškinyje naudojate aritmetinį operatorių (+, -*, arba /) ir vienas iš valdiklių yra "Null", viso reiškinio rezultatas yra "Null". Tai vadinama "null" platinimu. Jei valdiklyje gali būti neapibrėžta reikšmė, galite išvengti neapibrėžtos reikšmės sklidimo naudodami funkciją Nz ir konvertuodami nulinę reikšmę į nulį. Pavyzdžiui, naudokite =Nz([Subtotal])+Nz([Freight]).

Atgal į viršų

Reikšmės kituose valdikliuose

Kartais prireikia reikšmės, kuri yra kur nors kitur, pavyzdžiui, kitos formos ar ataskaitos lauke ar valdiklyje. Galite naudoti reiškinį, kad gautumėte reikšmę iš kito lauko ar valdiklio.

Šioje lentelėje pateikiami reiškinių, kuriuos galite naudoti formų skaičiavimų valdikliuose, pavyzdžiai.

Reiškinys Rezultatas
=Forms![Orders]![OrderID] Formos Užsakymai valdiklio Užsakymo ID reikšmė.
=Forms![Orders]![Orders Subform].Form![OrderSubtotal] Formos Užsakymai papildomoje formoje Užsakymų papildoma forma esančio valdiklio Užsakymo tarpinė suma reikšmė.
=Forms![Orders]![Orders Subform]![ProductID].Column(2) Formos Užsakymai papildomoje formoje Užsakymų papildoma forma esančio kelių stulpelių sąrašo lauko Produkto ID trečiojo stulpelio reikšmė. (Atkreipkite dėmesį, kad 0 nurodo pirmą stulpelį, 1 nurodo antrą stulpelį ir t. t.)
=Forms![Orders]![Orders Subform]![Price] * 1.06 Formos Užsakymai papildomoje formoje Užsakymų papildoma forma esančio valdiklio Kaina reikšmės ir 1,06 sandauga (prideda 6 procentus prie valdiklio Kaina reikšmės).
=Parent![OrderID] Dabartinės papildomos formos pagrindinėje formoje esančio valdiklio Užsakymo ID reikšmė.

Tolesnėje lentelėje pateikti reiškiniai parodo keletą būdų, kaip ataskaitose galima naudoti skaičiavimų valdiklius. Reiškiniai nurodo Ataskaitos ypatybę.

Reiškinys Rezultatas
=Report![Invoice]![OrderID] Valdiklio Užsakymo ID reikšmė ataskaitoje, vadinamoje Sąskaita.
=Report![Summary]![Summary Subreport]![SalesTotal] Bendroji pardavimo suma valdiklio reikšmė papildomoje ataskaitoje, kurios pavadinimas Suvestinės papildoma ataskaita, ataskaitoje Suvestinė.
=Parent![OrderID] OrderID valdiklio reikšmė pagrindinės ar pirminės ataskaitos dabartinėje papildomoje ataskaitoje.

Atgal į viršų

Count, Sum ir Average reikšmės

Norėdami apskaičiuoti vieno ar daugiau laukų ar valdiklių reikšmes, galite naudoti funkciją, vadinamą agregavimo funkcija. Pavyzdžiui, galite apskaičiuoti formos eilutės elementų grupės poraštės bendrąją grupės reikšmę ataskaitoje arba užsakymo papildomoje ataskaitoje. Taip pat galite apskaičiuoti, kiek elementų yra viename ar daugiau laukų arba apskaičiuoti vidutinę reikšmę.

Reiškinys toliau pateiktoje lentelėje parodo kelis būdus, kuriais galima naudoti funkcijas, pvz., Avg, Count ir Sum.

Reiškinys Aprašas
=Avg([Freight]) Naudojama Avg funkcija, kad būtų galima rodyti lentelės lauko ar valdiklio, kurio pavadinimas Transportavimo mokestis, vidutinę reikšmę.
=Count([OrderID]) Naudojama Count funkcija, kad būtų galima rodyti Užsakymo ID valdiklio įrašų skaičių.
=Sum([Sales]) Naudojama Sum funkcija, kad būtų galima rodyti Pardavimas valdiklio reikšmių sumą.
=Sum([Quantity]*[Price]) Naudojama funkcija Sum, kad būtų rodoma kiekio ir kainos valdiklių reikšmių produkto suma.
=[Sales]/Sum([Sales])*100 Rodo pardavimo procentą valdiklio reikšmę Sales padalijus iš visų valdiklyje esančių Sales reikšmių sumos. Jei valdiklio ypatybę nustatysite Format kaip , neįtraukite *100 į reiškinį.Percent

Daugiau informacijos apie agregavimo funkcijų naudojimą ir bendrų reikšmių pateikimą lauke ir stulpeliuose žr. straipsniuose Duomenų sumavimas naudojant užklausą, Duomenų skaičiavimas naudojant užklausą, Bendrų stulpelių reikšmių rodymas duomenų lape naudojant eilutę Iš viso ir Bendrų stulpelių reikšmių rodymas duomenų lape.

Atgal į viršų

SQL agregavimo funkcijos

Naudojate funkcijos tipą, vadinamą SQL ar domeno agregavimo funkcija, kai reikia sumuoti ar skaičiuoti reikšmes pasirinktinai. Domeną sudaro vienas arba daugiau laukų vienoje ar daugiau lentelių arba vienas ar daugiau valdiklių vienoje ar daugiau formų ar ataskaitų. Pavyzdžiui, galima suderinti reikšmes lentelės lauke su valdiklio reikšmėmis formoje.

Reiškinys Aprašas
=DLookup("[ContactName]", "[Suppliers]", "[SupplierID] = " & Forms("Suppliers")("[SupplierID]")) Naudojama funkcija DLookup, kad būtų grąžinta lauko ContactName reikšmė lentelėje Tiekėjai, kai lentelės lauko Tiekėjo ID reikšmė atitinka valdiklio Tiekėjo ID reikšmę formoje Tiekėjai.
=DLookup("[ContactName]", "[Suppliers]", "[SupplierID] = " & Forms![New Suppliers]![SupplierID]) Naudojama funkcija DLookup, kad būtų grąžinta lauko ContactName reikšmė lentelėje Tiekėjai, kai lentelės lauko Tiekėjo ID reikšmė atitinka valdiklio Tiekėjo ID reikšmę formoje Nauji tiekėjai.
=DSum("[OrderAmount]", "[Orders]", "[CustomerID] = 'RATTC'") Naudojama funkcija DSum, kad būtų grąžinta lauko Užsakymo kiekis reikšmių bendra suma lentelėje Užsakymai, kur Kliento yra RATTC.
=DCount("[Retired]","[Assets]","[Retired]=Yes") Naudojama su DCount funkcija, kad būtų grąžintas reikšmių YES skaičius lauke Nurašytas (laukas Yes/No) lentelėje Turtas.

Atgal į viršų

Datos operacijos

Datų ir laikų sekimas yra labai svarbi duomenų bazių veikla. Pavyzdžiui, galima apskaičiuoti, kiek dienų praėjo nuo sąskaitos faktūros datos, kai buvo gautos sumos. Galima formatuoti datas ir laikus įvairiais būdais, kaip parodyta tolesnėje lentelėje.

Reiškinys Aprašas
=Date() Naudoja funkciją Date ir rodo dabartinę datą formatu: mm-dd-yy, kur mm yra mėnuo (nuo 1 iki 12), dd yra diena (nuo 1 iki 31) ir yy yra du paskutiniai metų skaitmenys (nuo 1980 iki 2099).
=Format(Now(), "ww") Naudojama funkcija Format, kad būtų rodomas dabartinės datos metų savaitės numeris, žymintis ww savaitę nuo 1 iki 53.
=DatePart("yyyy", [OrderDate]) Naudojama funkcija DatePart, kad būtų rodoma keturių skaitmenų metų reikšmė valdikliui Užsakymo data.
=DateAdd("y", -10, [PromisedDate]) Naudojama funkcija DateAdd, kad būtų rodomas data, kuri yra 10 dienų prieš valdiklio Nustatyta data reikšmę.
=DateDiff("d", [OrderDate], [ShippedDate]) Naudojama funkcija DateDiff, kad būtų rodomas dienų skaičius, nurodantis skirtumą tarp Užsakymo data ir Išsiuntimo data valdiklių reikšmių.
=[InvoiceDate] + 30 Naudojamos aritmetinės operacijos su datomis siekiant apskaičiuoti 30 dienų po datos lauke ar valdiklyje Sąskaitos data.

Atgal į viršų

Tik dviejų reikšmių sąlygos

Reiškinių pavyzdys tolesnėje lentelėje naudoja funkciją IIf, kad būtų grąžinta viena iš dviejų galimų reikšmių. Funkcijai IIf perduodami trys argumentai: Pirmasis argumentas yra reiškinys, kuris turi pateikti or TrueFalse reikšmę. Antrasis argumentas yra grąžintina reikšmė, jei reiškinys yra teisingas, o trečiasis argumentas yra grąžintina reikšmė, jei reiškinys yra klaidingas.

Reiškinys Aprašas
=IIf([Confirmed] = "Yes", "Order Confirmed", "Order Not Confirmed") Naudoja funkciją IIf (Immediate If) rodyti pranešimą "Užsakymas patvirtintas", jei valdiklio Patvirtinta reikšmė yra Yes; priešingu atveju rodomas pranešimas "Order Not Confirmed."
=IIf(IsNull([Country/region]), " ", [Country]) Naudojamos funkcijos IIf ir IsNull, kad būtų rodoma tuščia eilutė, jei šalies / regiono valdiklio reikšmė yra nulinė; priešingu atveju rodoma šalies/regiono valdiklio reikšmė.
=IIf(IsNull([Region]), [City] & " " & [PostalCode], [City] & " " & [Region] & " " & [PostalCode]) Naudojamos funkcijos IIf ir IsNull, norint parodyti valdiklių Miestas ir Pašto kodas reikšmes, jei valdiklio Regionas reikšmė yra nulinė; priešingu atveju rodomos valdiklių Miestas, Regionas ir Pašto kodas laukų ar valdiklių reikšmės.
=IIf(IsNull([RequiredDate]) Or IsNull([ShippedDate]), "Check for a missing date", [RequiredDate] - [ShippedDate]) Naudojamos funkcijos IIf ir IsNull, kad būtų rodomas pranešimas „Tikrinti trūkstamas datas“, jeigu Išsiuntimo data atimties rezultatas iš Reikalaujama data yra nulinis; priešingu atveju rodomas intervalas tarp Reikalaujama data ir Išsiuntimo data valdiklių datų reikšmių.

Atgal į viršų

Užklausos ir filtrai

Šiame skyriuje pateikiami reiškinių pavyzdžiai, kuriuos galima naudoti kuriant apskaičiuotąjį lauką užklausoje arba teikiant kriterijus užklausai. Apskaičiuotasis laukas yra stulpelis užklausoje, kuris gaunamas iš reiškinio. Pavyzdžiui, galima apskaičiuoti reikšmę, sujungti teksto reikšmes, pvz., vardą ir pavardę, arba formatuoti datos dalis.

Užklausoje naudojami kriterijai, kad būtų galima apriboti įrašus, su kuriais dirbate. Pavyzdžiui, galite naudoti Between operatorių, norėdami pateikti pradžios ir pabaigos datą ir apriboti užklausos rezultatus iki užsakymų, kurie buvo išsiųsti tarp šių datų.

Kituose skyriuose pateikiami reiškinių, naudojamų užklausose, pavyzdžiai.

Teksto operacijos užklausose

Šioje lentelėje pateiktos išraiškos naudoja & ir + operatorius teksto eilutėms sujungti, įtaisytosioms funkcijoms atlikti su teksto eilute arba kitoms operacijoms su tekstu sukurti apskaičiuotąjį lauką.

Reiškinys Aprašas
FullName: [FirstName] & " " & [LastName] Sukuriamas laukas pavadinimu Vardas ir pavardė, rodantis reikšmes laukuose Vardas ir Pavardė, atskirtas tarpu.
Address2: [City] & " " & [Region] & " " & [PostalCode] Sukuriamas laukas pavadinimu Address2, rodantis reikšmes laukuose Miestas, Regionas ir Pašto kodas, atskirtas tarpais.
ProductInitial: Left([ProductName], 1) Sukuriamas laukas pavadinimu Produkto pradinis, tada naudojama funkcija Left, kad lauke Produkto pradinis būtų rodomas lauko Produkto pavadinimas reikšmės pirmasis simbolis.
TypeCode: Right([AssetCode], 2) Sukuriamas laukas Tipo kodas, tada naudojama funkcija Right, kad būtų rodomi paskutiniai du lauko Turto kodas reikšmės simboliai.
AreaCode: Mid([Phone],2,3) Sukuriamas laukas pavadinimu Vietovės kodas, tada naudojama funkcija Mid, kad būtų rodomi trys simboliai pradedant nuo antrojo lauko Telefonas reikšmės simbolio.
ExtendedPrice: CCur([Order Details].[Unit Price]*[Quantity]*(1-[Discount])/100)*100 Įvardija apskaičiuotojo lauko ExtendedPrice ir naudoja funkciją CCur, kad apskaičiuotų bendrą eilutės sumą su taikomomis nuolaidomis.

Atgal į viršų

Aritmetinės operacijos užklausose

Galite naudoti reiškinius norėdami įtraukti, atimti, dauginti ir dalyti reikšmes, esančias dviejuose ar daugiau laukų ar valdiklių. Taip pat galima atlikti aritmetines operacijas su datomis. Tarkime, kad turite lauką Data/laikas, pavadintą Reikalaujama data. Reiškinys =[RequiredDate] - 2 pateikia datos / laiko reikšmę, kuri lygi dviem dienoms anksčiau nei reikšmė lauke RequiredDate.

Reiškinys Aprašas
PrimeFreight: [Freight] * 1.1 Sukuriamas laukas Pirminis Transportavimo mokestis, tada lauke rodomi gabenimo mokesčiai plius 10 procentų.
OrderAmount: [Quantity] * [UnitPrice] Sukuriamas laukas Užsakymo suma, tada rodomas laukų Kiekis ir Vieneto kaina reikšmių rezultatas.
LeadTime: [RequiredDate] - [ShippedDate] Sukuriamas laukas pavadinimu Gamybos laikas, tada rodomas skirtumas tarp laukų Reikalaujama data ir Išsiuntimo data reikšmių.
TotalStock: [UnitsInStock]+[UnitsOnOrder] Sukuriamas laukas Bendrosios atsargos, tada rodoma laukų Vienetai sandėlyje ir Vienetai užsakyme reikšmių suma.
FreightPercentage: Sum([Freight])/Sum([Subtotal]) *100 Sukuria lauką FreightPercentagepavadinimu , tada rodo kiekvienos tarpinės sumos transportavimo išlaidų procentą. Ši išraiška Sum naudoja funkciją lauko reikšmėms Freight sumuoti ir padalija šias sumas iš lauke esančių reikšmių Subtotal sumos. Norėdami naudoti šį reiškinį, konvertuokite savo išrinkimo užklausą į bendrųjų sumų užklausą. Turite naudoti dizaino tinklelyje esančią eilutę Sumos ir nustatyti šio lauko langelį Suma kaip Expression. Daugiau informacijos apie sumų užklausos kūrimą rasite Duomenų sumavimas naudojant užklausą. Jei lauko ypatybę nustatysite Format kaip Percent, neįtraukite *100.

Daugiau informacijos apie agregavimo funkcijų naudojimą ir bendrų reikšmių pateikimą lauke ir stulpeliuose žr. straipsniuose Duomenų sumavimas naudojant užklausą, Duomenų skaičiavimas naudojant užklausą, Bendrų stulpelių reikšmių rodymas duomenų lape naudojant eilutę Iš viso ir Bendrų stulpelių reikšmių rodymas duomenų lape.

Atgal į viršų

Datos operacijos užklausose

Beveik visos duomenų bazės išsaugo ir seka datas ir laikus. Programoje „Access“ datos ir laikai naudojami nustatant datos ir laiko laukus lentelėse į duomenų tipą Date/Time. „Access“ gali atlikti aritmetinius datų skaičiavimus; pavyzdžiui, galima apskaičiuoti, kiek dienų praėjo nuo sąskaitos faktūros datos, kai buvo gautos sumos.

Reiškinys Aprašas
LagTime: DateDiff("d", [OrderDate], [ShippedDate]) Sukuriamas laukas pavadinimu Vėlavimo laikas, tada naudojama funkcija DateDiff, kad būtų rodomas dienų skaičius tarp užsakymo datos ir siuntimo datos.
YearHired: DatePart("yyyy",[HireDate]) Sukuriamas laukas Samdymo metai, tada naudojama funkcija DatePart, kad būtų rodomi kiekvieno darbuotojo priėmimo į darbą metai.
MinusThirty: Date( )- 30 Sukuriamas laukas Minus trisdešimt, tada naudojama funkcija Date, kad būtų rodoma data 30 dienų prieš dabartinę datą.

Atgal į viršų

SQL agregavimo funkcijos užklausose

Šioje lentelėje pateiktos išraiškos naudoja SQL funkcijas, kurios agreguoja arba apibendrina duomenis. Dažnai matote tokias funkcijas kaip Sum, Countir Avg nurodomas agregavimo funkcijomis.

Be agregavimo funkcijų, "Access" taip pat teikia domeno agregavimo funkcijas, kurios leidžia pasirinktinai sumuoti arba skaičiuoti reikšmes. Pavyzdžiui, galima skaičiuoti tik reikšmes, patenkančias į tam tikrą diapazoną, arba ieškoti reikšmės kitoje lentelėje. Domeno agregavimo funkcijos apima "DSum", "DCount" ir "DAvg".

Norėdami apskaičiuoti sumas, dažnai turite sukurti bendrųjų sumų užklausą. Pavyzdžiui, norėdami apibendrinti pagal grupes, naudokite užklausą Sumos. Norėdami įgalinti sumų užklausą užklausos dizaino tinklelyje, meniu Rodymas pasirinkite Sumos.

Reiškinys Aprašas
RowCount: Count(*) Sukuriamas laukas RowCount, tada naudojama funkcija Count, kad būtų suskaičiuotas užklausos įrašų skaičius, įskaitant įrašus su nuliniais (tuščiais) laukais.
FreightPercentage: Sum([Freight])/Sum([Subtotal]) *100 Sukuria lauką, pavadintą FreightPercentage, tada apskaičiuoja kiekvienos tarpinės sumos transportavimo išlaidų procentą, lauko reikšmių Freight sumą padalindamas iš lauke esančių reikšmių Subtotal sumos. Šiame pavyzdyje naudojama ši Sum funkcija. Būtina naudoti šį reiškinį su užklausa Bendrosios sumos. Jei lauko ypatybę nustatysite Format kaip Percent, neįtraukite *100. Daugiau informacijos apie sumų užklausos kūrimą rasite Duomenų sumavimas naudojant užklausą.
AverageFreight: DAvg("[Freight]", "[Orders]") Sukuriamas laukas Transportavimo mokesčio vidurkis, tada naudojama funkcija DAvg, kad būtų apskaičiuota vidutinė gabenimo suma visiems užsakymams, įtrauktiems į užklausą Bendrosios sumos.

Atgal į viršų

Laukai su trūkstamais duomenimis

Čia parodyti reiškiniai veikia su laukais, kuriuose galimai trūksta informacijos, pvz., laukai, kuriuose yra nulinių (nežinomų ar neapibrėžtų) reikšmių. Dažnai susiduriate su nulinėmis reikšmėmis, pvz., nežinoma naujo produkto kaina ar reikšme, kurią į užsakymą pamiršo įtraukti bendradarbis. Galimybė rasti ir apdoroti nulines reikšmes gali būti kritinė duomenų bazių operacijų dalis, o reiškiniai tolesnėje lentelėje nurodo kelis bendruosius nulinių reikšmių tvarkymo būdus.

Reiškinys Aprašas
CurrentCountryRegion: IIf(IsNull([CountryRegion]), " ", [CountryRegion]) Sukuriamas laukas pavadinimu DabartinėŠalisRegionas, tada naudojamos funkcijos IIf ir IsNull, kad būtų rodoma tuščia eilutė tame lauke, kai lauke ŠalisRegionas yra nulinė reikšmė; priešingu atveju, rodomas lauko ŠalisRegionas turinys.
LeadTime: IIf(IsNull([RequiredDate] - [ShippedDate]), "Check for a missing date", [RequiredDate] - [ShippedDate]) Sukuriamas laukas pavadinimu Gamybos laikas, tada naudojamos funkcijos IIf ir IsNull, kad būtų rodomas pranešimas „Tikrinti, ar yra trūkstamų datų“, jeigu reikšmė lauke Reikalaujama data arba Išsiuntimo data yra nulinė; priešingu atveju rodomas datos skirtumas.
SixMonthSales: Nz([Qtr1Sales]) + Nz([Qtr2Sales]) Sukuriamas laukas pavadinimu Šešių mėnesių pardavimas, tada rodoma reikšmių 1 ktv. pardavimas ir 2 ktv. pardavimas laukuose bendra suma ir pradžių naudojant funkciją Nz, kad būtų galima konvertuoti nulines reikšmes į nulį.

Atgal į viršų

Apskaičiuotieji laukai su antrinėmis užklausomis

Galima naudoti įdėtąją užklausą, taip pat vadinamą antrine užklausa, kad būtų sukurtas apskaičiuotasis laukas. Toliau pateiktoje lentelėje reiškinys yra vienas iš apskaičiuotojo lauko pavyzdžių, gaunamų iš antrinės užklausos.

Reiškinys Aprašas
Cat: (SELECT [CategoryName] FROM [Categories] WHERE [Products].[CategoryID]=[Categories].[CategoryID]) Sukuriamas laukas pavadinimu Kategorija, tada rodomas Kategorijos pavadinimas, jeigu Kategorijos ID iš lentelės Kategorijos yra toks pats kaip kategorijos ID iš lentelės Produktai.

Atgal į viršų

Teksto reikšmių atitikimas

Šios lentelės reiškinių pavyzdžiai nurodo kriterijus, atitinkančius visą teksto reikšmę arba jos dalį.

Laukas Reiškinys Aprašas
Išsiuntimo miestas "London" Rodo užsakymus, išsiųstus į Londoną.
Išsiuntimo miestas "London" Or "Hedge End" Šis operatorius naudoja Or rodyti užsakymus, išsiųstus į Londoną arba Hedge Endą.
Išsiuntimo šalis regionas In("Canada", "UK") Naudoja In operatorių užsakymams, išsiųstiems į Kanadą arba JK, rodyti.
Išsiuntimo šalis regionas Not "USA" Šis operatorius naudoja Not rodyti užsakymus, išsiųstus į šalis / regionus, išskyrus JAV.
ProduktoPavadinimas Not Like "C*" Naudoja operatorių Not ir pakaitos simbolį * , kad būtų rodomi produktai, kurių pavadinimai neprasideda raide C.
CompanyName >="N" Rodo užsakymus, išsiųstus įmonėms, kurių pavadinimai prasideda raidėmis N per Z.
Produkto kodas Right([ProductCode], 2)="99" Naudoja funkciją Right rodyti užsakymus su ProductCode reikšmėmis, kurios baigiasi .99
Išsiuntimo pavadinimas Like "S*" Rodo užsakymus, išsiųstus klientams, kurių vardai prasideda raide S.

Atgal į viršų

Datos kriterijų atitikimas

Reiškiniai toliau pateiktoje lentelėje nurodo datų ir susijusių funkcijų naudojimą kriterijų reiškiniuose. Daugiau informacijos apie datų reikšmių įvedimą ir naudojimą žr. straipsnyje Datos ir laiko lauko formatavimas.

Laukas Reiškinys Aprašas
Siuntimo_data #2/2/2017# Rodomi užsakymai, išsiųsti 2017 m. vasario 2 d.
Siuntimo_data Date() Rodomi šiandien išsiųsti užsakymai.
ReikalaujamaData Between Date( ) And DateAdd("m", 3, Date( )) Naudoja Between...And operatoriaus ir DateAdd bei Date funkcijas užsakymams, būtiniems tarp šiandienos datos ir trijų mėnesių nuo šiandienos datos, rodyti.
UžsakymoData < Date( ) - 30 Naudojama funkcija Date, kad būtų rodomi senesni negu 30 dienų užsakymai.
UžsakymoData Year([OrderDate])=2017 Naudojama funkcija Year, kad būtų rodomi užsakymai, kurių užsakymo data 2017 m.
UžsakymoData DatePart("q", [OrderDate])=4 Naudojama funkcija DatePart, kad būtų rodomi ketvirto metų ketvirčio užsakymai.
UžsakymoData DateSerial(Year ([OrderDate]), Month([OrderDate])+1, 1)-1 Naudojamos funkcijos DateSerial, Year ir Month, kad būtų rodomi paskutinės kiekvieno mėnesio dienos užsakymai.
UžsakymoData Year([OrderDate])= Year(Now()) And Month([OrderDate])= Month(Now()) Naudojamos funkcijos Year ir Month ir operatorius And, kad būtų rodomi dabartinių metų ir mėnesio užsakymai.
Siuntimo_data Between #1/5/2017# And #1/10/2017# Šis operatorius naudoja Between...Andužsakymams, išsiųstiems ne anksčiau kaip 2017-Sau-5 ir ne vėliau kaip 2017-Sau-10, rodyti.
ReikalaujamaData Between Date( ) And DateAdd("M", 3, Date( )) Naudoja Between...And operatorių užsakymams, būtiniems tarp šiandienos datos ir trijų mėnesių nuo šiandienos datos, rodyti.
Gimimo data Month([BirthDate])=Month(Date()) Naudojamos funkcijos Month ir Date, kad būtų rodomi darbuotojai, kurių gimimo dienos yra šį mėnesį.

Atgal į viršų

Trūkstamų duomenų radimas

Reiškiniai toliau pateiktoje lentelėje veikia su laukais, kuriuose gali trūkti informacijos – tais, kuriuose gali būti nulinių reikšmių ar nulinio ilgio eilučių. Nulinė reikšmė nurodo informacijos nebuvimą; jis nenurodo nulio ar kokios nors kitos reikšmės. „Access“ palaiko šią trūkstamos informacijos idėją, nes ši koncepcija yra labai svarbi duomenų bazės vientisumui. Realiame pasaulyje dažnai trūksta informacijos, net jei tik laikinai (pvz., kol kas nenustatyta naujo produkto kaina). Todėl duomenų bazė, teikianti realaus pasaulio modelį, pvz., verslo įmonės, turėtų sugebėti įrašyti informaciją kaip trūkstamą. Galima naudoti funkciją IsNull, kad būtų nustatoma, ar laukas arba valdiklis apima nulinę reikšmę, taip pat galima naudoti funkciją Nz nulinės reikšmės konvertavimui į nulį.

Laukas Reiškinys Aprašas
SiuntimoRegionas Is Null Rodo klientų, kurių lauke Išsiuntimo regionas yra nulis (trūksta), užsakymus.
SiuntimoRegionas Is Not Null Rodo klientų, kurių lauke Išsiuntimo regionas yra reikšmė, užsakymus.
Faksas "" Rodomi klientų, kurie neturi fakso aparato, užsakymus. Tai nurodo nulinio ilgio eilutės reikšmė lauke Faksas vietoje nulio (trūkstamos) reikšmės.

Atgal į viršų

Įrašo šablonų atitikimas su LIKE

Operatorius Like suteikia daug lankstumo, kai bandote gretinti eilutes pagal tam tikrą šabloną, nes galite naudoti Like su pakaitos simboliais ir apibrėžti "Access" atitinkančius modelius. Pavyzdžiui, pakaitos simbolis * (žvaigždutė) atitinka bet kokio tipo simbolių seką ir leidžia lengvai rasti visus pavadinimus, kurie prasideda raide. Pavyzdžiui, reiškinį Like "S*" galite naudoti norėdami rasti visus vardus, kurie prasideda raide S. Daugiau informacijos žr. straipsnyje Operatorius "Patinka".

Laukas Reiškinys Aprašas
Išsiuntimo pavadinimas Like "S*" Randami visi įrašai lauke Išsiuntimo pavadinimas, kurie prasideda raide S.
Išsiuntimo pavadinimas Like "*Imports" Randami visi įrašai lauke Išsiuntimo pavadinimas, kurie baigiasi žodžiu „Imports“.
Išsiuntimo pavadinimas Like "[A-D]*" Randami visi įrašai lauke Išsiuntimo pavadinimas, kurie prasideda raide A, B, C arba D.
Išsiuntimo pavadinimas Like "*ar*" Randami visi įrašai lauke Išsiuntimo pavadinimas, kurie apima raidžių junginį „ar“.
Išsiuntimo pavadinimas Like "Maison Dewe?" Randami visi įrašai lauke Išsiuntimo pavadinimas, kuriuose yra „Maison“ pirmojoje reikšmės dalyje ir penkių raidžių eilutė, kurios pirmosios keturios raidės yra „Dewe“, o paskutinė raidė yra nežinoma.
Išsiuntimo pavadinimas Not Like "A*" Randami visi įrašai lauke Išsiuntimo pavadinimas, kurie neprasideda raide A.

Atgal į viršų

Eilučių su SQL agregavimais atitikimas

SQL ar domeno agregavimo funkcija naudojama, kai reikia pasirinktinai sumuoti ar skaičiuoti reikšmes arba nustatyti reikšmių vidurkį. Pvz., galima skaičiuoti tik tas reikšmes, kurios patenka į tam tikrą diapazoną, arba kurios įvertinamos kaip Yes. Kartais gali tekti ieškoti reikšmės kitoje lentelėje, kad būtų galima ją rodyti. Toliau pateiktoje lentelėje esančiuose reiškiniuose naudojamos domeno agregavimo funkcijos, kad būtų galima atlikti skaičiavimus su reikšmių rinkiniu ir naudoti rezultatą kaip užklausos kriterijus.

Laukas Reiškinys Aprašas
Transportavimo mokestis > (DStDev("[Freight]", "Orders") + DAvg("[Freight]", "Orders")) Naudojamos funkcijos DStDev ir DAvg, kad būtų rodomi visi užsakymai, kurių gabenimo išlaidos viršijo vidurkį ir standartinį gabenimo išlaidų nuokrypį.
Kiekis > DAvg("[Quantity]", "[Order Details]") Naudojama funkcija DAvg, kad būtų rodomi produktai, užsakyti kiekiais, viršijančiais vidutinį užsakymo kiekį.

Atgal į viršų

Laukų su antrinėmis užklausomis atitikimas

Galima naudoti antrinę užklausą, dar vadinamą įdėtąją užklausą, kad būtų skaičiuojama reikšmė, kuri bus naudojama kaip kriterijus. Toliau pateiktoje lentelėje reiškinio pavyzdžiai atitinka eilutes, pagrįstas antrinių užklausų pateiktais rezultatais.

Laukas Reiškinys Jame rodoma
Vieneto kaina (SELECT [UnitPrice] FROM [Products] WHERE [ProductName] = "Aniseed Syrup") Produktai, kurių kaina yra tokia pati, kaip anyžių sirupo kaina.
Vieneto kaina >(SELECT AVG([UnitPrice]) FROM [Products]) Produktai, kurių vieneto kaina yra didesnė už vidutinę.
Salary > ALL (SELECT [Salary] FROM [Employees] WHERE ([Title] LIKE "*Manager*") OR ([Title] LIKE "*Vice President*")) Kiekvieno pardavėjo atlyginimas, jei atlyginimas yra didesnis negu darbuotojų, kurių pareigose nurodyta „vadovas“ arba „viceprezidentas“.
OrderTotal: [Vieneto kaina] * [Kiekis] > (SELECT AVG([UnitPrice] * [Quantity]) FROM [Order Details]) Užsakymai su bendromis sumomis, kurios yra didesnės, negu vidutinė užsakymo reikšmė.

Atgal į viršų

Naujinimo užklausos

Naudokite naujinimo užklausą norėdami modifikuoti duomenis viename ar keliuose esamuose duomenų bazės laukuose. Pavyzdžiui, galima keisti reikšmes arba visiškai jas panaikinti. Šioje lentelėje pateikiami keli reiškinių naudojimo naujinimo užklausose būdai. Šiuos reiškinius Update To naudokite lauko, kurį norite naujinti, užklausos dizaino tinklelio eilutėje.

Daugiau informacijos apie naujinimo užklausų kūrimą rasite straipsnyje Naujinimo užklausų kūrimas ir vykdymas.

Laukas Reiškinys Rezultatas
Pavadinimas "Salesperson" Teksto reikšmė keičiama į Pardavėjas.
Projekto Pradžia #8/10/17# Keičiama datos reikšmė į 2017 rugpjūčio 7 d.
Atšaukta Yes No reikšmė lauke Taip/Ne pakeičiama į Taip.
Dalies numeris "PN" & [PartNumber] Įtraukia „PN“ į kiekvieno konkretaus dalies numerio pradžią.
Eilutės elementų suma [UnitPrice] * [Quantity] Apskaičiuoja produkto Vieneto kainą ir kiekį.
Transportavimo mokestis [Freight] * 1.5 Padidina 50 procentų transportavimo mokestį.
Pardavimai DSum("[Quantity] * [UnitPrice]", "Order Details", "[ProductID]=" & [ProductID]) Kai Produkto ID reikšmės dabartinėje lentelėje atitinka Produkto ID reikšmes užsakymo informacijos lentelėje. atnaujinamos pardavimo bendrosios sumos atsižvelgiant į kiekio ir vieneto kainos rezultatą.
SiuntimoPaštoIndeksas Right([ShipPostalCode], 5) Pašalinami kairiausi simboliai paliekant penkis dešiniausius simbolius.
Vieneto kaina Nz([UnitPrice]) Nulinė (neapibrėžta arba nežinoma) reikšmė keičiama į nulį (0) lauke Vieneto kaina.

Atgal į viršų

SQL užklausos

Struktūrinių užklausų kalba (SQL) yra užklausų kalba, kurią naudoja programa "Access". Kiekviena užklausa, sukurta užklausos dizaino rodinyje, taip pat gali būti išreikšta naudojant SQL. Norėdami pamatyti bet kurios užklausos SQL sakinį, meniu Rodymas pasirinkite SQL rodinys. Toliau pateiktoje lentelėje pateikiami SQL sakinių, naudojančių reiškinį, pavyzdžiai.

SQL užklausa, naudojanti reiškinį Rezultatas
SELECT [FirstName],[LastName] FROM [Employees] WHERE [LastName]="Danseglio"; Rodomos reikšmės laukuose Vardas ir Pavardė darbuotojams, kurių pavardė yra Danseglio.
SELECT [ProductID],[ProductName] FROM [Products] WHERE [CategoryID]=Forms![New Products]![CategoryID]; Rodomos reikšmės laukuose Produkto ID ir Produkto pavadinimas įrašų lentelėje Produktai, kurioje Kategorijos ID reikšmė atitinka Kategorijos ID reikšmę, nurodytą formoje Nauji produktai.
SELECT Avg([ExtendedPrice]) AS [Average Extended Price] FROM [Order Details Extended] WHERE [ExtendedPrice]>1000; Apskaičiuojama vidutinė išplėsta kaina užsakymams, kuriems reikšmė lauke Išplėsta Kaina yra didesnė negu 1 000, ir ji rodoma lauke, kurio pavadinimas Vidutinė išplėsta kaina.
SELECT [CategoryID], Count([ProductID]) AS [CountOfProductID] FROM [Products] GROUP BY [CategoryID] HAVING Count([ProductID])>10; Lauke Produkto ID skaičius rodomas bendras kategorijos produktų su daugiau negu 10 produktų, skaičius.

Atgal į viršų

Lentelių reiškiniai

Du labiausiai paplitę reiškinių naudojimo lentelėse būdai yra numatytosios reikšmės priskyrimas ir tinkamumo taisyklės kūrimas.

Lauko numatytosios reikšmės

Kai kuriate duomenų bazę, galite priskirti lauko arba valdiklio numatytąją reikšmę. Tada "Access" pateikia tą reikšmę, kai sukuriamas naujas įrašas, kuriame yra laukas, arba kai sukuriamas objektas, kuriame yra valdiklis. Šioje lentelėje pateiktos išraiškos rodo lauko arba valdiklio numatytųjų reikšmių pavyzdžius. Jei valdiklis susietas su lentelės lauku ir lauke yra numatytoji reikšmė, pirmumą turi numatytoji valdiklio reikšmė.

Laukas Reiškinys Numatytoji lauko reikšmė
Quantity 1 1
Regionas "MT" MT
Regionas "New York, N.Y." Niujorkas (NY) (Atkreipkite dėmesį, kad turite apskliausti reikšmę kabutėse, jei ji apima skyrybos ženklus).
Faksas "" Nulinio ilgio eilutė nurodanti, kad pagal numatytuosius nustatymus šis laukas turi būti tuščias ir jame negali būti nulinės reikšmės
Užsakymo data Date( ) Šiandienos data
Terminas Date() + 60 Data 60 dienų į priekį nuo šiandien

Atgal į viršų

Lauko tikrinimo taisyklės

Galima sukurti tinkamumo taisyklę laukui ar valdikliui naudojant reiškinį. „Access“ taiko taisyklę, kai duomenys įvedami į lauką ar valdiklį. Norėdami sukurti tikrinimo taisyklę, modifikuokite ValidationRule lauko arba valdiklio ypatybę. Taip pat reikėtų nustatyti ValidationText ypatybę, kurioje yra tekstas, kurį "Access" rodo pažeidus tikrinimo taisyklę. Jei ypatybės nenustatysite ValidationText , "Access" rodys numatytąjį klaidos pranešimą.

Šioje lentelėje pateikti pavyzdžiai rodo ypatybės tikrinimo taisyklių reiškinius ValidationRule ir susietą ypatybės tekstą ValidationText .

Tinkamumo taisyklės ypatybė Tikrinimo teksto ypatybė
<> 0 Įveskite ne nulinę reikšmę.
0 Or > 100 Reikšmė turi būti 0 arba didesnė už 100.
Like "K???" Reikšmė turi būti keturi simboliai, pradedant raide K.
< #1/1/2017# Įveskite datą, ankstesnę negu 2017-01-01.
>= #1/1/2017# And < #1/1/2008# Data turi būti 2017 metais.

Daugiau informacijos apie duomenų tikrinimą žr. straipsnyje Tikrinimo taisyklės kūrimas, kad būtų galima tikrinti lauko duomenis.

Atgal į viršų

Makrokomandų reiškiniai

Kartais pagal makrokomandą gali reikėti atlikti veiksmą arba keletą veiksmų tik tada, kai tam tikra sąlyga yra teisinga. Tarkime, norite, kad veiksmas būtų vykdomas tik tada, kai teksto lauko Skaitiklis reikšmė yra 10. Reiškinį galite naudoti norėdami apibrėžti sąlygą bloke Jei:

[Counter]=10

Kaip ir ValidationRule ypatybės atveju, išraiška bloke Jei yra sąlyginė išraiška. Ji turi išspręsti arba arba True .False Veiksmas vyksta tik kai sąlyga yra teisinga.

Naudokite šį reiškinį veiksmui atlikti If
[City]="Paris" Paryžius yra Miestas reikšmė formos lauke, iš kurios buvo paleista makrokomanda.
DCount("[OrderID]", "Orders") > 35 Lentelės Užsakymai lauke Užsakymo ID yra daugiau nei 35 įrašai.
DCount("*", "[Order Details]", "[OrderID]=" & Forms![Orders]![OrderID]) > 3 Lentelėje Užsakymo informacija yra daugiau nei trys įrašai, kuriems lentelės laukas Užsakymo ID atitinka formos Užsakymai lauką Užsakymo ID.
[ShippedDate] Between #2-Feb-2017# And #2-Mar-2017# Reikšmė Siuntimo data lauko formoje, iš kurios paleidžiama makrokomanda, yra ne ankstesnė negu 2017-vas-2 ir ne vėlesnė negu 2017-kov-2.
Forms![Products]![UnitsInStock] < 5 Vienetai sandėlyje lauko reikšmė formoje Produktai yra mažesnė negu 5.
IsNull([FirstName]) Formos Vardas reikšmė, iš kurios paleidžiama makrokomanda, yra nulinė (neturi reikšmės). Šis reiškinys lygus [Vardas] Yra nulinis.
[CountryRegion]="UK" And Forms![SalesTotals]![TotalOrds] > 100 Formos lauko Šalis regionas reikšmė, iš kurios paleidžiama makrokomanda, yra JK, o lauko Visi užsakymai reikšmė formoje Bendroji pardavimo suma yra didesnė negu 100.
[CountryRegion] In ("France", "Italy", "Spain") And Len([PostalCode])<>5 Formos lauko Šalis regionas reikšmė, iš kurios paleidžiama makrokomanda, yra Prancūzija, Italija arba Ispanija, o pašto kodas nėra 5 simbolių ilgio.
MsgBox("Confirm changes?",1)=1 Spustelėkite Gerai dialogo lange, kurį rodo funkcija MsgBox. Jei spustelėsite Atšaukti dialogo lange, „Access“ nepaisys veiksmo.

Atgal į viršų

Taip pat žr.