Vaicājuma izveide, balstoties uz vairākām tabulām

Dažreiz, lai veidotu un izmantotu vaicājumus programmā Access, ir vienkārši jāatlasa tabulas lauki, jāpiemēro kritēriji un jāaplūko rezultāti. Taču kā rīkoties tad, ja vajadzīgie dati ir sadalīti vairākās tabulās? Šādā gadījumā var izveidot vaicājumu, kas apvieno informāciju no vairākiem avotiem. Šajā rakstā ir informācija par gadījumiem, kad jāizvelk dati no vairākām tabulām, un sniegti norādījumi, kā to izdarīt.

Iespējamās darbības

Saistītas tabulas datu izmantošana, lai papildinātu vaicājuma informāciju

Datu apvienošana divās tabulās, izmantojot to relāciju ar trešo tabulu

Divu līdzīgu tabulu ierakstu skatīšana

Saistītas tabulas datu izmantošana, lai papildinātu vaicājuma informāciju

Var būt gadījumi, kad vaicājums, kura pamatā ir viena tabula, sniedz jums nepieciešamo informāciju, taču vaicājuma rezultāti būtu skaidrāki un noderīgāki, ja varētu izvilkt datus no citas tabulas. Piemēram, jums ir saraksts ar darbinieku ID, kuri tiek parādīti jūsu vaicājuma rezultātos. Jūs apzināties, ka daudz noderīgāk būtu rezultātos skatīt darbinieku vārdus, taču tie atrodas citā tabulā. Lai darbinieku vārdi tiktu parādīti vaicājuma rezultātos, vaicājumā ir jāiekļauj abas tabulas.

Vaicājumu vedņa izmantošana, lai izveidotu vaicājumu no primārās un saistītās tabulas

  1. Pārbaudiet, vai logā Relāciju logs tabulām ir definēta relācija.

    Kā to izdarīt

    1. Cilnes Datu bāzu rīki grupā Rādīt/paslēpt noklikšķiniet uz Relācijas.

    2. Cilnes Noformējums grupā Relācijas noklikšķiniet uz Visas relācijas.

    3. Norādiet tabulas, kurām ir definētas relācijas.

      • Ja tabulas ir redzamas relāciju logā, pārbaudiet, vai relācija ir jau definēta.

        Relācija tiek rādīta kā līnija, kas savieno divas tabulas kopējā laukā. Varat veikt dubultklikšķi uz relācijas līnijas, lai skatītu, starp kuriem tabulu laukiem ir relācija.

      • Ja relāciju logā tabulas nav redzamas, tās ir jāpievieno.

        Cilnes Noformējums grupā Rādīt/paslēpt noklikšķiniet uz Tabulu nosaukumi.

        Veiciet dubultklikšķi uz tabulām, kuras vēlaties parādīt, un pēc tam noklikšķiniet uz Aizvērt.

    4. Ja starp divām tabulām nav relācijas, izveidojiet to, velkot vienas tabulas lauku uz citas tabulas lauku. Laukos, starp kuriem tiek veidota relācija, jābūt identiskiem datu tipiem.

      Piezīme : Varat izveidot relāciju starp lauku, kurā ir datu tips AutoNumber, un lauku, kurā ir datu tips Number, ja lauka lielums ir Long Integer. Tā parasti ir tad, ja tiek veidota attiecība viens pret daudziem.

      Tiek atvērts dialoglodziņš Relāciju rediģēšana.

    5. Noklikšķiniet uz Izveidot, lai izveidotu relāciju.

      Papildinformāciju par opcijām pēc relācijas izveides skatiet rakstā Relācijas izveide, rediģēšana vai dzēšana.

    6. Aizveriet relāciju logu.

  2. Cilnes Izveide grupā Vaicājumi noklikšķiniet uz Vaicājumu vednis. Ja izmantojat Access 2007, cilnes Izveide grupā Citi noklikšķiniet uz Vaicājumu vednis.

  3. Dialoglodziņā Jauns vaicājums noklikšķiniet uz Vienkārša vaicājuma vednis un pēc tam uz Labi.

  4. Kombinētajā lodziņā Tabulas/vaicājumi noklikšķiniet uz tabulas, kurā ir pamatinformācija, ko vēlaties iekļaut vaicājumā.

  5. Sarakstā Pieejamie lauki noklikšķiniet uz pirmā lauka, kuru vēlaties iekļaut vaicājumā, un pēc tam noklikšķiniet uz pogas ar labo bultiņu, lai pārvietotu lauku uz sarakstu Atlasītie lauki. Atkārtojiet darbību ar katru tabulas lauku, kuru vēlaties iekļaut vaicājumā. Var būt lauki, kurus vēlaties atgriezt vaicājuma izvadē, vai lauki, kuriem vēlaties piemērot kritēriju, lai ierobežotu izvades rindas.

  6. Kombinētajā lodziņā Tabulas/vaicājumi noklikšķiniet uz tabulas, kurā ir saistītie dati, ko vēlaties iekļaut vaicājumā.

  7. Sarakstam Atlasītie lauki pievienojiet laukus, kurus vēlaties izmantot vaicājuma rezultātu papildināšanai, un pēc tam noklikšķiniet uz Tālāk.

  8. Sadaļā Vai vēlaties detalizētas informācijas vai kopsavilkuma vaicājumu? noklikšķiniet uz Detalizēta informācija vai Kopsavilkums.

    Ja nevēlaties, lai vaicājumā tiktu izmantotas apkopošanas funkcijas (Sum, Avg, Min, Max, Count, StDev vai Var), izvēlieties detalizētas informācijas vaicājumu. Ja vēlaties izmantot apkopošanas funkciju, izvēlieties kopsavilkuma vaicājumu. Kad esat veicis izvēli, noklikšķiniet uz Tālāk.

  9. Noklikšķiniet uz Pabeigt, lai skatītu rezultātus.

Piemērs, kurā izmantota Northwind parauga datu bāze

Šajā piemērā tiek izmantots Vaicājumu vednis, lai izveidotu vaicājumu, kas rāda pasūtījumu sarakstu, katra pasūtījuma piegādes maksu un tā darbinieka vārdu, kurš pieņēma pasūtījumus.

Piezīme : Šajā piemērā tiek modificēta Northwind parauga datu bāze. Varat izveidot Northwind parauga datu bāzes dublējumkopiju un to izmantot, lai sekotu šim piemēram.

Vaicājuma izveide, izmantojot Vaicājumu vedni

  1. Atveriet Northwind parauga datu bāzi. Aizveriet pieteikšanās formu.

  2. Cilnes Izveide grupā Vaicājumi noklikšķiniet uz Vaicājumu vednis. Ja izmantojat Access 2007, cilnes Izveide grupā Citi noklikšķiniet uz Vaicājumu vednis.

  3. Dialoglodziņā Jauns vaicājums noklikšķiniet uz Vienkārša vaicājuma vednis un pēc tam uz Labi.

  4. Kombinētajā lodziņā Tabulas/vaicājumi noklikšķiniet uz Tabula: Pasūtījumi.

  5. Sarakstā Pieejamie lauki veiciet dubultklikšķi uz Pasūtījuma ID, lai pārvietotu šo lauku uz sarakstu Atlasītie lauki. Veiciet dubultklikšķi uz Piegādes maksa, lai pārvietotu šo lauku uz sarakstu Atlasītie lauki.

  6. Kombinētajā lodziņā Tabulas/vaicājumi noklikšķiniet uz Tabula: Darbinieki.

  7. Sarakstā Pieejamie lauki veiciet dubultklikšķi uz Vārds, lai pārvietotu šo lauku uz sarakstu Atlasītie lauki. Veiciet dubultklikšķi uz Uzvārds, lai pārvietotu šo lauku uz sarakstu Atlasītie lauki. Noklikšķiniet uz Tālāk.

  8. Tā kā tiek veidots saraksts ar visiem pasūtījumiem, jāizmanto detalizētas informācijas vaicājums. Ja summējat piegādes maksu pēc darbinieka vai izmantojat citu apkopojuma funkciju, izmantojiet kopsavilkuma vaicājumu. Noklikšķiniet uz Detalizēta informācija (rāda katra ieraksta lauku) un pēc tam noklikšķiniet uz Tālāk.

  9. Noklikšķiniet uz Pabeigt, lai skatītu rezultātus.

Vaicājums atgriež pasūtījumu sarakstu; katram pasūtījumam norādīta piegādes maksa un tā darbinieka vārds un uzvārds, kurš pieņēma pasūtījumu.

Uz lapas sākumu

Datu apvienošana divās tabulās, izmantojot to relāciju ar trešo tabulu

Bieži vien divas tabulas ir savstarpēji saistītas ar trešās tabulas starpniecību. Tā notiek, jo datus starp pirmajām divām tabulām saista attiecība daudzi pret daudziem. Bieži laba datu bāzes izveides prakse ir relāciju daudzi pret daudziem starp divām tabulām sadalīt relācijās viens pret daudziem, iekļaujot trešo tabulu. To var izdarīt, izveidojot trešo tabulu, ko sauc par savienojošo tabulu jeb relāciju tabulu, kurai attiecībā uz citām tabulām ir primārā atslēga un ārējā atslēga. Pēc tam starp katru savienojošās tabulas ārējo atslēgu tiek izveidota relācija viens pret daudziem un atbilstošā primārā atslēga kādai no pārējām tabulām. Šādā gadījumā vaicājumā ir jāiekļauj visas trīs tabulas, pat ja vēlaties izgūt datus tikai no divām tabulām.

Atlases vaicājuma izveide, izmantojot tabulas ar relāciju daudzi pret daudziem

  1. Cilnes Izveide grupā Vaicājumi noklikšķiniet uz Vaicājuma noformējums. Ja izmantojat Access 2007, cilnes Izveide grupā Citi noklikšķiniet uz Vaicājuma noformējums.

    Tiek atvērts dialoglodziņš Tabulas rādīšana.

  2. Dialoglodziņā Tabulas rādīšana veiciet dubultklikšķi uz divām tabulām ar vaicājumam nepieciešamajiem datiem un to savienojošo tabulu un pēc tam noklikšķiniet uz Aizvērt.

    Visas trīs tabulas tiek parādītas vaicājuma noformējuma darbvietā un ir savienotas ar atbilstošajiem laukiem.

  3. Veiciet dubultklikšķi uz katra no laukiem, ko vēlaties izmantot vaicājuma rezultātos. Katrs lauks tiek parādīts vaicājuma noformējuma režģī (noformējuma režģis).

  4. Vaicājuma noformējuma režģa rindā Kritēriji ievadiet lauka kritērijus. Lai lietotu lauka kritēriju, neparādot lauku vaicājuma rezultātos, šī lauka rindā Rādīt notīriet atzīmes rūtiņu.

  5. Lai kārtotu rezultātus, pamatojoties uz lauka vērtībām, vaicājuma noformējuma režģa rindā Kārtot noklikšķiniet uz Augošā secībā vai Dilstošā secībā (atkarībā no tā, kā vēlaties kārtot ierakstus).

  6. Cilnes Noformējums grupā Rezultāti noklikšķiniet uz Izpildīt.

    Access parāda vaicājuma izvadi skatā Datu lapas skats.

Piemērs, kurā izmantota Northwind parauga datu bāze

Piezīme : Šajā piemērā tiek modificēta Northwind parauga datu bāze. Varat izveidot Northwind parauga datu bāzes dublējumkopiju un to izmantot, lai sekotu šim piemēram.

Pieņemsim, ka jums ir jauna iespēja: piegādātājs no Riodežaneiro ir atradis jūsu tīmekļa vietni un vēlas ar jums sadarboties. Taču viņi darbojas tikai Riodežaneiro un netālu no Sanpaulu. Viņi piegādā visus jūsu tirgotos pārtikas produktus. Tas ir diezgan liels uzņēmums, un viņi vēlas jūsu garantiju, ka varat nodrošināt viņiem piekļuvi pietiekami lielam skaitam pasūtījumu, lai tas būtu viņiem izdevīgi: vismaz 20 000 BRL par pārdošanas gadu (apmēram 8000 eiro). Vai varat nodrošināt viņiem nepieciešamo tirgu?

Dati, kas sniedz atbildi uz šo jautājumu, atrodas divās vietās: tabulā Klienti un tabulā Detalizēta informācija par pasūtījumu. Šīs tabulas savstarpēji saista tabula Pasūtījumi. Relācijas starp tabulām jau ir definētas. Tabulā Pasūtījumi katram pasūtījumam var būt tikai viens klients, kas ir saistīts ar tabulas Klienti lauku KlientaID. Katrs tabulas Detalizēta informācija par pasūtījumu ieraksts ir saistīts ar vienu pasūtījumu tabulas Pasūtījumi laukā PasūtījumaID. Tāpēc konkrētam klientam var būt vairāki pasūtījumi, un katram no tiem ir detalizēta informācija par pasūtījumu.

Šajā piemērā tiek veidots krustvaicājums, kas parāda gada pārdošanas kopsummu Riodežaneiro un Sanpaulu.

Vaicājuma izveide noformējuma skatā

  1. Atveriet Northwind datu bāzi. Aizveriet pieteikšanās formu.

  2. Cilnes Izveide grupā Vaicājumi noklikšķiniet uz Vaicājuma noformējums. Ja izmantojat Access 2007, cilnes Izveide grupā Citi noklikšķiniet uz Vaicājuma noformējums.

    Tiek atvērts dialoglodziņš Tabulas rādīšana.

  3. Dialoglodziņā Tabulas rādīšana veiciet dubultklikšķi uz Klienti, Pasūtījumi, Detalizēta informācija par pasūtījumu un pēc tam noklikšķiniet uz Aizvērt.

    Visas trīs tabulas tiek parādītas vaicājuma noformējuma darbvietā.

  4. Tabulā Klienti veiciet dubultklikšķi uz lauka Pilsēta, lai to pievienotu vaicājuma noformējuma režģim.

  5. Vaicājuma noformējuma režģa kolonnas Pilsēta rindā Kritēriji ierakstiet Kur (“Riodežaneiro”,“Sanpaulu”). Tādējādi vaicājumā tiks iekļauti tikai ieraksti, kuros ir kāds no šo pilsētu klientiem.

  6. Tabulā Detalizēta informācija par pasūtījumu veiciet dubultklikšķi uz lauka PiegādesDatums un VienībasCena.

    Lauki tiek pievienoti vaicājuma noformējuma režģim.

  7. Vaicājuma noformējuma režģa kolonnā PiegādesDatums atlasiet rindu Lauks. Aizstājiet [PiegādesDatums] ar Gads: Format([PiegādesDatums],“yyyy”). Tiek izveidots lauka aizstājvārds Gads, kas ļauj izmantot lauka PiegādesDatums vērtībā iekļauto gadu.

  8. Vaicājuma noformējuma režģa kolonnā VienībasCena atlasiet rindu Lauks. Aizstājiet [VienībasCena] ar Pārdošana: [Detalizēti par pasūtījumu].[VienībasCena]*[Daudzums]-[Detalizēti par pasūtījumu].[VienībasCena]*[Daudzums]*[Atlaide]. Tiek izveidots lauka aizstājvārds Pārdošana, kas aprēķina katra ieraksta pārdošanas daudzumu.

  9. Cilnes Noformējums grupā Vaicājuma tips noklikšķiniet uz Krustvaicājums.

    Vaicājuma noformējuma režģī tiek parādītas divas jaunas rindas: Kopā un Krustvaicājums.

  10. Vaicājuma noformējuma režģa kolonnā Pilsēta noklikšķiniet uz rindas Krustvaicājums un pēc tam noklikšķiniet uz Rindas virsraksts.

    Pilsētas vērtības tiek rādītas kā rindu virsraksti (tas ir, vaicājums atgriež vienu rindu katrai pilsētai).

  11. Kolonnā Gads noklikšķiniet uz rindas Krustvaicājums un pēc tam noklikšķiniet uz Kolonnas virsraksts.

    Gada vērtības tiek rādītas kā kolonnu virsraksti (tas ir, vaicājums atgriež vienu kolonnu katram gadam).

  12. Kolonnā Pārdošana noklikšķiniet uz rindas Krustvaicājums un pēc tam noklikšķiet uz Vērtība.

    Pārdošanas vērtības tiek rādītas rindu un kolonnas krustošanās vietā (tas ir, vaicājums atgriež vienu pārdošanas vērtību katrai gada un pilsētas kombinācijai).

  13. Kolonnā Pārdošana noklikšķiniet uz rindas Kopā un pēc tam noklikšķiet uz Summa.

    Vaicājums saskaita kolonnas vērtības.

    Pārējo divu kolonnu rindās Kopā var atstāt noklusējuma vērtību Grupēt pēc, jo tām ir jārāda katra šo kolonnu vērtība, nevis vērtību apkopojums.

  14. Cilnes Noformējums grupā Rezultāti noklikšķiniet uz Izpildīt.

Esat izveidojis vaicājumu, kas parāda Riodežaneiro un Sanpaulu gada pārdošanas kopsummu.

Uz lapas sākumu

Divu līdzīgu tabulu ierakstu skatīšana

Dažreiz ir jāapvieno dati no divām tabulām, kam ir identiska struktūra, taču viena no tām atrodas citā datu bāzē. Apsveriet šādu scenāriju.

Pieņemsim, ka esat skolēnu datu analītiķis. Jūs esat iesaistījies datu koplietošanas projektā starp jūsu skolu un citu skolu, lai abas skolas varētu uzlabot savu mācību plānu. Lai izpētītu dažus jautājumus, būtu noderīgi vienlaikus apskatīt abu skolu ierakstus, nevis katru atsevišķi.

Otras skolas datus varētu importēt jaunās jūsu datu bāzes tabulās, taču tad izmaiņas otras skolas datos neatspoguļotos jūsu datu bāzē. Labāks risinājums būtu izveidot saiti ar otras skolas datiem un pēc tam izveidot vaicājumus, kas to izpildes laikā apvienotu datus. Jūs varētu analizēt datus kā vienu datu kopu, nevis veikt divas analīzes un mēģināt tās interpretēt kā vienu.

Lai skatītu visus ierakstus no divām tabulām ar identisku struktūru, varat izmantot apvienošanas vaicājums.

Noformējuma skatā nevar parādīt apvienošanas vaicājumus. Tie tiek veidoti, izmantojot SQL komandas, kas tiek ievadītas SQL skats objektu cilnē.

Apvienošanas vaicājuma izveide, izmantojot divas tabulas

  1. Cilnes Izveide grupā Vaicājumi noklikšķiniet uz Vaicājuma noformējums. Ja izmantojat Access 2007, cilnes Izveide grupā Citi noklikšķiniet uz Vaicājuma noformējums.

    Tiek atvērts jauns vaicājuma noformētāja režģis, un tiek parādīts dialoglodziņš Tabulas rādīšana.

  2. Dialoglodziņā Tabulas rādīšana noklikšķiniet uz Aizvērt.

  3. Cilnes Noformējums grupā Vaicājuma tips noklikšķiniet uz Apvienošana.

    Vaicājums no noformējuma skata pāriet uz SQL skatu. Šobrīd SQL skata objektu cilne ir tukša.

  4. SQL skatā ierakstiet SELECT, kam seko lauku saraksts no pirmās tabulas, kuru vēlaties iekļaut vaicājumā. Lauku nosaukumiem jābūt kvadrātiekavās un atdalītiem ar komatu. Kad esat ievadījis lauku nosaukumus, nospiediet taustiņu ENTER. SQL skatā kursors tiek pārvietots vienu rindiņu uz leju.

  5. Ierakstiet FROM, kam seko tās pirmās tabulas nosaukums, kuru vēlaties iekļaut vaicājumā. Nospiediet taustiņu ENTER.

  6. Ja pirmās tabulas laukam vēlaties norādīt kritēriju, ierakstiet WHERE, kam seko lauka nosaukums, salīdzināšanas operators (parasti vienādības zīme (=)) un kritērijs. Klauzulas WHERE beigās varat pievienot papildu kritērijus, izmantojot atslēgvārdu AND un pirmajā kritērijā izmantoto sintaksi, piemēram, WHERE [ClassLevel]=“100” AND [CreditHours]>2. Kad esat norādījis kritērijus, nospiediet taustiņu ENTER.

  7. Ierakstiet UNION un pēc tam nospiediet taustiņu ENTER.

  8. Ierakstiet SELECT, kam seko lauku saraksts no otrās tabulas, kuru vēlaties iekļaut vaicājumā. No šīs tabulas jāizvēlas tie paši lauki, kurus izvēlējāties no pirmās tabulas, tādā pašā secībā. Lauku nosaukumiem jābūt kvadrātiekavās un atdalītiem ar komatu. Kad esat ievadījis lauku nosaukumus, nospiediet taustiņu ENTER.

  9. Ierakstiet FROM, kam seko tās otrās tabulas nosaukums, kuru vēlaties iekļaut vaicājumā. Nospiediet taustiņu ENTER.

  10. Pēc izvēles pievienojiet klauzulu WHERE, kā aprakstīts šīs sadaļas 6. darbībā.

  11. Ierakstiet semikolu (;), lai norādītu vaicājuma beigas.

  12. Cilnes Noformējums grupā Rezultāti noklikšķiniet uz Izpildīt.

    Rezultāti tiek parādīti datu lapas skatā.

Uz lapas sākumu

Skatiet arī

Tabulu un vaicājumu savienojumi

Paplašiniet savas prasmes
Iepazīties ar apmācību
Esiet pirmais, kas saņem jaunās iespējas
Pievienoties Office Insider programmai

Vai šī informācija bija noderīga?

Paldies par jūsu atsauksmēm!

Paldies par atsauksmēm! Šķiet, ka varētu būt noderīgi sazināties ar kādu no mūsu Office atbalsta aģentiem.

×