Lai kopsavilkuma datus programmā Access būtu vieglāk lasīt un saprast, apsveriet iespēju izmantot krustvaicājumu. Krustvaicājumā tiek aprēķināta summa, vidējā vērtība vai izmantota cita apkopošanas funkcija, bet rezultāti pēc tam tiek grupēti divās vērtību kopās — viena datu lapas malā, bet otra — augšdaļā. Lentē noklikšķiniet uz Izveidot un pēc tam grupā Vaicājumi noklikšķiniet uz Vaicājumu vednis. Dialoglodziņā Jauns vaicājums veiciet dubultklikšķi uz Krustvaicājuma vednis.
Ja vienā virsrakstu kopā ir datuma vērtības, vednis palīdzēs ierakstus grupēt pēc standarta intervāliem, piemēram, mēnešiem vai ceturkšņiem.
Tēmas šajā rakstā
- Pārskats
- Krustvaicājuma izveide, izmantojot krustvaicājuma vedni
- Krustvaicājuma izveide noformējuma skatā
- Krustvaicājuma izveide SQL skatā
- Virsrakstu diapazonu vai intervālu izmantošana
- Pieprasīt parametru, lai ierobežotu rindu virsrakstus
- Vērtību Null aizstāšana ar nullēm
- Krustvaicājumu padomi
Piezīme
Krustvaicājumi nav pieejami Access tīmekļa lietojumprogrammās, un tīmekļa datu bāzē tie tiek atbalstīti tikai daļēji: tos nevar izmantot neviens tīmekļa objekts.
Pārskats
Krustvaicājums ir atlases vaicājuma tips. Izpildot krustvaicājumu, rezultāti tiek parādīti datu lapā, kuras struktūra atšķiras no citu tipu datu lapām.
Krustvaicājuma struktūra var atvieglot lasīšanu, salīdzinot ar vienkāršu atlases vaicājumu, kas rāda tos pašus datus, kā parādīts tālāk esošajā ilustrācijā.
1. Šis atlases vaicājums grupē kopsavilkuma datus vertikāli pēc darbinieka un kategorijas.
2. Krustvaicājumā var tikt parādīti tie paši dati, taču tie tiek grupēti gan horizontāli, gan vertikāli, lai datu lapa būtu kompaktāka un vieglāk lasāma.
Izveidojot krustvaicājumu, ir jānorāda, kuros laukos ir rindu virsraksti, kuram laukam ir kolonnu virsraksti un kurā laukā ir vērtības, kas jāapkopo. Norādot kolonnu virsrakstus un summējamās vērtības, katram var izmantot tikai vienu lauku. Norādot rindu virsrakstus, var izmantot līdz pat trim laukiem.
Varat arī izmantot izteiksmi, lai izveidotu rindu virsrakstus, kolonnu virsrakstus vai vērtības summēšanai. Papildinformāciju skatiet sadaļā SQL apkopošanas funkcijas.
1. Vienā, divās vai trīs kolonnās šajā pusē ir rindu virsraksti. To lauku nosaukumi, kurus izmantojat kā rindu virsrakstus, tiek parādīti šo kolonnu augšējā rindā.
2. Šeit tiek parādīti rindu virsraksti. Izmantojot vairāk nekā vienu rindas virsraksta lauku, rindu skaits krustvaicājuma datu lapā var strauji pieaugt, jo tiek rādīta katra rindu virsrakstu kombinācija.
3. Šīs puses kolonnas satur kolonnu virsrakstus un kopsavilkuma vērtības. Ņemiet vērā, ka kolonnas virsraksta lauka nosaukums datu lapā neparādās.
4. Šeit tiek rādītas kopsavilkuma vērtības.
Krustvaicājuma izveides metodes
Krustvaicājuma vedņa izmantošana Krustvaicājuma vednis parasti ir ātrākais un vienkāršākais veids, kā izveidot krustvaicājumu. Tas paveic lielāko daļu darba, taču vednis piedāvā dažas opcijas.
Vednim ir šādas priekšrocības:
Tas ir viegli lietojams. Lai to izmantotu, palaidiet vedni un pēc tam atbildiet uz vairākiem vadītiem jautājumiem.
Tā var automātiski grupēt datumus intervālos Ja kolonnu virsrakstiem izmantojat lauku, kurā iekļauti datuma/laika dati, vednis palīdz arī grupēt datumus intervālos, piemēram, mēnešos vai ceturkšņos.
Padoms
Ja kolonnu virsrakstiem vēlaties izmantot vērtības no lauka Datums/laiks, taču vēlaties datumus grupēt intervālos, ko vednis nenodrošina, piemēram, finanšu gadā vai divgadu periodā, nelietojiet vedni vaicājuma izveidei. Tā vietā izveidojiet krustvaicājumu noformējuma skatā un intervālu izveidei izmantojiet izteiksmi.
To var izmantot kā sākumpunktu. Izmantojot vedni, varat izveidot vienkāršu krustvaicājumu un pēc tam precizēt vaicājuma noformējumu, izmantojot noformējuma skatu.
Tomēr, izmantojot vedni, nevar:
- Kā ierakstu avotu izmantojiet vairākas tabulas vai vaicājumus.
- Izmantojiet izteiksmi, lai izveidotu laukus.
- Pievienojiet parametra uzvedni.
- Norādiet fiksēto vērtību sarakstu, ko izmantot kā kolonnu virsrakstus.
Vedņa pēdējā darbībā varat izvēlēties modificēt vaicājumu noformējuma skatā. Tas ļauj pievienot vaicājuma noformējuma elementus, ko vednis neatbalsta, piemēram, papildu ierakstu avotus.
Darbs noformējuma skatā Noformējuma skats ļauj labāk kontrolēt vaicājuma noformējumu. Tas atbalsta līdzekļus, kas vednī nav pieejami.
Apsveriet iespēju izmantot noformējuma skatu, lai izveidotu krustvaicājumu, ja vēlaties:
- Iegūstiet lielāku kontroli pār procesu. Vednis pieņem lēmumus jūsu vietā.
- Kā ierakstu avotu izmantojiet vairākas tabulas vai vaicājumus.
- Pievienojiet vaicājumam parametra uzvedni.
- Izmantojiet izteiksmes kā laukus vaicājumā.
- Norādiet fiksēto vērtību sarakstu, ko izmantot kā kolonnu virsrakstus.
- Praktizējieties izmantot noformējuma režģi.
Vaicājuma rakstīšana SQL skatā Ja vēlaties, varat rakstīt krustvaicājumu SQL skatā. Tomēr nevar norādīt parametru datu tipus, izmantojot SQL skatu. Ja vēlaties izmantot parametru krustvaicājumā, norādiet parametra datu tipu, modificējot vaicājumu noformējuma skatā.
Padoms
Atcerieties, ka krustvaicājuma izveide nav ierobežota tikai ar vienu metodi. Varat izmantot vedni, lai izveidotu vaicājumu, un pēc tam izmantot noformējuma skatu, lai modificētu vaicājuma noformējumu.
Krustvaicājuma izveide, izmantojot krustvaicājuma vedni
Lai izmantotu krustvaicājuma vedni, kā krustvaicājuma ierakstu avots ir jāizmanto viena tabula vai vaicājums. Ja kādā tabulā nav visu datu, kurus vēlaties iekļaut krustvaicājumā, vispirms izveidojiet atlases vaicājumu, kas atgriež vajadzīgos datus. Papildinformāciju par atlases vaicājuma izveidi skatiet sadaļā Skatiet arī .
Šajā piemērā mēs izveidosim krustvaicājumu, izmantojot tabulu Produkti no Northwind datu bāzes parauga. Mēs vēlamies parādīt visu piegādātāju produktu skaitu katrā kategorijā.
Cilnes Izveide grupā Vaicājumi noklikšķiniet uz Vaicājumu vednis.
Dialoglodziņā Jauns vaicājums noklikšķiniet uz Krustvaicājuma vednis un pēc tam uz Labi.
Tiek startēts krustvaicājuma vednis.Vedņa pirmajā lapā izvēlieties tabulu vai vaicājumu, kuru vēlaties izmantot krustvaicājuma izveidei. Šajā piemērā atlasiet tabulu Produkti un pēc tam noklikšķiniet uz Tālāk.
Nākamajā lapā izvēlieties lauku, kurā iekļautas vērtības, kuras vēlaties izmantot kā rindu virsrakstus. Par rindu virsrakstu avotiem var izvēlēties trīs laukus, tomēr, jo mazāk rindu virsrakstu izmantosit, jo uzskatāmāka būs krustvaicājuma datu lapa. Ja rindu virsrakstu ievadei izvēlēsities vairākus laukus, to izvēles secība noteiks rezultātu kārtošanas noklusējuma secību.
Šajā piemērā atlasiet Supplier IDs.Value un pēc tam noklikšķiniet uz pogas, kas apzīmēta ar > simbolu. Ņemiet vērā, ka Access parāda lauka nosaukumu parauga vaicājuma priekšskatījuma kreisajā pusē dialoglodziņa apakšdaļā. Lai turpinātu, noklikšķiniet uz Tālāk.
Nākamajā lapā izvēlieties lauku, kurā iekļautas vērtības, kuras vēlaties izmantot kā kolonnu virsrakstus. Lai rezultāti būtu attēloti uzskatāmi, vienmēr jāizvēlas lauks, kurā ir maz vērtību. Piemēram, vairāk ieteicams izmantot lauku, kurā ir tikai dažas iespējamās vērtības (piemēram, dzimums), nekā lauku, kurā var būt daudz dažādu vērtību (piemēram, vecums).
Ja kolonnu virsrakstiem izraudzītajam laukam ir piešķirts datuma/laika datu tips, vednis pievieno darbību, kas ļauj norādīt, kā datumus grupēt intervālos, piemēram, mēnešos vai ceturkšņos.
Šajā piemērā atlasiet Category un ievērojiet, ka programma Access parāda kategoriju paraugu nosaukumus vaicājuma parauga priekšskatījuma augšdaļā dialoglodziņa apakšdaļā. Lai turpinātu, noklikšķiniet uz Tālāk.
Ja kolonnu virsrakstiem izvēlaties lauku Datums/laiks, nākamajā vedņa lapā būs jānorāda datumu grupēšanai izmantojamais intervāls. Varat norādīt gadu, ceturksni, mēnesi, datumu vai datumu/laiku. Ja kolonnu virsrakstiem neizvēlaties lauku Datums/laiks, vednis izlaiž šo lapu.
Nākamajā lapā izvēlieties lauku un funkciju, kas jāizmanto kopsavilkuma vērtību aprēķināšanai. Pieejamās funkcijas ir atkarīgas no atlasītā lauka datu tipa.
Tajā pašā lapā atzīmējiet vai notīriet izvēles rūtiņu Jā, iekļaut rindu summas, lai iekļautu vai neiekļautu rindu summas.
Ja iekļausit rindu summas, krustvaicājumā tiks iekļauts papildu rindas virsraksts, kurā kā laika vērtība tiks izmantots tas pats lauks un funkcija. Ja iekļausit rindas summu, tiks ievietota papildu kolonna, kurā tiks summētas pārējās kolonnas. Piemēram, ja krustvaicājumā tiek aprēķināts vidējais vecums pēc atrašanās vietas un dzimuma (ar dzimumu nosaukumiem kolonnu virsrakstos), papildu kolonnā tiek aprēķināts visu dzimumu vidējais vecums pēc atrašanās vietas.
Šajā piemērā atlasiet ID lodziņā Lauki un skaitu lodziņā Funkcijas , lai Access saskaitītu produktu skaitu katrā piegādātāja un kategorijas krustpunktā. Atstājiet atzīmētu izvēles rūtiņu Jā, iekļaut rindu summas . Access izveidos kolonnu ar katra piegādātāja produktu kopsummu. Lai turpinātu, noklikšķiniet uz Tālāk.
Vedņa pēdējā lapā ierakstiet vaicājuma nosaukumu un norādiet, vai vēlaties skatīt rezultātus vai modificēt vaicājuma noformējumu.
Funkciju, kura tiek izmantota, lai aprēķinātu rindu summas, var mainīt, rediģējot krustvaicājumu noformējuma skatā.Ja esat izskatījis šo piemēru, izmantojot Northwind datu bāzes tabulu Produkti, krustvaicājums parāda piegādātāju nosaukumu sarakstu kā rindas, produktu kategoriju nosaukumus kā kolonnas un produktu skaitu katrā krustpunktā.
Krustvaicājuma izveide noformējuma skatā
Izmantojot noformējuma skatu, lai izveidotu krustvaicājumu, varat izmantot tik daudz ierakstu avotu (tabulu un vaicājumu), cik vēlaties. Tomēr noformējumu varat saglabāt vienkāršu, vispirms izveidojot atlases vaicājumu, kas atgriež visus vajadzīgos datus, un pēc tam izmantojot šo vaicājumu kā vienīgo krustvaicājuma ierakstu avotu. Papildinformāciju par atlases vaicājuma izveidi skatiet sadaļā Skatiet arī .
Veidojot krustvaicājumu noformējuma skatā, izmantojiet kopsummas un krustvaicājuma rindas noformējuma režģī, lai norādītu, kuru lauku vērtības kļūs par kolonnu virsrakstiem, kuru lauku vērtības kļūs par rindu virsrakstiem un kuru lauku vērtības tiks summētas, vidējās vērtības, jāskaita vai jāaprēķina citādi.
1. Iestatījumi šajās rindās nosaka, vai lauks ir rindas virsraksts, kolonnas virsraksts vai kopsavilkuma vērtība.
2. Šis iestatījums parāda lauka vērtības kā rindu virsrakstus.
3. Šis iestatījums parāda lauka vērtības kā kolonnu virsrakstus.
4. Šie iestatījumi rada kopsavilkuma vērtības.
Vaicājuma izveide
Cilnes Izveide grupā Vaicājumi noklikšķiniet uz Vaicājuma noformējums.
Dialoglodziņā Tabulas rādīšana veiciet dubultklikšķi uz katras tabulas vai vaicājuma, kuru vēlaties izmantot kā ierakstu avotu.
Ja izmantojat vairākus ierakstu avotus, pārliecinieties, vai tabulas vai vaicājumi ir savienoti laukos, kas tiem ir kopīgi. Papildinformāciju par tabulu un vaicājumu savienošanu skatiet sadaļā Skatiet arī .Aizveriet dialoglodziņu Tabulas rādīšana.
Cilnes Noformējums grupā Vaicājuma tips noklikšķiniet uz Krustvaicājums.
Vaicājuma noformējuma logā veiciet dubultklikšķi uz katra lauka, kuru vēlaties izmantot kā rindu virsrakstu avotu. Rindu virsrakstiem varat atlasīt trīs laukus.
Vaicājuma noformējuma režģī katra rindas virsraksta lauka krustvaicājuma rindā atlasiet Rindas virsraksts.
Lai attiecīgajam laukam ierobežotu rezultātus, rindā Kritēriji varat ievadīt izteiksmi. Varat arī izmantot kārtošanas rindu, lai norādītu lauka kārtošanas secību.Vaicājuma noformējuma logā veiciet dubultklikšķi uz lauka, kuru vēlaties izmantot kā kolonnu virsrakstu avotu. Kolonnu virsrakstiem var atlasīt tikai vienu lauku.
Vaicājuma noformējuma režģī kolonnas virsraksta lauka krustvaicājuma rindā atlasiet Kolonnas virsraksts.
Varat ievadīt izteiksmi rindā Kritēriji , lai ierobežotu rezultātus kolonnas virsraksta laukam. Tomēr kritēriju izteiksmes izmantošana ar kolonnas virsraksta lauku neierobežo krustvaicājuma atgriezto kolonnu skaitu. Tā vietā tā ierobežo to, kurās kolonnās ir dati. Piemēram, pieņemsim, ka jums ir kolonnas virsraksta lauks, kurā ir trīs iespējamās vērtības: sarkana, zaļa un zila. Ja kritēriju ='zils' lietojat kolonnas virsraksta laukam, krustvaicājumā joprojām tiek rādīta kolonna sarkanā krāsā un kolonna zaļā krāsā, bet dati ir tikai zilā kolonnā.
Ja vēlaties ierobežot vērtības, kas tiek rādītas kā kolonnu virsraksti, varat norādīt fiksētu vērtību sarakstu, izmantojot vaicājuma rekvizītu Kolonnu virsraksti . Papildinformāciju skatiet nākamajā sadaļā.Vaicājuma noformējuma logā veiciet dubultklikšķi uz lauka, kuru vēlaties izmantot kopsavilkuma vērtību aprēķināšanai. Varat atlasīt tikai vienu lauku, ko izmantot kopsavilkuma vērtībām.
Vaicājuma noformējuma režģī kopsavilkuma vērtību lauka rindā Kopsumma atlasiet apkopošanas funkciju, ko izmantot vērtību aprēķināšanai.
Kopsavilkuma vērtību lauka krustvaicājuma rindā atlasiet Vērtība.
Nevarat norādīt kritērijus vai kārtot kopsavilkuma vērtību lauku.Cilnes Noformējums grupā Rezultāti noklikšķiniet uz Izpildīt.
Fiksētu vērtību norādīšana kolonnu virsrakstiem
Ja vēlaties norādīt fiksētas vērtības, ko izmantot kolonnu virsrakstiem, varat iestatīt vaicājuma rekvizītu Kolonnu virsraksti .
- Atveriet krustvaicājumu noformējuma skatā.
- Ja rekvizītu lapa nav redzama, nospiediet taustiņu F4, lai to parādītu.
- Rekvizītu lapā, kas atrodas tieši virs cilnes Vispārīgi , pārliecinieties, vai atlases tips ir Vaicājuma rekvizīti. Ja tā nav, noklikšķiniet uz tukšas vietas vietā virs vaicājuma noformējuma režģa.
- Rekvizītu lapas cilnes Vispārīgi rekvizītā Kolonnu virsraksti ievadiet ar komatu atdalītu vērtību sarakstu, kuras vēlaties izmantot kā kolonnu virsrakstus.
Dažas rakstzīmes (piemēram, lielākā daļa pieturzīmju) kolonnu virsrakstos nav atļautas. Ja vērtību sarakstā izmantojat šīs rakstzīmes, programma Access katru šādu rakstzīmi aizstāj ar pasvītrojuma rakstzīmi (_).
Krustvaicājuma izveide SQL skatā
SQL sintakse krustvaicājumam
Krustvaicājums SQL formā tiek izteikts kā priekšraksts TRANSFORM. Priekšraksta TRANSFORM sintakse ir šāda:
Funkcija TRANSFORM
selectstatement
PIVOT pivotfield [IN (value1[, value2[, ...]])]
Priekšrakstam TRANSFORM ir šādas daļas:
| Daļa | Apraksts |
|---|---|
| aggfunction | SQL apkopošanas funkcija, kas apstrādā atlasītos datus. |
| selectstatement | Priekšraksts SELECT. |
| pivotfield | Lauks vai izteiksme, ko vēlaties izmantot, lai izveidotu kolonnu virsrakstus vaicājuma rezultātu kopai. |
| vērtība1, vērtība2 | Fiksētas vērtības, kas tiek izmantotas kolonnu virsrakstu izveidē. |
SQL skatā netiek ierobežots tabulu vai vaicājumu skaits, ko var izmantot kā ierakstu avotus krustvaicājumam. Tomēr varat vienkāršot noformējumu, izveidojot atlases vaicājumu, kas atgriež visus datus, kurus vēlaties izmantot krustvaicājumā, un pēc tam šo atlases vaicājumu izmantojot kā ierakstu avotu. Papildinformāciju par atlases vaicājuma izveidi skatiet sadaļā Skatiet arī .
Cilnes Izveidot grupā Cits noklikšķiniet uz Vaicājuma noformējums.
Aizveriet dialoglodziņu Tabulas rādīšana.
Cilnes Noformējums grupā Skati noklikšķiniet uz Skats un pēc tam uz SQL skats.
SQL objekta cilnē ierakstiet vai ielīmējiet šādu SQL kodu:
TRANSFORM SELECT FROM GROUP BY PIVOT ;Pirmajā rindiņā pēc TRANSFORM ierakstiet izteiksmi, kas jāizmanto kopsavilkuma vērtību aprēķināšanai. piemēram, Sum([Summa]).
Ja kā ierakstu avotu izmantojat vairāk nekā vienu tabulu vai vaicājumu, iekļaujiet tabulas vai vaicājuma nosaukumu kā daļu no katra lauka nosaukuma. piemēram, Sum([Izdevumi].[ Summa]).Otrajā rindiņā pēc ATLASES ierakstiet sarakstu ar laukiem vai lauku izteiksmēm, ko vēlaties izmantot rindu virsrakstiem. Atdaliet saraksta elementus ar komatiem; piemēram, [Budžets].[ Dept_ID], [Izdevumi]. [Tips].
Trešajā rindiņā pēc FROM ierakstiet to tabulu vai vaicājumu sarakstu, kurus izmantojat kā ierakstu avotus. piemēram, Budžets, Izdevumi.
Ceturtajā rindiņā pēc GROUP BY ierakstiet to pašu lauku sarakstu, ko izmantojāt klauzulā SELECT 6. darbībā.
Piektajā rindiņā pēc PIVOT ierakstiet lauka nosaukumu vai izteiksmi, ko vēlaties izmantot kolonnu virsrakstiem. piemēram, PIVOT [Budžets].[ Gads].
Kārtošanas secības pievienošana rindas virsraksta laukam
Lai pievienotu kārtošanas secību krustvaicājumam SQL skatā, izmantojiet klauzulu ORDER BY.
- Ievietojiet rindiņu starp klauzulu GROUP BY un klauzulu PIVOT.
- Jaunajā rindā ierakstiet ORDER BY un pēc tam ievietojiet atstarpi.
- Ierakstiet lauka nosaukumu vai izteiksmi, pēc kuras vēlaties kārtot; piemēram, ORDER BY [Izdevumi].[ Expense_Class]
Pēc noklusējuma klauzula ORDER BY kārto vērtības augošā secībā. Ja vēlaties kārtot dilstošā secībā, pēc lauka nosaukuma vai izteiksmes ierakstiet DESC . - Ja vēlaties kārtot pēc papildu lauka vai izteiksmes, ierakstiet komatu un pēc tam ierakstiet papildu lauka nosaukumu vai izteiksmi. Kārtošana notiek tādā secībā, kādā lauki vai izteiksmes tiek parādītas klauzulā ORDER BY.
Fiksētu vērtību norādīšana, kas jāizmanto kā kolonnu virsraksti
- Krustvaicājuma SQL skatā pieejamās klauzulas PIVOT beigās ierakstiet IN, kam seko ar komatu atdalīts vērtību saraksts (iekavās), ko lietot kā kolonnu virsrakstus. Piemēram, IN (2007, 2008, 2009, 2010) izveido četrus kolonnu virsrakstus: 2007, 2008, 2009, 2010.
Ja tiek norādīta fiksēta vērtība, kas neatbilst rakursa lauka vērtībai, šī fiksētā vērtība kļūst par tukšas kolonnas virsrakstu.
Vaicājumu kritēriju pievienošana, lai ierobežotu rindu virsrakstus
- Krustvaicājuma SQL skatā ievietojiet jaunu rindu pēc klauzulas FROM.
- Ierakstiet WHERE, kam seko lauka kritērijs.
Ja vēlaties izmantot papildu kritērijus, varat izmantot operatorus AND un OR, lai paplašinātu klauzulu WHERE. Lai grupētu kritērijus loģiskās kopās, var lietot iekavas.
Virsrakstu diapazonu vai intervālu izmantošana
Dažreiz vēlaties nevis izmantot katru lauka vērtību rindu vai kolonnu virsrakstiem, bet gan grupēt lauka vērtības diapazonos un pēc tam šos diapazonus izmantot rindu vai kolonnu virsrakstiem. Piemēram, pieņemsim, ka kolonnu virsrakstiem izmantojat lauku "Vecums". Tā vietā, lai kolonnu izmantotu katram vecumam, varat izmantot kolonnas, kas attēlo vecuma diapazonus.
Funkciju IIf izteiksmē var izmantot, lai izveidotu diapazonus, ko izmantot rindu vai kolonnu virsrakstiem.
Padoms
Ja vēlaties izveidot intervālus ar lauku Datums/laiks, apsveriet iespēju izmantot krustvaicājuma vedni. Vednis sniedz iespēju datumus grupēt intervālos Gads, Ceturksnis, Mēnesis, Datums vai Datums/laiks . Ja nevēlaties izmantot neviens no šiem intervāliem, krustvaicājumu izveidojiet noformējuma skatā un pēc tam izmantojiet šajā sadaļā aprakstīto paņēmienu, lai izveidotu vajadzīgos intervālus.
Diapazonu izveide, izmantojot izteiksmi
Atveriet krustvaicājumu noformējuma skatā.
Vaicājuma noformējuma režģa rindā Lauks ar peles labo pogu noklikšķiniet uz tukšas kolonnas un pēc tam īsinājumizvēlnē noklikšķiniet uz Tālummainīt .
Lodziņā Tālummaiņa ierakstiet lauka aizstājvārdu un kolu (:).
Tips IIf().
Iekavās pēc IIf ierakstiet salīdzinājuma izteiksmi, kas definē pirmo lauka vērtību diapazonu.
Piemēram, pieņemsim, ka veidojat diapazonus laukam Age un vēlaties, lai katrs diapazons būtu divdesmit gadi. Salīdzinājuma izteiksme pirmajam diapazonam ir [Vecums]<21.Ierakstiet komatu pēc salīdzināšanas izteiksmes un pēc tam ierakstiet diapazona nosaukumu pēdiņās. Norādītais nosaukums ir krustvaicājuma virsraksts vērtībām, kas ietilpst diapazonā.
Piemēram, pēc [Vecums]<21 ierakstiet komatu un pēc tam "0-20 gadi".Ierakstiet komatu pēc diapazona nosaukuma (ārpus pēdiņām) un veiciet kādu no šīm darbībām:
Lai izveidotu citu diapazonu, ierakstiet IIf() un pēc tam atkārtojiet 5., 6. un 7. darbību.
Pēdējam diapazonam ierakstiet tikai diapazona nosaukumu.
Piemēram, pilnīga ligzdota IIf izteiksme, kas lauku Age sadala divdesmit gadu diapazonos, varētu izskatīties šādi (lasāmības labad tika pievienoti rindiņu pārtraukumi):IIf([Age]<21,"0-20 years", IIf([Age]<41,"21-40 years", IIf([Age]<61,"41-60 years", IIf([Age]<81,"61-80 years", "80+ years"))))Piezīme
Kad Access novērtē izteiksmi, tā pārtrauc novērtēšanu, tiklīdz kāds no IIf priekšrakstiem tiek novērtēts kā patiess. Jums nav jānorāda katra diapazona apakšējā robeža, jo jebkura vērtība, kas atrodas zem dotā diapazona apakšējās robežas, jau būtu novērtēta kā patiesa.
Vaicājuma noformējuma režģa rindā Kopsumma atlasiet Grupēt pēc.
Krustvaicājuma rindā norādiet, vai šos diapazonus izmantot kā rindu virsrakstus vai kolonnu virsrakstus. Atcerieties, ka varat norādīt no vienas līdz trīs rindu virsrakstiem un vienu kolonnas virsrakstu.
Pieprasīt parametru, lai ierobežotu rindu virsrakstus
Iespējams, vēlēsities, lai krustvaicājums palaišanas laikā prasītu ievadi. Piemēram, pieņemsim, ka izmantojat vairākus rindu virsrakstus, no kuriem viens ir Valsts/reģions. Tā vietā, lai vienmēr rādītu datus par katru valsti vai reģionu, iespējams, vēlaties, lai vaicājums prasītu vārdu un pēc tam parādītu datus atbilstoši lietotāja ievadītajai informācijai.
Parametru uzvedni varat pievienot jebkuram rindas virsraksta laukam.
Piezīme
Varat arī pievienot parametru uzvedni kolonnas virsraksta laukam, bet tas neierobežos parādītās kolonnas.
Atveriet krustvaicājumu noformējuma skatā.
Rindā Kritēriji, tā rindas virsraksta laukam, par kuru vēlaties lūgt lietotājam veikt ievadi, ierakstiet kvadrātiekavās iekļautu jautājuma tekstu. Vaicājuma izpildes laikā jautājuma teksts tiks parādīts kā uzvedne.
Piemēram, ja kritēriju rindā ierakstāt [Kura valsts vai reģions?], izpildot vaicājumu, tiek parādīts dialoglodziņš, kurā ir jautājums "Kura valsts vai reģions?", ievades lodziņš un poga Labi.Padoms
Ja vēlaties, lai parametri būtu elastīgi, savienojiet izteiksmi ar aizstājējzīmēm, izmantojot operatoru Like . Piemēram, tā vietā, lai kā kritēriju izmantotu [Kura valsts vai reģions?], varat izmantot Like [Kurā valstī vai reģionā?]&"*", lai parametrs atbilstu lielākam ievades diapazonam. Izmantojot Like, parametru uzvednes izskats netiek mainīts.
Cilnes Noformējums grupā Rādīt/paslēpt noklikšķiniet uz Parametri.
Dialoglodziņa Vaicājuma parametri kolonnā Parametri ievadiet to pašu parametru uzvedni, kuru izmantojāt rindā Kritēriji . Iekļaujiet kvadrātiekavas, bet neiekļaujiet nekādas savienotas aizstājējzīmes vai operatoru Like .
Kolonnā Datu tips atlasiet parametra datu tipu. Datu tipam jāatbilst rindas virsraksta lauka datu tipam.
Vērtību Null aizstāšana ar nullēm
Ja laukā, kuru izmantojat kopsavilkuma vērtību aprēķināšanai krustvaicājumā, ir vērtības Null, šīs vērtības ignorē neviena apkopošanas funkcija, ko izmantojat. Dažu apkopošanas funkciju rezultāti var tikt ietekmēti. Piemēram, lai aprēķinātu vidējo vērtību, saskaitiet visas vērtības un rezultāts daliet ar vērtību skaitu. Taču, ja laukā ir nulles vērtības, tās netiek uzskaitītas kā vērtību skaits.
Dažos gadījumos, iespējams, vēlēsities aizstāt nulles vērtības ar nullēm, lai vērtības tiktu saskaitītas apkopojošo aprēķinu laikā. Varat izmantot funkciju Nz, lai vērtības Null aizstātu ar nullēm.
Nz sintakse
Nz(variant* [, vērtība_null_null ] )
Funkcijas Nz sintaksē ir šādi argumenti:
| Arguments | Apraksts |
|---|---|
| variant | Obligāts arguments. Datu tipa Variant mainīgais. |
| vērtība_null_gadījumā | Neobligāts (ja vien netiek izmantots vaicājumā).
Variants, kas nodrošina vērtību, kura jāatgriež, ja varianta arguments ir Null. Šis arguments ļauj atgriezt citu vērtību, nevis nulli vai nulles garuma virkni. Piezīme. Ja izmantojat funkciju Nz izteiksmē vaicājumā, neizmantojot argumentu valueifnull , laukos, kuros ir vērtības Null, rezultāts būs nulles garuma virkne. |
- Kad vaicājums ir atvērts noformējuma skatā, vaicājuma noformējuma režģī ar peles labo pogu noklikšķiniet uz lauka Vērtība .
- Īsinājumizvēlnē noklikšķiniet uz Tālummainīt.
- Lodziņā Tālummaiņa ietveriet lauka nosaukumu vai izteiksmi iekavās un pēc tam pirms iekavām ierakstiet Nz .
- Ierakstiet , 0 tieši labajā iekavā.
Piemēram, ja vērtību Nz izmantojāt laukā ar nosaukumu "Zaudētās stundas", lai vērtības Null pārvērstu par nullēm, pabeigtā izteiksme izskatīsies šādi:
Nz([Hours Lost], 0)
Krustvaicājumu padomi
- Izsakieties vienkārši Pieaugot rindu kombināciju skaitam, krustvaicājumus var kļūt grūti izlasīt. Neizmantojiet vairāk rindu virsrakstu, nekā nepieciešams.
- Apsveriet iespēju izveidot krustvaicājumu soļos Neierobežojiet sevi tikai ar tabulu izmantošanu. Bieži vien varat sākt ar kopsummas vaicājuma izveidi un pēc tam izmantot šo vaicājumu kā krustvaicājuma ierakstu avotu.
- Uzmanīgi izvēlieties kolonnas virsraksta lauku Krustvaicājumu datu lapas parasti ir vieglāk lasāmas, ja kolonnu virsrakstu skaits ir salīdzinoši neliels. Kad būsit identificējis laukus, kurus vēlaties izmantot kā virsrakstus, apsveriet iespēju kolonnu virsrakstu veidošanai izmantot lauku, kurā ir vismazāk atšķirīgo vērtību. Piemēram, ja vaicājumā tiek aprēķināta vērtība pēc vecuma un dzimuma, apsveriet iespēju kolonnu virsrakstos izmantot dzimumu, nevis vecumu, jo dzimumam parasti ir mazāk iespējamo vērtību nekā vecumam.
- Apakšvaicājuma izmantošana klauzulā WHERE Apakšvaicājumu varat izmantot kā daļu no krustvaicājuma klauzulas WHERE.