Šajā rakstā sniegti daudzi izteiksmju piemēri programmā Access. Izteiksme ir matemātisko vai loģisko operatoru, konstanšu, funkciju, tabulas lauku, vadīklu un rekvizītu, kuriem tiek iegūta viena vērtība, nosaukumu kombinācija. Izteiksmes programmā Access, lai aprēķinātu vērtības, validētu datus un iestatītu noklusējuma vērtību.
Tēmas šajā rakstā
Formas un atskaites
Šajā sadaļā iekļautajās tabulās sniegti izteiksmju piemēri, kas aprēķina vērtību formā vai atskaitē ievietotā vadīklā. Lai izveidotu aprēķinātu vadīklu, ievadiet izteiksmi vadīklas rekvizītā ControlSource, nevis tabulas laukā vai vaicājumā.
Piezīme Varat arī izmantot izteiksmes formā vai atskaitē, datus iezīmējot ar nosacījumformatēšanu.
Teksta darbības
Nākamajā tabulā esošās izteiksmes izmanto & (zīme Un) un + (pluszīme) operatorus, lai apvienotu teksta virknes, iebūvētas funkcijas, lai veiktu manipulācijas ar teksta virkni, vai veic citas darbības ar tekstu, lai izveidotu aprēķinātu vadīklu.
Izteiksme |
Rezultāts |
---|---|
="N/A" |
Parāda N/A. |
=[FirstName] & " " & [LastName] |
Parāda vērtības, kas atrodas tabulas laukos Vārds un Uzvārds. Šajā piemērā operators & tiek izmantots, lai apvienotu lauku FirstName, atstarpi (ietvertu pēdiņās) un lauku LastName. |
=Left([ProductName], 1) |
Izmanto funkciju Left, lai parādītu lauka vai vadīklas Produkta_nosaukums vērtības pirmo rakstzīmi. |
=Right([AssetCode], 2) |
Izmanto funkciju Right, lai parādītu lauka vai vadīklas Preces_kods vērtības pēdējās 2 rakstzīmes. |
=Trim([Address]) |
Izmanto funkciju Trim, lai parādītu vadīklas Adrese vērtību, noņemot sākuma vai beigu atstarpes. |
=IIf(IsNull([Region]), [City] & " " & [PostalCode], [City] & " " & [Region] & " " & [PostalCode]) |
Izmanto funkciju IIf, lai parādītu vadīklu Pilsēta un Pasta_indekss vērtības, ja vērtība vadīklā Reģions ir Null; pretējā gadījumā parāda vadīklu Pilsēta, Reģions un Pasta_indekss vērtības, atdalītas ar atstarpēm. |
=[City] & (" " + [Region]) & " " & [PostalCode] |
Izmanto operatoru + un Null izplatīšanu, lai parādītu vadīklu Pilsēta un Pasta_indekss vērtības, ja vērtība laukā vai vadīklā Reģions ir Null; pretējā gadījumā parāda lauku vai vadīklu Pilsēta, Reģions un Pasta_indekss vērtības, atdalītas ar atstarpēm. Null izplatīšana nozīmē, ka, ja kāds izteiksmes komponents ir Null, arī visa izteiksme ir Null. Operators + atbalsta Null izplatīšanu, bet operators & to neatbalsta. |
Galvenes un kājenes
Jūs izmantojat rekvizītus Lappuse un Lappuses, lai parādītu vai drukātu lappušu numurus formās vai atskaitēs. Rekvizīti Lappuse un Lappuses ir pieejami tikai drukāšanas laikā vai drukas priekšskatījumā, tāpēc tie nav redzami formas vai atskaites rekvizītu lapā. Parasti, lai lietotu šos rekvizītus, jāievieto tekstlodziņš formas vai atskaites galvenē vai kājenē un pēc tam, jāizmanto izteiksme, piemēram, kāda no nākamajā tabulā norādītajām.
Lai iegūtu papildinformāciju par galveņu un kājeņu izmantošanu formās un atskaitēs, skatiet tēmu Lapu numuru ievietošana formā vai atskaitē.
Izteiksme |
Rezultāts |
---|---|
=[Page] |
1 |
="Page " & [Page] |
Lappuse 1 |
="Page " & [Page] & " of " & [Pages] |
Lappuse 1 no 3 |
=[Page] & " of " & [Pages] & " Pages" |
1 no 3 lappusēm |
=[Page] & "/" & [Pages] & " Pages" |
1/3 lappuse |
=[Country/region] & " - " & [Page] |
UK - 1 |
=Format([Page], "000") |
001 |
="Printed on: " & Date() |
Drukāts: 31.12.17. |
Aritmētiskas darbības
Varat izmantot izteiksmes, lai saskaitītu, atņemtu, reizinātu un dalītu vērtības divos vai vairāk laukos vai vadīklās. Izteiksmes var izmantot arī aritmētisku darbību veikšanai ar datumiem. Pieņemsim, ka jums ir datuma/laika tabulas lauks ar nosaukumu Nepieciešamais_datums. Laukā vai vadīklā, kas saistītas ar lauku, izteiksme =[RequiredDate] - 2 atgriež datuma/laika vērtību, kas ir līdzvērtīga divām dienām pirms pašreizējās vērtības laukā Nepieciešamais_datums.
Izteiksme |
Rezultāts |
---|---|
=[Subtotal]+[Freight] |
Lauku vai vadīklu Starpsumma un Transports vērtību summa. |
=[RequiredDate]-[ShippedDate] |
Intervāls starp lauku vai vadīklu Nepieciešamais_datums un Nosūtīšanas_datums datumu vērtībām. |
=[Price]*1.06 |
Lauka vai vadīklas Cena vērtības un 1,06 (pievieno 6 procentus cenas vērtībai) reizinājums. |
=[Quantity]*[Price] |
Lauku vai vadīklu Daudzums un Cena vērtību reizinājums. |
=[EmployeeTotal]/[CountryRegionTotal] |
Lauku vai vadīklu Darbinieki_kopā un Valsts_reģions_kopā vērtību dalījums. |
Piezīme Ja izmantojat aritmētisko operatoru (+, -, * vai /) izteiksmē un kāda no vadīklas vērtībām ir Null, visas izteiksmes rezultāts būs Null — to sauc par Null izplatīšanu. Ja ierakstam vienā no izteiksmē izmantotajām vadīklām ir Null vērtība, varat izvairīties no Null izplatīšanas, pārvēršot šo vērtību uz nulli, izmantojot Nz funkciju, piemēram, =Nz([Subtotal])+Nz([Freight]).
Vērtības citās vadīklās
Dažkārt nepieciešama vērtība, kas atrodas citur, piemēram, lauks vai vadīkla citā formā vai atskaitē. Varat izmantot izteiksmi, lai atgrieztu vērtību no cita lauka vai vadīklas.
Tālāk sniegtajā tabulā ir norādīti tādu izteiksmju piemēri, kuras varat izmantot formu aprēķinātajās vadīklās.
Izteiksme |
Rezultāts |
---|---|
=Forms![Orders]![OrderID] |
Vadīklas Pasūtījuma_ID vērtība formā Pasūtījumi. |
=Forms![Orders]![Orders Subform].Form![OrderSubtotal] |
Vadīklas Pasūtījuma_starpsumma vērtība apakšformā ar nosaukumu Pasūtījumu_apakšforma, kas atrodas formā Pasūtījumi. |
=Forms![Orders]![Orders Subform]![ProductID].Column(2) |
Produkta_ID trešās kolonnas vērtība, vairāku kolonnu sarakstlodziņš apakšformā Pasūtījumu_apakšforma, kas atrodas formā Pasūtījumi. (Ņemiet vērā, ka 0 attiecas uz pirmo kolonnu, 1 attiecas uz otro kolonnu un tā tālāk.) |
=Forms![Orders]![Orders Subform]![Price] * 1.06 |
Vadīklas Cena, kas atrodas apakšformā Pasūtījumu_apakšforma formā Pasūtījumi, vērtības un 1,06 reizinājums (pievieno 6 procentus vadīklas Cena vērtībai). |
=Parent![OrderID] |
Vadīklas Pasūtījuma_ID vērtība pašreizējās apakšformas galvenajā vai vecāka formā. |
Izteiksmes šajā tabulā parāda vairākus veidus, kā izmantot aprēķinātās vadīklas atskaitēs. Izteiksmju atsauce atskaites rekvizītā.
Izteiksme |
Rezultāts |
---|---|
=Report![Invoice]![OrderID] |
Vadīklas "Pasūtījuma_ID" vērtība atskaitē "Rēķins". |
=Report![Summary]![Summary Subreport]![SalesTotal] |
Vadīklas Pārdošanas_kopsumma vērtība apakšatskaitē Kopsavilkuma apakšatskaite, kas atrodas atskaitē Kopsavilkums. |
=Parent![OrderID] |
Vadīklas Pasūtījuma_ID vērtība pašreizējās apakšatskaites galvenajā vai vecāka atskaitē. |
Skaita, summas un vidējās vērtības
Varat izmantot funkcijas tipu, ko sauc par apkopošanas funkciju, lai aprēķinātu vērtības vienā vai vairākos laukos vai vadīklās. Piemēram, varat aprēķināt grupas kopsummu grupas kājenei atskaitē vai pasūtījuma starpsummu sarindotiem elementiem formā. Varat arī saskaitīt elementus, kas atrodas vienā vai vairākos laukos, vai aprēķināt vidējo vērtību.
Izteiksmes šajā tabulā parāda dažus no veidiem, kā izmantot funkcijas, piemēram, Avg, Count un Sum.
Izteiksme |
Apraksts |
---|---|
=Avg([Freight]) |
Izmanto funkciju Avg, lai parādītu tabulas lauka vai vadīklas "Transports" vidējo vērtību. |
=Count([OrderID]) |
Izmanto funkciju Count, lai parādītu ierakstu skaitu vadīklā Pasūtījuma_ID. |
=Sum([Sales]) |
Izmanto funkciju Sum, lai parādītu vadīklas Pārdošana vērtību summu. |
=Sum([Quantity]*[Price]) |
Izmanto funkciju Sum, lai parādītu vadīklu Daudzums un Cena vērtību reizinājuma summu. |
=[Sales]/Sum([Sales])*100 |
Parāda pārdošanas procentuālo vērtību, kas noteikta, dalot vadīklas Pārdošana vērtību ar visu vadīklas Pārdošana vērtību summu. Ja esat iestatījis vadīklas rekvizītā Formāts vērtību Procenti, izteiksme neiekļaujiet *100. |
Lai iegūtu papildinformāciju par apkopošanas funkciju un lauku un kolonnu vērtību saskaitīšanu, skatiet rakstus Datu summēšana, izmantojot vaicājumu, Datu skaitīšana, izmantojot vaicājumu, Kolonnu kopsummu rādīšana datu lapā, izmantojot kopsummu rindu un Kolonnu kopsummas attēlošana datu lapā.
SQL apkopošanas funkcijas
Varat izmantot funkcijas tipu, ko sauc par SQL vai domēna apkopošanas funkciju, ja vēlaties summēt vai saskaitīt vērtības pēc izvēles. "Domēnu" veido viens vai vairāki lauki vienā vai vairākās tabulās, vai arī viena vai vairākas vadīklas vienā vai vairākās formās vai atskaitēs. Piemēram, varat salīdzināt tabulas lauka vērtības ar vērtībām formas vadīklā.
Izteiksme |
Apraksts |
---|---|
=DLookup("[ContactName]", "[Suppliers]", "[SupplierID] = " & Forms("Suppliers")("[SupplierID]")) |
Izmanto funkciju DLookup, lai atgrieztu vērtību no lauka Kontaktpersonas_vārds tabulā Piegādātāji, kur lauka Piegādātāja_ID vērtība atbilst vadīklas Piegādātāji vērtībai formā Piegādātāji. |
=DLookup("[ContactName]", "[Suppliers]", "[SupplierID] = " & Forms![New Suppliers]![SupplierID]) |
Izmanto funkciju DLookup, lai atgrieztu vērtību no lauka Kontaktpersonas_vārds tabulā Piegādātāji, kur lauka Piegādātāja_ID vērtība atbilst vadīklas Piegādātāji vērtībai formā Jauni piegādātāji. |
=DSum("[OrderAmount]", "[Orders]", "[CustomerID] = 'RATTC'") |
Izmanto funkciju DSum, lai atgrieztu lauka Pasūtījumu_daudzums vērtību kopsummu tabulā Pasūtījumi, kur Klienta_ID ir RATTC. |
=DCount("[Retired]","[Assets]","[Retired]=Yes") |
Izmanto funkciju DCount, lai atgrieztu Jā vērtību skaitu laukā Norakstīts (lauks Jā/Nē) tabulā Līdzekļi. |
Datumu darbības
Datuma un laika izsekošana ir būtiska datu bāzes darbība. Piemēram, varat aprēķināt, cik dienas ir pagājušas kopš rēķina datuma, lai uzskatītu debitoru parādus. Varat formatēt datumu un laiku vairākos veidos, kā parādīts tālāk esošajā tabulā.
Izteiksme |
Apraksts |
---|---|
=Date() |
Izmanto funkciju Date, lai parādītu šodienas datumu formātā mm-dd-yy, kur mm ir mēnesis (no 1 līdz 12), dd ir diena (no 1 līdz 31) un yy ir pēdējie divi gada cipari (no 1980 līdz 2099). |
=Format(Now(), "ww") |
Izmanto funkciju Format, lai parādītu šodienas datuma gada nedēļas numuru, kur ww ir nedēļa (no 1 līdz 53). |
=DatePart("yyyy", [OrderDate]) |
Izmanto funkciju DatePart, lai parādītu vadīklas Pasūtījuma_datums vērtības četrciparu gadskaitli. |
=DateAdd("y", -10, [PromisedDate]) |
Izmanto funkciju DateAdd, lai parādītu datumu, kas ir 10 dienas pirms vadīklas Apsolītais_datums vērtības. |
=DateDiff("d", [OrderDate], [ShippedDate]) |
Izmanto funkciju DateDiff, lai parādītu starpību dienās starp vadīklu Pasūtījuma_datums un Nosūtīšanas_datums vērtībām. |
=[InvoiceDate] + 30 |
Izmanto aritmētiskās darbības ar datumiem, lai aprēķinātu datumu 30 dienas pēc datuma laukā vai vadīklā Rēķina_datums. |
Tikai divu vērtību nosacījumi
Nākamajā tabulā attēlotajos izteiksmju piemēros izmantota funkcija IIf, lai atgrieztu vienu no divām iespējamām vērtībām. Funkcijai IIf ir trīs argumenti: Pirmais arguments ir izteiksme, kurai ir jāatgriež vērtība True vai False. Otrais arguments ir vērtība, kas tiek atgriezta, ja izteiksme ir patiesa, un trešais arguments ir vērtība, kas tiek atgriezta, ja izteiksme ir nepatiesa.
Izteiksme |
Apraksts |
---|---|
=IIf([Confirmed] = "Yes", "Order Confirmed", "Order Not Confirmed") |
Izmanto funkciju IIf (Immediate If), lai parādītu ziņojumu "Pasūtījums apstiprināts", ja vadīklas Apstiprināts vērtība ir Yes, pretējā gadījumā tiek rādīts ziņojums "Order Not Confirmed." |
=IIf(IsNull([Country/region]), " ", [Country]) |
Izmanto funkcijas IIf un IsNull, lai parādītu tukšu virkni, ja valsts/reģiona vadīklas vērtība ir Null, pretējā gadījumā tiek rādīta valsts/reģiona vadīklas vērtība. |
=IIf(IsNull([Region]), [City] & " " & [PostalCode], [City] & " " & [Region] & " " & [PostalCode]) |
Izmanto funkcijas IIf un IsNull, lai parādītu vadīklu Pilsēta un Pasta_indekss vērtības, ja vērtība vadīklā Reģions ir Null; pretējā gadījumā parāda lauku vai vadīklu Pilsēta, Reģions un Pasta_indekss vērtība. |
=IIf(IsNull([RequiredDate]) Or IsNull([ShippedDate]), "Check for a missing date", [RequiredDate] - [ShippedDate]) |
Izmanto funkcijas IIf un IsNull, lai parādītu ziņojumu "Meklējiet trūkstošo datumu", ja atņemot Nosūtīšanas_datums no Nepieciešamais_datums, rezultāts ir Null; pretējā gadījumā tiek rādīts intervāls starp vadīklu Nepieciešamais_datums un Nosūtīšanas_datums datumu vērtībām. |
Vaicājumi un filtri
Šajā sadaļā ir izteiksmju piemēri, kuras var izmantot, lai vaicājumā izveidotu aprēķinātu lauku vai sniegtu kritēriju vaicājumam. Aprēķinātais lauks ir vaicājuma kolonna, kas rodas no izteiksmes. Piemēram, var aprēķināt vērtību, apvienojot teksta vērtības, piemēram, vārdus un uzvārdus, vai formatēt datuma daļu.
Lai ierobežotu ierakstus, ar kuriem strādājat, izmantojiet kritērijus vaicājumā. Piemēram, varat izmantot operatoru Between, lai norādītu sākuma un beigu datumu un ierobežotu vaicājuma rezultātus līdz pasūtījumiem, kas tika nosūtīti starp šiem datumiem.
Tālāk ir sniegti izteiksmju izmantošanas vaicājumos piemēri.
Teksta darbības
Nākamajā tabulā esošās izteiksmes izmanto & un + operatorus, lai apvienotu teksta virknes, iebūvētās funkcijas, lai veiktu manipulācijas ar teksta virkni, vai veic citas darbības ar tekstu, lai izveidotu aprēķinātu lauku.
Izteiksme |
Apraksts |
---|---|
FullName: [FirstName] & " " & [LastName] |
Izveido lauku ar nosaukumu FullName, kas rāda vērtības laukos Vārds un Uzvārds, atdalot tos ar atstarpi. |
Address2: [City] & " " & [Region] & " " & [PostalCode] |
Izveido lauku ar nosaukumu Address2, kas rāda vērtības laukos Pilsēta, Reģions un Pasta_indekss, atdalot tos ar atstarpēm. |
ProductInitial: Left([ProductName], 1) |
Izveido lauku ar nosaukumu ProductInitial un pēc tam izmanto funkciju Left funkciju, lai laukā ProductInitial parādītu lauka Produkta_nosaukums vērtības pirmo rakstzīmi. |
TypeCode: Right([AssetCode], 2) |
Izveido lauku ar nosaukumu TypeCode un pēc tam izmanto funkciju Right, lai parādītu lauka Līdzekļa_kods vērtību pēdējās divas rakstzīmes. |
AreaCode: Mid([Phone],2,3) |
Izveido lauku ar nosaukumu AreaCode un pēc tam izmanto funkciju Mid, lai parādītu trīs rakstzīmes, sākot ar otro rakstzīmi lauka Tālrunis vērtībā. |
ExtendedPrice: CCur([Order Details].[Unit Price]*[Quantity]*(1-[Discount])/100)*100 |
Piešķir aprēķinātajam laukam nosaukumu Paplašināta_cena un izmanto funkciju CCur, lai aprēķinātu rindas vienumu kopsummas ar lietotu atlaidi. |
Aritmētiskas darbības
Varat izmantot izteiksmes, lai saskaitītu, atņemtu, reizinātu un dalītu vērtības divos vai vairāk laukos vai vadīklās. Izteiksmes var izmantot arī aritmētisku darbību veikšanai ar datumiem. Pieņemsim, ka jums ir datuma/laika lauks ar nosaukumu Nepieciešamais_datums. Izteiksme =[RequiredDate] - 2 atgriež datuma/laika vērtību, kas ir līdzvērtīga divām dienām pirms vērtības laukā Nepieciešamais_datums.
Izteiksme |
Apraksts |
---|---|
PrimeFreight: [Freight] * 1.1 |
Izveido lauku ar nosaukumu PrimeFreight un pēc tam laukā parāda transporta izmaksas plus 10 procenti. |
OrderAmount: [Quantity] * [UnitPrice] |
Izveido lauku ar nosaukumu OrderAmount un pēc tam parāda lauku Daudzums un Vienības_cena vērtību reizinājumu. |
LeadTime: [RequiredDate] - [ShippedDate] |
Izveido lauku ar nosaukumu LeadTime un pēc tam parāda starpību starp vērtībām laukos Nepieciešamais_datums un Nosūtīšanas_datums. |
TotalStock: [UnitsInStock]+[UnitsOnOrder] |
Izveido lauku ar nosaukumu TotalStock un pēc tam parāda lauku Vienības_krājumā un Pasūtītās_vienības vērtību summu. |
FreightPercentage: Sum([Freight])/Sum([Subtotal]) *100 |
Izveido lauku ar nosaukumu FreightPercentage un pēc tam parāda transportēšanas izmaksu procentuālo vērtību katrā starpsummā. Šajā izteiksmē tiek izmantota funkcija Sum, lai saskaitītu vērtības laukā Transports, un pēc tam šī kopsumma tiek dalīta ar lauka Starpsumma vērtību summu. Lai izmantotu šo izteiksmi, atlases vaicājums ir jāpārvērš par kopsummu vaicājumu, jo jāizmanto noformējuma režģa rinda Kopsumma, un jums ir jāiestata kopsummas šūnas vērtība šajā laukā uz Izteiksme. Papildinformāciju par kopsummu vaicājuma izveidi skatiet rakstā Datu summēšana, izmantojot vaicājumu. Ja esat iestatījis lauka rekvizītā Formāts vērtību Procenti, neiekļaujiet *100. |
Lai iegūtu papildinformāciju par apkopošanas funkciju un lauku un kolonnu vērtību saskaitīšanu, skatiet rakstus Datu summēšana, izmantojot vaicājumu, Datu skaitīšana, izmantojot vaicājumu, Kolonnu kopsummu rādīšana datu lapā, izmantojot kopsummu rindu un Kolonnu kopsummas attēlošana datu lapā.
Datumu darbības
Gandrīz visās datu bāzes saglabā un izseko datumus un laikus. Strādājiet ar datumiem un laikiem programmā Access, iestatot datuma un laika laukus tabulās atbilstoši datuma/laika datu tipam. Access var izpildīt aritmētisku aprēķinus par datumiem, piemēram, varat aprēķināt, cik dienas ir pagājušas kopš rēķina datuma, lai uzskatītu debitoru parādus.
Izteiksme |
Apraksts |
---|---|
LagTime: DateDiff("d", [OrderDate], [ShippedDate]) |
Izveido lauku ar nosaukumu LagTime un pēc tam izmanto funkciju DateDiff, lai parādītu dienu skaitu starp pasūtījuma datumu un nosūtīšanas datumu. |
YearHired: DatePart("yyyy",[HireDate]) |
Izveido lauku ar nosaukumu YearHired un pēc tam izmanto funkciju DatePart, lai parādītu katram darbinieka noalgošanas gadu. |
MinusThirty: Date( )- 30 |
Izveido lauku ar nosaukumu MinusThirty un pēc tam izmanto funkciju Date, lai parādītu datumu, kas ir 30 dienas pirms pašreizējā datuma. |
SQL apkopošanas funkcijas
Šajā tabulā redzamajās izteiksmēs izmantotas SQL (Structured Query Language — Strukturēta vaicājumvaloda) funkcijas, kas apkopo datus vai izveido to kopsavilkumu. Šīs funkcijas (piemēram, Sum, Count un Avg) bieži dēvētas par apkopošanas funkcijām.
Papildus apkopošanas funkcijām programma Access nodrošina arī "domēna" apkopošanas funkcijas, kuras izmantojat, lai summēt vai saskaitītu vērtības pēc izvēles. Piemēram, varat saskaitīt vērtības tikai noteiktā diapazonā vai uzmeklēt vērtību no citas tabulas. Domēna apkopošanas funkcijas ietver funkciju DSum, funkciju DCount un funkciju DAvg.
Lai aprēķinātu kopsummu, bieži vien ir jāizveido kopsummu vaicājums. Piemēram, lai izveidotu kopsavilkumu pēc grupas, jums jāizmanto kopsummu vaicājums. Lai iespējotu kopsummu vaicājumu vaicājuma noformējuma režģī, izvēlnē Skats noklikšķiniet uz Kopsummas.
Izteiksme |
Apraksts |
---|---|
RowCount: Count(*) |
Izveido lauku ar nosaukumu RowCount un pēc tam izmanto funkciju Count, lai saskaitītu ierakstus vaicājumā, ieskaitot ierakstus ar Null (tukšiem) laukiem. |
FreightPercentage: Sum([Freight])/Sum([Subtotal]) *100 |
Izveido lauku ar nosaukumu FreightPercentage un pēc tam aprēķina transporta izmaksu procentuālo vērtību katrā starpsummā, dalot lauka Transports vērtību summu ar lauka Starpsumma vērtību summu. (Šajā piemērā tiek izmantota funkcija Sum.) Šī izteiksme jāizmanto ar kopsummu vaicājumu. Ja esat iestatījis lauka rekvizītā Formāts vērtību Procenti, neiekļaujiet *100. Papildinformāciju par kopsummu vaicājuma izveidi skatiet rakstā Datu summēšana, izmantojot vaicājumu. |
AverageFreight: DAvg("[Freight]", "[Orders]") |
Izveido lauku ar nosaukumu AverageFreight un pēc tam izmanto funkciju DAvg, lai aprēķinātu vidējo transportu visos pasūtījumos, kas apvienoti kopsummu vaicājumā. |
Lauki ar trūkstošiem datiem
Šeit redzamās izteiksmes darbojas ar laukiem, kuros ir potenciāli trūkstoša informācija, piemēram, tiem, kuri satur Null (nezināmas vai nedefinējamas) vērtības. Null vērtības ir sastopamas bieži, piemēram, jauna produkta nezināma cena vai vērtība, ko kolēģis aizmirsis pievienot pasūtījumam. Iespēja atrast un apstrādāt Null vērtības ir ļoti svarīga datu bāzu darba daļa, un tālāk esošajā tabulā redzamajās izteiksmēs attēlotas dažas metodes darbam ar Null vērtībām.
Izteiksme |
Apraksts |
---|---|
CurrentCountryRegion: IIf(IsNull([CountryRegion]), " ", [CountryRegion]) |
Izveido lauku ar nosaukumu CurrentCountryRegion un pēc tam izmanto funkcijas IIf un IsNull, lai parādītu tukšu virkni šajā laukā, kad laukā Valsts_reģions ir Null vērtība. Pretējā gadījumā parāda lauka Valsts_reģions saturu. |
LeadTime: IIf(IsNull([RequiredDate] - [ShippedDate]), "Check for a missing date", [RequiredDate] - [ShippedDate]) |
Izveido lauku ar nosaukumu LeadTime un pēc tam izmanto funkcijas IIf un IsNull, lai parādītu ziņojumu "Meklējiet trūkstošu datumu", ja lauka Nepieciešamais_datums vai Nosūtīšanas_datums vērtība ir Null. Pretējā gadījumā tiek parādīta datumu starpība. |
SixMonthSales: Nz([Qtr1Sales]) + Nz([Qtr2Sales]) |
Izveido lauku ar nosaukumu SixMonthSales un pēc tam parāda kopējās vērtības laukos 1.Cet_pārdošana un 2.Cet_pārdošana, vispirms izmantojot funkciju Nz, lai pārvērstu visas vērtības Null par null. |
Aprēķinātie lauki ar apakšvaicājumiem
Varat izmantot ligzdotu vaicājumu, ko sauc arī par apakšvaicājumu, lai izveidotu aprēķinātu lauku. Izteiksme tālāk esošajā tabulā ir tāda aprēķinātā lauka piemērs, kas iegūts no apakšvaicājuma.
Izteiksme |
Apraksts |
---|---|
Cat: (SELECT [CategoryName] FROM [Categories] WHERE [Products].[CategoryID]=[Categories].[CategoryID]) |
Izveido lauku ar nosaukumu Cat un pēc tam parāda Kategorijas_nosaukums, ja Kategorijas_ID tabulā Kategorijas ir identisks Kategorijas_ID tabulā Produkti. |
Atbilstība teksta vērtībām
Izteiksmju piemēri šajā tabulā parāda kritērijus, kas atbilst visām vai daļai teksta vērtību.
Lauks |
Izteiksme |
Apraksts |
---|---|---|
Piegādes_pilsēta |
"London" |
Rāda pasūtījumus, kas nosūtīti uz Londonu. |
Piegādes_pilsēta |
"London" Or "Hedge End" |
Izmanto operatoru Or, lai parādītu pasūtījumus, kas nosūtīti uz Londonu vai Hedžendu. |
Piegādātāja_valsts_reģions |
In("Canada", "UK") |
Izmanto operatoru In, lai parādītu pasūtījumus, kas nosūtīti uz Kanādu vai UK. |
Piegādātāja_valsts_reģions |
Not "USA" |
Izmanto operatoru Not, lai parādītu pasūtījumus, kas nosūtīti uz citām valstīm/reģioniem, kas nav ASV. |
Produkta_nosaukums |
Not Like "C*" |
Izmanto operatoru Not un * aizstājējzīmi, lai parādītu produktus, kuru nosaukumi nesākas ar C. |
CompanyName |
>="N" |
Parāda pasūtījumus, kas nosūtīti uzņēmumiem, kuru nosaukums sākas ar burtiem no N līdz Z. |
Produkta_kods |
Right([ProductCode], 2)="99" |
Izmanto funkciju Right funkciju, lai parādītu pasūtījumus ar vērtību Produkta_kods, kas beidzas ar 99. |
Piegādātāja_nosaukums |
Like "S*" |
Parāda pasūtījumus, kas nosūtīti klientiem, kuru nosaukums sākas ar burtu S. |
Atbilstība datumu kritērijiem
Izteiksmes tālāk esošajā tabulā parāda datumu un saistīto funkciju lietojumu kritēriju izteiksmēs. Lai iegūtu papildinformāciju par datumu vērtību ievadīšanu un izmantošanu, skatiet rakstu Datuma vai laika lauka formatēšana.
Lauks |
Izteiksme |
Apraksts |
---|---|---|
Nosūtīšanas_datums |
#2/2/2017# |
Rāda pasūtījumus, kas nosūtīti 2017. gada 2. februārī. |
Nosūtīšanas_datums |
Date() |
Rāda pasūtījumus, kas nosūtīti šodien. |
Nepieciešamais_datums |
Between Date( ) And DateAdd("m", 3, Date( )) |
Izmanto operatoru Between...And un funkcijas DateAdd un Date, lai parādītu pasūtījumus, kas nepieciešami starp šodienas datumu un trīs mēnešus uz priekšu no šodienas datuma. |
Pasūtījuma_datums |
< Date( ) - 30 |
Izmanto funkciju Date, lai parādītu pasūtījumus, kas ir vecāki par 30 dienām. |
Pasūtījuma_datums |
Year([OrderDate])=2017 |
Izmanto funkciju Year, lai parādītu pasūtījumus ar pasūtījuma datumu 2017. gadā. |
Pasūtījuma_datums |
DatePart("q", [OrderDate])=4 |
Izmanto funkciju DatePart, lai parādītu pasūtījumus ceturtajā kalendāra ceturksnī. |
Pasūtījuma_datums |
DateSerial(Year ([OrderDate]), Month([OrderDate])+1, 1)-1 |
Izmanto funkcijas DateSerial, Year un Month, lai parādītu pasūtījumus, kas veikti katra mēneša pēdējā dienā. |
Pasūtījuma_datums |
Year([OrderDate])= Year(Now()) And Month([OrderDate])= Month(Now()) |
Izmanto funkcijas Year un Month un operatoru And, lai parādītu pasūtījumus, kas veikti šajā gadā un mēnesī. |
Nosūtīšanas_datums |
Between #1/5/2017# And #1/10/2017# |
Izmanto operatoru Between...And , lai parādītu pasūtījumus, kas nosūtīti starp 2017. gada 5. un 10. janvāri. |
Nepieciešamais_datums |
Between Date( ) And DateAdd("M", 3, Date( )) |
Izmanto operatoru Between...And, lai parādītu pasūtījumus, kas nepieciešami starp šodienas datumu un trīs mēnešus uz priekšu no šodienas datuma. |
Dzimšanas_datums |
Month([BirthDate])=Month(Date()) |
Izmanto funkcijas Month un Date, lai parādītu darbiniekus, kuriem šomēnes ir dzimšanas diena. |
Trūkstošo datu atrašana
Izteiksmes tālāk esošajā tabulā darbojas ar laukiem, kuros ir potenciāli trūkstoša informācija — laukiem, kas, iespējams, satur vērtību Null vai nulles garuma virkni. Vērtība Null norāda, ka nav informācijas. Tā nenorāda nulli vai kādu citu vērtību. Programma Access atbalsta trūkstošo informāciju, jo ir svarīgi saglabāt datu bāzes integritāti. Reālajā pasaulē informācijas trūkst ļoti bieži, pat ja tas ir īslaicīgi (piemēram, vēl nav noteikta cena jaunajam produktam). Tāpēc datu bāzei, kas modelē reālās pasaules gadījumu, piemēram, uzņēmuma darbību, jāspēj ierakstīt informācija kā trūkstoša. Varat izmantot funkciju IsNull, lai noteiktu, vai lauks vai vadīkla satur vērtību Null, un varat izmantot funkciju Nz, lai pārvērstu vērtību Null uz nulli.
Lauks |
Izteiksme |
Apraksts |
---|---|---|
Piegādes_reģions |
Is Null |
Parāda pasūtījumus klientiem, kuru lauka Piegādes_reģions vērtība ir Null (tās trūkst). |
Piegādes_reģions |
Is Not Null |
Parāda pasūtījumus klientiem, kuru laukā Piegādes_reģions ir vērtība. |
Fakss |
"" |
Parāda pasūtījumus klientiem, kuriem nav faksa aparātu, par ko norāda nulles garuma virknes vērtība laukā Fakss, nevis vērtība Null (trūkstoša). |
Atbilstība ierakstu modeļiem, izmantojot Like
Operators Like nodrošina pietiekamu elastību, mēģinot saskaņot rindas, kas izmanto shēmu, jo varat izmantot Like ar aizstājējzīmēm un definēt programmai Access shēmas, kurām jāatrod atbilstība. Piemēram, * (zvaigznīte) aizstājējzīme aizvieto jebkuru rakstzīmju secību, un ļauj viegli atrast visus nosaukumus, kas sākas ar burtu. Piemēram, varat izmantot izteiksmi Like "S*", lai atrastu visus nosaukumus, kas sākas ar burtu S. Lai iegūtu papildinformāciju, skatiet rakstu Operators Like.
Lauks |
Izteiksme |
Apraksts |
---|---|---|
Piegādātāja_nosaukums |
Like "S*" |
Atrod visus ierakstus laukā Piegādātāja_nosaukums, kuru nosaukums sākas ar burtu S. |
Piegādātāja_nosaukums |
Like "*Imports" |
Atrod visus ierakstus laukā Piegādātāja_nosaukums, kuru nosaukums beidzas ar vārdu "Imports". |
Piegādātāja_nosaukums |
Like "[A-D]*" |
Atrod visus ierakstus laukā Piegādātāja_nosaukums, kuru nosaukums sākas ar burtu A, B, C vai D. |
Piegādātāja_nosaukums |
Like "*ar*" |
Atrod visus ierakstus laukā Piegādātāja_nosaukums, kuru nosaukums ietver burtu secību "ar". |
Piegādātāja_nosaukums |
Like "Maison Dewe?" |
Atrod visus ierakstus laukā Piegādātāja_nosaukums, kuri ietver "Maison" pirmajā daļā un piecu burti virkni, kurā pirmie četri burti ir "Dewe", taču pēdējais burts nav zināms. |
Piegādātāja_nosaukums |
Not Like "A*" |
Atrod visus ierakstus laukā Piegādātāja_nosaukums, kuru nosaukums nesākas ar burtu A. |
Atbilstība rindām, izmantojot SQL apkopošanu
Varat izmantot SQL vai domēna apkopošanas funkciju, ja vēlaties summēt, saskaitīt vai iegūt vidējās vērtības pēc izvēles. Piemēram, varat saskaitīt tikai tās vērtības, kas atrodas noteiktā diapazonā vai kas novērtētas ar Jā. Citreiz, iespējams, vajadzēs uzmeklēt vērtību no citas tabulas, lai to parādītu. Izteiksmju piemēros tālāk esošajā tabulā izmantotas domēna apkopošanas funkcijas, lai veiktu aprēķinus vērtību kopā un izmantotu rezultātu kā vaicājuma kritēriju.
Lauks |
Izteiksme |
Apraksts |
---|---|---|
Transports |
> (DStDev("[Freight]", "Orders") + DAvg("[Freight]", "Orders")) |
Izmanto funkcijas DStDev un DAvg, lai parādītu visus pasūtījumus, kuriem transporta izmaksas pārsniedz vidējo vērtību, kā arī transporta izmaksu standartnovirzi. |
Daudzums |
> DAvg("[Quantity]", "[Order Details]") |
Izmanto funkciju DAvg, lai parādītu produktus, kuru pasūtītais daudzums ir pārsniedz vidējo pasūtījumu daudzumu. |
Lauku saskaņošana ar apakšvaicājumiem
Jūs izmantojat apakšvaicājumu (tiek dēvēts arī par ligzdotu vaicājumu), lai aprēķinātu vērtību, kas tiek izmantota kā kritērijs. Izteiksmju piemēri tālāk esošajā tabulā atrod atbilstīgas rindas, pamatojoties uz apakšvaicājuma atgrieztajiem rezultātiem.
Lauks |
Izteiksme |
Parāda |
---|---|---|
Vienības_cena |
(SELECT [UnitPrice] FROM [Products] WHERE [ProductName] = "Aniseed Syrup") |
Produkti, kuru cena ir tāda pati kā Aniseed Syrup cena. |
Vienības_cena |
>(SELECT AVG([UnitPrice]) FROM [Products]) |
Produkti, kuru vienības cena pārsniedz vidējo. |
Atalgojums |
> ALL (SELECT [Salary] FROM [Employees] WHERE ([Title] LIKE "*Manager*") OR ([Title] LIKE "*Vice President*")) |
Katra tirdzniecības pārstāvja atalgojums, kas pārsniedz visu to darbinieku atalgojumu, kuru amatā ir vārds "Vadītājs" vai "Viceprezidents". |
Pasūtījuma_kopsumma: [Vienības cena] * [Daudzums] |
> (SELECT AVG([UnitPrice] * [Quantity]) FROM [Order Details]) |
Pasūtījumi ar kopsummām, kas ir lielākas nekā pasūtījuma vidējā vērtība. |
Atjaunināšanas vaicājumi
Varat izmantot atjaunināšanas vaicājumu, lai modificētu datus vienā vai vairākos esošos laukos datu bāzē. Piemēram, varat aizstāt vērtības vai izdzēst tās pavisam. Šajā tabulā ir redzamas dažas metodes, kā izmantot izteiksmes atjaunināšanas vaicājumos. Šīs izteiksmes tiek izmantotas vaicājuma noformējuma režģa rindā Atjaunināt uz tam laukam, kuru vēlaties atjaunināt.
Papildinformāciju par atjaunināšanas vaicājumu izveidi skatiet rakstā Atjaunināšanas vaicājuma izveide un izpilde.
Lauks |
Izteiksme |
Rezultāts |
---|---|---|
Virsraksts |
"Salesperson" |
Maina teksta vērtību uz Pārdevējs. |
Projekta_sākums |
#8/10/17# |
Maina datuma vērtību uz 2017. gada 10. augustu. |
Norakstīts |
Yes |
Laukā Jā/Nē maina vērtību Nē uz Jā. |
Daļas_numurs |
"PN" & [PartNumber] |
Visu norādīto daļu numuriem pievieno "PN". |
Vienību_kopsumma |
[UnitPrice] * [Quantity] |
Tiek aprēķināts Vienības_cena un Daudzums reizinājums. |
Transports |
[Freight] * 1.5 |
Palielina transporta izmaksas par 50 procentiem. |
Pārdošana |
DSum("[Quantity] * [UnitPrice]", "Order Details", "[ProductID]=" & [ProductID]) |
Vietā, kur Produkta_ID vērtības šajā tabulā atbilst Produkta_ID vērtībām tabulā Pasūtījuma dati, atjaunina pārdošanas kopējo summu, pamatojoties uz lauku Daudzums un Vienības_cena reizinājumu. |
Piegādes_pasta_indekss |
Right([ShipPostalCode], 5) |
Saīsina rakstzīmes pa kreisi, atstājot piecas pa labi esošās rakstzīmes. |
Vienības_cena |
Nz([UnitPrice]) |
Maina vērtību Null (nezināma vai nedefinēta) uz nulli (0) laukā Vienības_cena. |
SQL priekšraksti
Strukturētā vaicājumvaloda jeb SQL ir vaicājumu valoda, ko izmanto programma Access. Katru vaicājumu, ko izveidojat vaicājuma noformējuma skatā, var izteikt arī, izmantojot SQL. Lai skatītu jebkura vaicājuma SQL priekšrakstu, izvēlnē Skats noklikšķiniet uz SQL skats. Tālāk esošajā tabulā redzami SQL priekšrakstu piemēri, kuros izmantota izteiksme.
SQL priekšraksts, kurā izmantota izteiksme |
Rezultāts |
---|---|
SELECT [FirstName],[LastName] FROM [Employees] WHERE [LastName]="Danseglio"; |
Rāda vērtības laukos Vārds un Uzvārds darbiniekiem, kuru uzvārds ir Danseglio. |
SELECT [ProductID],[ProductName] FROM [Products] WHERE [CategoryID]=Forms![New Products]![CategoryID]; |
Rāda vērtības tabulas Produkti laukos Produkta_ID un Produkta_nosaukums tiem ierakstiem, kuriem Kategorijas_ID vērtība atbilst vērtībai, kas norādīta atvērtā formā Jaunie produkti. |
SELECT Avg([ExtendedPrice]) AS [Average Extended Price] FROM [Order Details Extended] WHERE [ExtendedPrice]>1000; |
Aprēķina vidējo kopējo cenu pasūtījumiem, kuriem lauka Kopējā_cena vērtība ir lielāka par 1000, un parāda to laukā ar nosaukumu Vidējā kopējā cena. |
SELECT [CategoryID], Count([ProductID]) AS [CountOfProductID] FROM [Products] GROUP BY [CategoryID] HAVING Count([ProductID])>10; |
Laukā Produkta_ID_skaits redzams kopējais produktu skaits kategorijās, kurās ir vairāk par 10 produktiem. |
Tabulu izteiksmes
Divi biežāk sastopamie izteiksmju izmantošanas tabulās veidi, ir noklusējuma vērtības piešķiršana un validācijas kārtulas izveide.
Lauku noklusējuma vērtības
Noformējot datu bāzi, iespējams, vēlēsities piešķirt noklusējuma vērtību laukam vai vadīklai. Programma Access nodrošina noklusējuma vērtību, kad tiek izveidots jauns ieraksts, kurā ir lauks, vai tiek izveidots objekts, kurā ir vadīkla. Izteiksmes tālāk esošajā tabulā parāda lauka vai vadīklas noklusējuma vērtību piemērus. Ja vadīkla ir saistīta ar lauku tabulā un laukam ir noklusējuma vērtība, vadīklas noklusējuma vērtībai ir prioritāte.
Lauks |
Izteiksme |
Noklusējuma lauka vērtība |
---|---|---|
Daudzums |
1 |
1 |
Reģions |
"MT" |
MT |
Reģions |
"New York, N.Y." |
Ņujorka (Ņemiet vērā, ka vērtība ir jāietver pēdiņās, ja tajā ir interpunkcija.) |
Fakss |
"" |
Nulles garuma virkne, kas norāda, ka pēc noklusējuma šim laukam ir jābūt tukšam, nevis ar vērtību Null |
Pasūtījuma datums |
Date( ) |
Šodienas datums |
Beigu_datums |
Date() + 60 |
Datums pēc 60 dienām no šodienas datuma |
Lauka validācijas kārtulas.
Varat izveidot validācijas kārtulu laukā vai vadīklā, izmantojot izteiksmi. Programma Access pēc tam iespējo kārtulu, kad laukā vai vadīklā tiek ievadīti dati. Lai izveidotu validācijas kārtulu, modificējiet lauka vai vadīkla rekvizītu Validācijas kārtula. Ir jāņem vērā arī rekvizīts Validācijas teksts, kas satur tekstu, ko programma Access parāda, ja validācijas kārtulas darbība ir traucēta. Ja neiestatāt rekvizītu Validācijas teksts, Access parāda noklusējuma kļūdas ziņojumu.
Piemēri tālāk esošajā tabulā demonstrē validācijas kārtulas izteiksmes rekvizītam Validācijas kārtula un ar rekvizītu Validācijas teksts saistīto tekstu.
Rekvizīts Validācijas kārtula |
Rekvizīts Validācijas teksts |
---|---|
<> 0 |
Lūdzu, ievadiet vērtību, kas nav nulle. |
0 Or > 100 |
Vērtībai jābūt vai nu 0, vai lielākai par 100. |
Like "K???" |
Vērtībai ir jābūt četrām rakstzīmēm, kas sākas ar burtu K. |
< #1/1/2017# |
Ievadiet datumu pirms 2017. gada 1. janvāra. |
>= #1/1/2017# And < #1/1/2008# |
Datumam jābūt 2017. gadā. |
Papildinformāciju par datu validēšanai skatiet rakstā Validācijas kārtulas izveide, lai validētu datus laukā.
Makro izteiksmes
Dažos gadījumos kāda makro darbība vai darbību sērija, iespējams, būs jāveic tikai tad, ja konkrēta nosacījuma rezultāts būs True. Piemērs: pieņemsim, ka vēlaties veikt darbību tikai tad, ja skaitītāja lodziņā ievadītā vērtība ir 10. Varat izmantot izteiksmi, lai definētu nosacījumu blokā Ja:
[Counter]=10
Tāpat kā rekvizīts Validācijas kārtula , izteiksme blokā Ja ir nosacījuma izteiksme. Tai jānorāda uz vērtību True vai False. Darbība notiek tikai tad, ja nosacījums ir patiess.
Izmantot šo izteiksmi, lai veiktu šādu darbību |
Ja |
---|---|
[City]="Paris" |
Parīze ir lauka Pilsēta vērtība formā, kurā tika palaists makro. |
DCount("[OrderID]", "Orders") > 35 |
Tabulas Pasūtījumi laukā Pasūtījuma_ID ir vairāk nekā 35 ieraksti. |
DCount("*", "[Order Details]", "[OrderID]=" & Forms![Orders]![OrderID]) > 3 |
Tabulā Pasūtījuma dati ir vairāk nekā trīs ieraksti, kuru lauks Pasūtījuma_ID atbilst laukam Pasūtījuma_ID formā Pasūtījumi. |
[ShippedDate] Between #2-Feb-2017# And #2-Mar-2017# |
Lauka Nosūtīšanas_datums vērtībai formā, kurā tiek izpildīts makro, jābūt no 2017. gada 2. februāra līdz 2017. gada 2. martam. |
Forms![Products]![UnitsInStock] < 5 |
Lauka Vienības_krājumā vērtība formā Produkti ir mazāka par 5. |
IsNull([FirstName]) |
Lauka Vārds vērtība formā, kurā tiek izpildīts makro, ir Null (bez vērtības). Šī izteiksme ir līdzvērtīga [Vārds] Is Null. |
[CountryRegion]="UK" And Forms![SalesTotals]![TotalOrds] > 100 |
Lauka Valsts_reģions vērtība formā, kurā tiek izpildīts makro, ir UK, un lauka Pasūtījumu_kopsumma vērtība formā Pārdošanas_kopsumma ir lielāka par 100. |
[CountryRegion] In ("France", "Italy", "Spain") And Len([PostalCode])<>5 |
Lauka Valsts_reģions vērtība formā, kurā tiek izpildīts makro, ir Francija, Itālija vai Spānija, un pasta indekss nav 5 rakstzīmes garš. |
MsgBox("Confirm changes?",1)=1 |
Noklikšķināt uz Labi dialoglodziņā, ko parāda funkcija MsgBox. Ja dialoglodziņā noklikšķināt uz Atcelt, programma Access ignorē darbību. |
Skatiet arī
Izteiksmju veidotāja lietošana