Iespējams, dažkārt vēlēsities salīdzināt divas tabulas Access vienā tabulā identificēt ierakstus, kuriem nav atbilstošu ierakstu otrā tabulā. Vieglākais šo ierakstu identificēšanas veids ir izmantot neatbilstību atrašanas vaicājumu vedni. Kad vednis izveido vaicājumu, varat modificēt vaicājuma noformējumu, lai pievienotu vai noņemtu laukus vai pievienotu savienojumus starp abām tabulām (lai norādītu laukus, kuru vērtībām ir jāatbilst). Varat arī izveidot savu vaicājumu, lai atrastu ierakstus bez atbilstības, neizmantojot vedni.
Šajā rakstā uzzināsit, kā startēt un darbināt neatbilstību atrašanas vaicājumu vedni, kā modificēt vedņa izvadi un kā izveidot savu vaicājumu, lai atrastu ierakstus bez atbilstības.
Tēmas šajā rakstā
Kādos gadījumos meklēt ierakstus bez atbilstības?
Tālāk ir aplūkoti divi bieži sastopami gadījumi, kad var būt vajadzīga tabulu salīdzināšana un ierakstu bez atbilstības atrašana. Atkarībā no apstākļiem, ierakstu bez atbilstības atrašana var būt pirmā no vairākām darbībām, kuras vēlēsities veikt. Šajā rakstā ir izskaidrota tikai ierakstu bez atbilstības atrašana.
-
Vienu tabulu jūs izmantojat, lai glabātu datus par kaut ko (piemēram, produktu), bet otru tabulu izmantojat, lai glabātu datus par atbilstošām darbībām (piemēram, pasūtījumiem).
Piemēram, datu bāzes Northwind veidnē dati par produktiem tiek glabāti tabulā Produkti, bet dati par katrā pasūtījumā iekļautajiem produktiem tiek glabāti tabulā Pasūtījumu informācija. Tā kā tabulā Produkti nav datu par pasūtījumiem (atbilstoši iecerei), aplūkojot tikai tabulu Produkti, nav iespējams noteikt, kuri produkti nekad nav pārdoti. Šo informāciju nevar noteikt, aplūkojot tikai tabulu Pasūtījumu informācija, jo šajā tabulā ir ietverti dati tikai par pārdotajiem produktiem. Lai noteiktu, kuri produkti nekad nav pārdoti, ir jāsalīdzina abas tabulas.
Ja vēlaties pārskatīt pirmās tabulas produktu sarakstu, kuriem nav atbilstošu darbību otrajā tabulā, varat izmantot neatbilstību atrašanas vaicājumu.
-
Jums ir divas tabulas ar informāciju, kas pārklājas, ir lieka vai konfliktējoša, un jūs vēlaties abas tabulas apvienot vienā tabulā.
Piemēram, pieņemsim, ka jums ir tabula ar nosaukumu Pircēji un tabula ar nosaukumu Klienti. Šīs tabulas ir gandrīz identiskas, bet vienā vai abās tabulās ir daži ieraksti, kuru nav otrā tabulā. Lai apvienotu tabulas, vispirms noskaidrojiet, kuri ieraksti ir unikāli vienai vai otrai tabulai.
Ja jūsu situācija ir pielīdzināma šai situācijai, šajā rakstā aplūkotās metodes var būt noderīgas, bet, iespējams, būs jāveic papildu darbības. Jūs varat izmantot neatbilstību atrašanas vaicājumu vedni, lai identificētu ierakstus bez atbilstībām, tomēr, ja vēlēsities izgūt apvienotu ierakstu kopu, izmantojot šos rezultātus, būs jāizveido apvienošanas vaicājums. Ja protat rakstīt strukturētās vaicājumu valodas (Structured Query Language — SQL) priekšrakstus, varat neizmantot neatbilstību atrašanas vaicājumu vedni un pats uzrakstīt apvienošanas vaicājumu.
Problēmas, kas saistītas ar informāciju, kura pārklājas, ir lieka vai konfliktējoša, bieži var novērst, meklējot datu dublikātus vairākās tabulās.
Lai iegūtu papildinformāciju par apvienošanas vaicājumiem un datu dublikātu atrašanu, paslēpšanu vai likvidēšanu, klikšķiniet uz saitēm sadaļā Skatiet arī.
Piezīme.: Šajā rakstā minētajos piemēros ir lietota datu bāze, kas izveidota, izmantojot datu bāzes veidni Northwind.
Rādīt, kā iestatīt Northwind
-
Cilnē Fails noklikšķiniet uz Jauns.
-
Atkarībā no Access versijas Northwind varat meklēt meklēšanas lodziņā vai kreisās rūts sadaļā Veidņu kategorijas noklikšķiniet uz Lokālās veidnes.
-
Sadaļā Lokālās veidnes noklikšķiniet uz Northwind 2007 paraugs un pēc tam uz Izveidot.
-
Izpildiet norādījumus lapā Northwind Traders (objekta cilnē Sākuma ekrāns), lai atvērtu datu bāzi, pēc tam aizveriet pieteikšanās dialoglodziņu.
Neatbilstību atrašanas vaicājumu vedņa izmantošana divu tabulu salīdzināšanai
-
Cilnes Izveide grupā Vaicājumi noklikšķiniet uz Vaicājumu vednis.
-
Dialoglodziņā Jauns vaicājums veiciet dubultklikšķi uz Neatbilstību atrašanas vaicājumu vednis.
-
Vedņa pirmajā lapā atlasiet tabulu, kurā ir ieraksti bez atbilstībām, un noklikšķiniet uz Tālāk. Piemēram, ja vēlaties aplūkot Northwind produktu sarakstu, kuri nekad nav tikuši pārdoti, atlasiet tabulu Produkti.
-
Otrā lapā atlasiet saistīto tabulu un noklikšķiniet uz Tālāk. Lai sekotu piemēram, atlasiet tabulu detalizēta informācija par pasūtījumu.
-
Trešajā lapā atlasiet tabulas saistošos laukus, noklikšķiniet uz < = > un tad noklikšķiniet uz Tālāk. Katrā tabulā var izvēlēties vienu lauku. Lai sekotu piemēram, atlasiet ID tabulā Produkti, savukārt tabulā Detalizēta informācija par pasūtījumu atlasiet Produkta ID. Pārbaudiet, vai ir savietoti pareizie lauki, pārskatot tekstu lodziņā Atbilstošie lauki.
Ņemiet vērā, ka lauki ID un Produkta ID var būt jau atlasīti eksistējošo veidnē iebūvēto relāciju rezultātā.
-
Ceturtajā lapā veiciet dubultklikšķi uz pirmās tabulas laukiem, kurus vēlaties redzēt, un tad noklikšķiniet uz Tālāk. Lai sekotu piemēram, atlasiet laukus ID un Produkta nosaukums.
-
Piektajā lappusē varat izvēlēties skatīt rezultātus vai modificēt vaicājuma noformējumu. Šajā piemērā noklikšķiniet uz Skatīt rezultātus. Akceptējiet piedāvāto vaicājuma nosaukumu un noklikšķiniet uz Pabeigt.
Iespējams, vēlēsities modificēt sava vaicājuma noformējumu, lai pievienotu citus kritērijus, mainītu kārtošanas secību, vai arī pievienotu vai noņemtu laukus. Lai uzzinātu par neatbilstību atrašanas vaicājuma modificēšanu, izlasiet nākamo sadaļu, vai skatiet vispārīgāku informāciju par vaicājumu izveidi un modificēšanu, izmantojot sadaļā Skatiet arī pieejamās saites.
Neatbilstību atrašanas vaicājuma izveide un modificēšana, lai salīdzinātu pēc vairākiem laukiem
-
Cilnes Izveide grupā Vaicājumi noklikšķiniet uz Vaicājumu vednis.
-
Dialoglodziņā Jauns vaicājums veiciet dubultklikšķi uz Neatbilstību atrašanas vaicājumu vednis.
-
Vedņa pirmajā lapā atlasiet tabulu, kurā ir ieraksti bez atbilstībām, un noklikšķiniet uz Tālāk. Piemēram, ja vēlaties aplūkot Northwind produktu sarakstu, kuri nekad nav tikuši pārdoti, atlasiet tabulu Produkti.
-
Otrā lapā atlasiet saistīto tabulu un noklikšķiniet uz Tālāk. Lai sekotu piemēram, atlasiet tabulu detalizēta informācija par pasūtījumu.
-
Trešajā lapā atlasiet tabulas saistošos laukus, noklikšķiniet uz < = > un tad noklikšķiniet uz Tālāk. Katrā tabulā var izvēlēties vienu lauku. Lai sekotu piemēram, atlasiet ID tabulā Produkti, savukārt tabulā Detalizēta informācija par pasūtījumu atlasiet Produkta ID. Pārbaudiet, vai ir savietoti pareizie lauki, pārskatot tekstu lodziņā Atbilstošie lauki. Pabeidzot vedņa darbību, varat apvienot atlikušos laukus.
Ņemiet vērā, ka lauki ID un Produkta ID var būt jau atlasīti eksistējošo veidnē iebūvēto relāciju rezultātā.
-
Ceturtajā lapā veiciet dubultklikšķi uz pirmās tabulas laukiem, kurus vēlaties redzēt, un tad noklikšķiniet uz Tālāk. Lai sekotu piemēram, atlasiet laukus ID un Produkta nosaukums.
-
Piektajā lapā noklikšķiniet uz Modificēt noformējumu un pēc tam uz Pabeigt.
Vaicājums tiek atvērts noformējuma skatā.
-
Ņemiet vērā, ka vaicājumu noformējuma režģī abas tabulas ir savienotas laukos (šajā piemērā tie ir ID un Produkta ID), kurus norādījāt vedņa trešajā lapā. Izveidojiet savienojumu katram atlikušajam saistīto lauku pārim, velkot tos no pirmās tabulas (kurā ir ieraksti bez atbilstībām) uz otru tabulu. Šajā piemērā velciet lauku Cenrāža cena no tabulas Produkti uz tabulu Pasūtījumu informācija.
-
Veiciet dubultklikšķi uz savienojuma (laukus savienojošās līnijas), lai parādītu dialoglodziņu Rekvizītu piesaiste. Katram savienojumam izvēlieties opciju, kas ietver visus tabulas Produkti ierakstus, un pēc tam noklikšķiniet uz Labi.
Vaicājumu noformējuma režģī ievērojiet, ka katra savienojuma vienā galā tagad ir bultiņa.
1. Izveidojot savienojumu starp laukiem Cenrāža cena un Vienības cena, tas ierobežo abu tabulu izvadi. Vaicājumu rezultātos tiek iekļauti tikai ieraksti, kuru dati sakrīt abu tabulu laukos.
2. Pēc savienojuma rekvizītu rediģēšanas savienojums ierobežo tikai tabulu, uz kuru norāda bultiņa. Vaicājumu rezultātos tiek iekļauti visi ieraksti no tabulas, no kuras norāda bultiņa.
Piezīme.: Pārliecinieties, vai visas savienojumu bultiņas ir vērstas vienā virzienā.
-
Tabulā, kurā ir saistītie rezultāti (šajā piemērā — tabula Pasūtījumu informācija), veiciet dubultklikšķi uz katra lauka, kas savienots ar pirmo tabulu, izņemot lauku, kuru izvēlējāties vedņa trešajā lapā (šajā gadījumā — lauku Produkta ID). Katram no šiem laukiem notīriet izvēles rūtiņu rindā Rādīt un rindā Kritēriji ierakstiet Is Null.
-
Pēc izvēles varat pievienot kritērijus citiem vaicājuma laukiem vai izveidot aprēķinātus laukus, kuru pamatā ir pirmās tabulas vērtības.
-
Cilnes Vaicājuma noformējums grupā Rezultāti noklikšķiniet uz Izpildīt.
Vaicājums atgriež produktu nosaukumus, kas neietilpst nevienā esošā pasūtījumā.
Sava vaicājuma izveidošana ierakstu bez atbilstībām meklēšanai
-
Cilnes Izveide grupā Vaicājumi noklikšķiniet uz Vaicājuma noformējums.
-
Veiciet dubultklikšķi uz tabulas, kurā ir ieraksti bez saraksta un pēc tam veiciet dubultklikšķi uz tabulas, kurā ir saistītie ieraksti.
-
Vaicājuma noformējuma režģī abām tabulām vajadzētu būt līnijām, tā saucamajiem savienojumiem, kas savieno tās ar saistītajiem laukiem. Ja savienojumi nepastāv, izveidojiet tos, velkot katru saistīto lauku no pirmās tabulas (tabulas, kurā ir ieraksti bez atbilstībām) uz otru tabulu (kurā ir saistītie ieraksti).
-
Veiciet dubultklikšķi uz savienojuma, lai atvērtu dialoglodziņu Savienojuma rekvizīti. Katram savienojumam izvēlieties 2. opciju un pēc tam noklikšķiniet uz Labi.
Vaicājuma noformējuma režģī savienojumi mainās, iegūstot bultiņu vienā galā.
Piezīme.: Pārliecinieties, vai visas bultiņas ir vērstas vienā virzienā. Vaicājums netiks izpildīts, ja bultiņas norādīs atšķirīgos virzienos, un var netikt izpildīts, ja kādam savienojumam nebūs bultiņas. Bultiņām jābūt vērstām virzienā prom no tabulas, kurā ir ieraksti bez atbilstības.
-
Tabulā, kurā ir ieraksti bez atbilstība, veiciet dubultklikšķi uz laukiem, kurus vaicājumam ir jāatgriež.
Ja vēlaties, varat ievadīt kritērijus jebkuram no šiem laukiem vai izveidot aprēķinātos laukus.
-
Tabulā, kurā ir saistīti ieraksti, veiciet dubultklikšķi katrā ar pirmo tabulu saistītajā laukā. Katram no šiem laukiem notīriet izvēles rūtiņu rindā Rādīt, bet rindā Kritēriji ierakstiet Is Null.
-
Cilnes Vaicājuma noformējums grupā Rezultāti noklikšķiniet uz Izpildīt.
Skatiet arī
Vienkārša atlases vaicājuma izveide
Ierakstu dublikātu atrašana ar vaicājumu
Apvienošanas vaicājuma izmantošana vairāku vaicājumu apvienošanai vienā rezultātā