Kādas vaicājumu izveides metodes jūs zināt? Pieprasījumu veidošana (formēšana).

Pieņemsim, ka lietotājam visi informācijas bāzē esošie dokumenti ir jāredz vienā sarakstā. Neskatoties uz izstrādātāja protestiem saistībā ar negatīvo ietekmi uz šīs izstrādes produktivitāti, vadības spiediena rezultātā tika nolemts sagatavot šādu ziņojumu.

Nu, tā kā uzdevums prasa realizāciju, darīsim to!

Kā to izdarīt

Uzreiz rezervēsim, ka pārskatā tiks parādīti divi lauki: “Saite” un “Apstiprināts”. Visiem dokumentiem ir šī standarta informācija. Mēs ģenerēsim pieprasījumu iegūt visus dokumentus programmatiski, apejot metadatu kolekciju “Metadati.Documents”. Katram kolekcijas elementam mēs izveidosim vaicājumu tās tabulai, izmantojot detaļas “Saite” un “Ievietots”, un pēc tam apvienosim tā rezultātu ar līdzīga vaicājuma rezultātu citam dokumentam.

" SELECT | Doc . Saite AS saite,| Doc . Vadīts AS Vadīts |NO| Dokuments . Pircēju ABCCklasifikācija AS Doc. Saite AS saite,| Doc . Vadīts AS Vadīts |NO| Dokuments . AdvanceReport AS Doc|. KOMBINĒT VISUS | Doc . Saite AS saite,| Doc . Vadīts AS Vadīts |NO| Dokuments . Kredītvēstule pārskaitīta AS Doc|. KOMBINĒT VISUS | . . . "

Gadījumā, ja jums ir jāparāda visa pieejamā informācija visos dokumentos, programmatiski pieprasījuma ģenerēšana izskatīsies daudz sarežģītāka. Lai nesarežģītu piemēru, mēs parādīsim tikai nosauktās standarta detaļas.

Veidojot atskaites rezultātu, ģenerētais vaicājums būs jāievieto galvenajā datu kopā. Pārējās darbības, ģenerējot atskaiti programmatiski, būs standarta.

Īstenošana

Tagad kārtībā. Pēc ārējās atskaites izveides pievienosim tai datu kompozīcijas shēmu. Pievienosim šādu vaicājumu kā vaicājumu datu kopā:

Kopumā mūsu gadījumā nav nozīmes tam, kāda veida vaicājums būs datu kopai. Mēs to pievienojām tikai tāpēc, lai būtu ērti pielāgot atskaites struktūru noformētājā, jo pretējā gadījumā cilnē “Iestatījumi” nebūtu neviena lauka. Pārskata struktūras galīgā iestatīšana ir šāda:

Tagad notikumu apdarinātājā “Radot rezultātu” mēs atspējosim standarta apstrādi un programmatiski ģenerēsim pārskatu. Programmas kods piekļuves kontroles sistēmas atskaites ģenerēšanai ir parādīts šādā sarakstā:

Rezultāta sastādīšanas procedūra (DocumentResult, Atšifrēšanas dati, StandardProcessing) StandardProcessing = False ; // atspējot standarta atskaites izvadi - mēs to izvadīsim programmatiski Iestatījumi = Iestatījumi Komponists. Iestatījumi; // Saņemt atskaites iestatījumus DecryptionData = newDataCompositionDecryptionData; // Izveidot atšifrēšanas datus LayoutLinker = newDataLayoutLayoutLinker; // Izveidojiet izkārtojuma veidotāju // Inicializējiet izkārtojuma izkārtojumu, izmantojot datu izkārtojuma shēmu // un iepriekš izveidotos iestatījumus un atšifrēšanas datus" ) ; Layout Layout = izkārtojuma savienotājs. Izpildīt (datu izkārtojuma shēma, iestatījumi, atšifrēšanas dati) ; // Sastādiet rezultātu CompositionProcessor = newDataCompositionProcessor; Procesora izkārtojums. Inicializēt(Izkārtojuma izkārtojums, , Atšifrēšanas dati) ; Dokuments Rezultāts. Clear() ; // Izvadiet rezultātu izklājlapas dokumentā OutputProcessor = New OutputProcessorDataCompositionResultInTabularDocument; Izvades procesors. SetDocument(DocumentResult) ; Izvades procesors. Izvade(LayoutProcessor) ; Beigās Procedūra

Viss ir standarta. Tagad galvenais. Pirms izkārtojuma izveides mums jāaizstāj datu kopas vaicājuma teksts. Kā minēts iepriekš, pieprasījuma kods tiks ģenerēts, šķērsojot dokumenta metadatu kolekciju. Šajā sarakstā ir parādīts programmas kods pieprasījuma teksta dinamiskai ģenerēšanai:

// .................................................................. DataLayoutScheme = GetLayout(" Galvenā datu izkārtojuma shēma" ) ; // Iegūstiet datu izkārtojuma shēmu Datu kompozīcijas shēma. Datu kopas. Datu kopa1. Pieprasīt = " " ; // Notīriet vaicājumu datu kopā DocumentsConfigurations = metadati. Dokumentācija; // Iegūstiet dokumentu metadatu kolekciju Number ofDocuments = ConfigurationDocuments. Daudzums() ; // Nosakiet kopējo dokumentu skaitu konfigurācijāСч = 1; RequestText = " " ; Katram dokumentam no DocumentsConfiguration Loop Query Text = Vaicājuma teksts + // Katram dokumentam mēs veidojam vaicājuma tekstu tā tabulai" SELECT | Doc . Saite AS saite,| Doc . Vadīts AS Vadīts |NO| Dokuments . " + Doc. Name + " AS Doc " ; // Pieprasījuma tekstā ir jāaizstāj tikai dokumentu tabulas nosaukums metadatu kokā Ja Konta numurs Dokumenti Tad // Ja dokuments nav pēdējais kolekcijā, pievienojiet instrukciju "COMBINE ALL". RequestText = RequestText + // dokumentu vaicājumu rezultātu apvienošana vienā sarakstā" | VIENOT VISU | " ; EndIf ; Sch = Sch + 1; EndCycle ; Datu kompozīcijas shēma. Datu kopas. Datu kopa1. Pieprasījums = RequestText; // Ievietojiet jauno pieprasījuma tekstu datu kopā LayoutLayout = LayoutLocker. Izpildīt (datu izkārtojuma shēma, iestatījumi, atšifrēšanas dati) ; // Sastādiet izkārtojumu // ....................................................................

Pārskats ir gatavs pārbaudei.

Kāds ir rezultāts?

Izpildīsim pārskatu režīmā 1C:Uzņēmums. Pārskats tiks veiksmīgi izpildīts un informācijas bāzē redzēsim visu dokumentu sarakstu.

Ar visām veiktajām darbībām atskaitei ir visas piekļuves kontroles sistēmas standarta iespējas: dekodēšana, atskaites struktūras iestatīšana, atlases, nosacījumformatēšana utt.

Visu dokumentu tabulu vaicājums nav optimālākais risinājums, lai skatītu pilnu dokumentu sarakstu informācijas bāzē, jo tas ģenerē salīdzinoši “smagu” DBVS vaicājumu. Vispareizāk būtu izmantot konfigurācijas objektu “Dokumentu žurnāls”, taču tas ir ārpus šī raksta darbības jomas.

Ja jums ir jāatlasa konkrēti dati no viena vai vairākiem avotiem, varat izmantot atlases vaicājumu. Izvilkšanas vaicājums ļauj iegūt tikai nepieciešamo informāciju, kā arī palīdz apvienot informāciju no vairākiem avotiem. Kā datu avotus atlases vaicājumiem varat izmantot tabulas un citus līdzīgus vaicājumus. Šajā sadaļā ir īsi apskatīti atlasītie vaicājumi un sniegti soli pa solim norādījumi par to izveidi, izmantojot vaicājumu vedni vai noformētāju.

Ja vēlaties uzzināt vairāk par to, kā vaicājumi darbojas, piemēram, izmantojot Northwind datubāzi, skatiet rakstu Vaicājumu izpratne.

Šajā rakstā

Galvenā informācija

Kad ir nepieciešami kādi dati, reti kad ir vajadzīgs viss vienas tabulas saturs. Piemēram, ja jums ir nepieciešama informācija no kontaktu tabulas, tā parasti ir par konkrētu ierakstu vai tikai tālruņa numuru. Dažreiz ir nepieciešams apvienot datus no vairākām tabulām vienlaikus, piemēram, apvienot informāciju par klientiem ar informāciju par klientiem. Lai atlasītu nepieciešamos datus, tiek izmantoti atlases vaicājumi.

Atlasīšanas vaicājums ir datu bāzes objekts, kas parāda informāciju tabulas skatā. Vaicājums neuzglabā datus, bet satur datus, kas tiek glabāti tabulās. Vaicājumā var parādīt datus no vienas vai vairākām tabulām, no citiem vaicājumiem vai abu kombinācijas.

Vaicājumu priekšrocības

Pieprasījums ļauj veikt šādus uzdevumus:

    Skatiet vērtības tikai no tiem laukiem, kas jūs interesē. Atverot tabulu, tiek parādīti visi lauki. Varat saglabāt vaicājumu, kas atgriež tikai dažus no tiem.

    Piezīme: Vaicājums tikai atgriež datus, bet nesaglabā tos. Saglabājot pieprasījumu, jūs nesaglabājat saistīto datu kopiju.

    Apvienojiet datus no vairākiem avotiem. Tabulā parasti var redzēt tikai tajā saglabāto informāciju. Vaicājums ļauj atlasīt laukus no dažādiem avotiem un norādīt, kā tieši vēlaties apvienot informāciju.

    Izmantojiet izteiksmes kā laukus. Piemēram, lauks var būt funkcija, kas atgriež datumu, un, izmantojot formatēšanas funkciju, varat kontrolēt vērtību formātu no laukiem vaicājuma rezultātos.

    Skatiet ziņas, kas atbilst jūsu norādītajiem kritērijiem. Atverot tabulu, tiek parādīti visi ieraksti. Varat saglabāt vaicājumu, kas atgriež tikai dažus no tiem.

Pamatdarbības atlases vaicājuma izveidei

Varat izveidot atlases vaicājumu, izmantojot vedni vai vaicājumu noformētāju. Daži elementi vednī nav pieejami, taču tos var pievienot vēlāk no dizainera. Lai gan šīs ir dažādas metodes, pamata soļi ir līdzīgi.

    Atlasiet tabulas vai vaicājumus, ko vēlaties izmantot kā datu avotus.

    Norādiet laukus no saviem datu avotiem, kurus vēlaties iekļaut savos rezultātos.

    Varat arī iestatīt nosacījumus, kas ierobežo atgriezto ierakstu pieprasījumu kopu.

Kad esat izveidojis atlases vaicājumu, palaidiet to, lai redzētu rezultātus. Lai palaistu atlases vaicājumu, atveriet to datu lapas skatā. Kad esat saglabājis vaicājumu, varat to izmantot vēlāk (piemēram, kā datu avotu veidlapai, atskaitei vai citam vaicājumam).

Izveidojiet atlases vaicājumu, izmantojot vaicājumu vedni

Vednis ļauj automātiski izveidot atlases pieprasījumu. Izmantojot vedni, jums nav pilnīgas kontroles pār visām procesa detaļām, taču pieprasījums parasti tiek izveidots ātrāk. Turklāt vednis dažkārt nosaka vienkāršas kļūdas pieprasījumā un liek jums izvēlēties citu darbību.

Sagatavošana

Ja izmantojat laukus no datu avotiem, kas nav saistīti, vaicājumu vednis piedāvā starp tiem izveidot attiecības. Viņš atvērs attiecību logs tomēr, ja veicat izmaiņas, vednis būs jārestartē. Tāpēc pirms vedņa palaišanas ir lietderīgi nekavējoties izveidot visas vaicājumam nepieciešamās attiecības.

Papildinformāciju par relāciju izveidi starp tabulām skatiet tabulu relāciju rokasgrāmatā.

Izmantojot vaicājumu vedni

    Uz cilnes Radīšana grupā Pieprasījumi noklikšķiniet uz pogas Vaicājumu vednis.

    Dialoglodziņā Jauns pieprasījums atlasiet vienumu Vienkāršs pieprasījums un nospiediet pogu labi.

    Tagad pievienojiet laukus. Varat pievienot līdz 255 laukiem no 32 tabulām vai vaicājumiem.

    Katram laukam veiciet šādas divas darbības:


  1. Ja neesat pievienojis nevienu ciparu lauku (laukus, kas satur skaitliskus datus), pārejiet uz 9. darbību. Pievienojot ciparu lauku, jums būs jāizvēlas, vai vaicājumā tiks atgriezta informācija vai kopsummas.

    Veiciet kādu no šīm darbībām:


  2. Dialoglodziņā Rezultāti norādiet nepieciešamos laukus un kopsavilkuma datu tipus. Sarakstā būs pieejami tikai ciparu lauki.

    Katram ciparu laukam atlasiet vienu no tālāk norādītajām opcijām.

    1. Summa- vaicājums atgriezīs visu laukā norādīto vērtību summu.

      Vid- vaicājums atgriezīs lauka vidējo vērtību.

      Min- pieprasījums atgriezīs laukā norādīto minimālo vērtību.

      Maks- pieprasījums atgriezīs laukā norādīto maksimālo vērtību.


  3. Ja vēlaties, lai vaicājuma rezultātos tiktu parādīts ierakstu skaits datu avotā, atzīmējiet atbilstošo izvēles rūtiņu Saskaitiet ierakstu skaitu mapē (datu avota nosaukums).

    Klikšķis labi lai aizvērtu dialoglodziņu Rezultāti.

    Ja savam vaicājumam nepievienojāt nevienu datuma un laika lauku, pārejiet uz 9. darbību. Ja vaicājumam pievienojāt datuma un laika laukus, vaicājuma vednis piedāvā izvēlēties, kā grupēt datuma vērtības. Pieņemsim, ka vaicājumam pievienojāt ciparu lauku ("Price") un datuma un laika lauku ("Transaction_Time") un pēc tam dialoglodziņā Rezultāti norādīja, ka vēlaties rādīt vidējo vērtību ciparu laukam "Cena". Tā kā esat pievienojis datuma un laika lauku, varat aprēķināt kopsummas katrai unikālajai datuma un laika vērtībai, piemēram, katram mēnesim, ceturksnim vai gadam.


    Atlasiet periodu, kuru vēlaties izmantot datuma un laika vērtību grupēšanai, un pēc tam noklikšķiniet uz Tālāk.

    Vedņa pēdējā lapā ievadiet pieprasījuma nosaukumu, norādiet, vai vēlaties to atvērt vai rediģēt, un noklikšķiniet uz Gatavs.

    Ja izvēlaties atvērt vaicājumu, atlasītie dati tiks parādīti datu lapas skatā. Ja izlemjat rediģēt vaicājumu, tas tiek atvērts noformējuma skatā.

Vaicājuma izveide noformējuma skatā

Noformējuma skatā varat manuāli izveidot atlases vaicājumu. Šajā režīmā jums ir lielāka kontrole pār vaicājuma izveides procesu, taču ir vieglāk kļūdīties un tas aizņem vairāk laika nekā vednī.

Izveidojiet pieprasījumu

1. darbība. Pievienojiet datu avotus

Projektēšanas režīmā datu avoti un lauki tiek pievienoti dažādos posmos, jo avotu pievienošanai tiek izmantots dialoglodziņš Tabulas pievienošana. Tomēr jūs vienmēr varat pievienot papildu avotus vēlāk.

Automātisks savienojums

Ja starp pievienotajiem datu avotiem jau ir noteiktas attiecības, tās tiek automātiski pievienotas vaicājumam kā savienojumi. Savienojumi nosaka, kā jāapvieno dati no saistītiem avotiem. Access arī automātiski izveido savienojumu starp divām tabulām, ja tajās ir lauki ar saderīgiem datu tipiem un viens no tiem ir primārā atslēga.

Varat pielāgot Access pievienotos savienojumus. Access atlasa izveidojamā savienojuma veidu, pamatojoties uz tai atbilstošām attiecībām. Ja Access izveido savienojumu, bet tai nav noteiktas attiecības, Access pievieno iekšējo savienojumu.

Viena datu avota atkārtota izmantošana

Dažos gadījumos varat apvienot vienas tabulas vai vaicājuma divas kopijas, ko sauc par pašsavienošanos, un ieraksti tiks apvienoti no vienas tabulas, ja apvienotajos laukos ir atbilstošas ​​vērtības. Piemēram, pieņemsim, ka jums ir tabula Darbinieki, kurā katra darbinieka ieraksta laukā "ziņojumi" tiek rādīts viņa vadītāja ID, nevis viņa vārds. Varat izmantot pašpievienošanos, lai katra darbinieka ierakstā parādītu vadītāja vārdu.

Kad pievienosit datu avotu otrreiz, programma Access beigs otrās instances nosaukumu ar “_1”. Piemēram, ja vēlreiz pievienosit tabulu Darbinieki, tās otrā instance tiks nosaukta Darbinieki_1.

2. darbība. Savienojiet saistītos datu avotus

Ja datu avotiem, ko pievienojat vaicājumam, jau ir relācijas, programma Access automātiski izveido iekšējo savienojumu katrai relācijai. Ja tiek izmantota datu integritāte, programma Access parāda arī "1" virs savienojuma līnijas, lai parādītu, kura tabula atrodas relācijas viens pret daudziem elementa "vienā" pusē un bezgalības simbolam ( ), lai parādītu, kura tabula atrodas "daudzu" pusē.

Ja vaicājumam esat pievienojis citus vaicājumus un starp tiem neesat izveidojis attiecības, programma Access automātiski neveido savienojumus starp tiem vai starp vaicājumiem un tabulām, kas nav saistītas. Ja Access neveido savienojumus, kad pievienojat datu avotus, tie parasti ir jāizveido manuāli. Datu avoti, kas nav savienoti ar citiem avotiem, var radīt problēmas vaicājumu rezultātos.

Varat arī mainīt savienojuma veidu no iekšējā savienojuma uz ārējo savienojumu, lai vaicājumā būtu vairāk ierakstu.

Savienojuma pievienošana

Savienojuma maiņa

Kad savienojumi ir izveidoti, varat pievienot izvades laukus: tajos būs dati, kurus vēlaties parādīt rezultātos.

3. darbība. Pievienojiet displeja laukus

Varat viegli pievienot lauku no jebkura datu avota, ko pievienojāt 1. darbībā.

    Lai to izdarītu, velciet lauku no avota vaicājumu noformētāja loga augšējā apgabalā uz leju uz rindu Lauks pieprasījuma veidlapa (dizaineru loga apakšā).

    Ja šādi pievienojat lauku, programma Access automātiski aizpilda rindu Tabula dizainera tabulā atbilstoši lauka datu avotam.

    Padoms: Lai ātri pievienotu visus laukus vaicājuma formas rindai Lauks, augšējā rūtī veiciet dubultklikšķi uz tabulas vai vaicājuma nosaukuma, lai atlasītu visus tajā esošos laukus, un pēc tam velciet tos visus uz leju uz veidlapu uzreiz.

Izteiksmes izmantošana kā izvades lauks

Varat izmantot izteiksmi kā izvades lauku aprēķiniem vai ģenerēt vaicājuma rezultātus, izmantojot funkciju. Izteiksmēs var izmantot datus no jebkura vaicājuma avota, kā arī tādas funkcijas kā Format vai InStr, konstantes un aritmētiskos operatorus.

4. darbība: norādiet nosacījumus

Tas nav obligāti.

Izmantojot nosacījumus, varat ierobežot ierakstu skaitu, ko vaicājums atgriež, atlasot tikai tos, kuru lauku vērtības atbilst noteiktiem kritērijiem.

Displeja lauka nosacījumu noteikšana

Nosacījumi vairākiem laukiem

Nosacījumus var iestatīt vairākiem laukiem. Šajā gadījumā ir jāizpilda visi nosacījumi attiecīgajā rindā, lai ieraksts tiktu iekļauts rezultātos Atlases nosacījumi vai Or.

Nosacījumu iestatīšana, pamatojoties uz lauku, kas nav iekļauts izvadē

Varat pievienot vaicājumam lauku, bet neiekļaut tā vērtības parādītajos rezultātos. Tas ļauj izmantot lauka saturu, lai ierobežotu rezultātus, bet ne parādītu tos.

    Pievienojiet lauku vaicājuma tabulai.

    Noņemiet atzīmi no izvēles rūtiņas rindā Rādīt.

    Iestatiet nosacījumus kā izvades laukam.

5. darbība. Aprēķiniet kopsummas

Šī darbība nav obligāta.

Varat arī aprēķināt skaitlisko datu kopsummas. Piemēram, iespējams, vēlēsities skatīt vidējo cenu vai kopējo pārdošanas apjomu.

Lai aprēķinātu kopējās vērtības, vaicājumā tiek izmantota virkne Kopā. Noklusējuma virkne Kopā neparādās dizaina režīmā.

Lai skatītu vaicājuma rezultātus, cilnē Dizains noklikšķiniet uz Izpildīt. Programma Access parāda vaicājuma rezultātus datu lapas skatā.

Lai atgrieztos noformēšanas režīmā un veiktu izmaiņas vaicājumā, noklikšķiniet uz mājas > Skatīt > Konstruktors.

Pielāgojiet laukus, izteiksmes vai nosacījumus un atkārtoti palaidiet vaicājumu, līdz tas atgriež vajadzīgos datus.

Izveidojiet atlases vaicājumu programmā Access tīmeklim

Lai vaicājuma rezultāti būtu pieejami pārlūkprogrammā, tabulas atlases ekrānam jāpievieno vaicājuma skats. Lai tabulas atlases ekrāna galvenē pievienotu jaunu skatu, rīkojieties šādi:


Microsoft piedāvā plašas iespējas datu bāzu izveidei un darbam ar tām. Mūsdienās datu bāzes tiek ļoti plaši izmantotas visdažādākajās jomās un jomās. Kopumā varam teikt, ka bez tiem šobrīd nevaram iztikt. Šajā sakarā ir ļoti svarīgi prast strādāt ar Access tabulām. Galvenais lietotāja mijiedarbības elements ar datu bāzi ir vaicājums. Šajā rakstā mēs sīkāk aplūkosim, kā programmā Access izveidot vaicājumu. Sāksim. Aiziet!

Vispirms izdomāsim, kas ir pieprasījums. Šis ir datu bāzes elements, ko izmanto, lai tabulā atlasītu vēlamo informāciju. Tie ir divu veidu:

  • Lai paraugu (ļautu saņemt datus un veikt ar tiem darbības);
  • Lai mainītu (ļauj pievienot, dzēst un mainīt vērtības).

Tagad pāriesim pie prakses. Dodieties uz cilni "Izveidot" un noklikšķiniet uz pogas "Vaicājumu veidotājs". Atvērtajā logā atlasiet vienu vai vairākas tabulas, no kurām vēlaties atlasīt datus. Noklikšķinot uz pogas "Palaist", jūs saņemsiet visu informāciju no atlasītajām tabulām. Lai iegūtu precīzāku atlasi, dodieties uz cilni “Dizaineris” un laukā “Atlases nosacījums:” ievadiet vajadzīgo vārdu vai skaitli. Piemēram, jūs vēlaties iegūt visu 1980. gadā dzimušo darbinieku sarakstu. Lai to izdarītu, ailē "Dzimšanas datums" rindā "Atlases nosacījums" ievadiet 1980 un noklikšķiniet uz pogas "Palaist". Programma uzreiz sniegs rezultātu. Ērtības labad varat saglabāt izveidoto pieprasījumu, lai to izmantotu turpmāk. Izmantojiet taustiņu kombināciju Ctrl+S un ievadiet nosaukumu attiecīgajā laukā un pēc tam noklikšķiniet uz "OK".

Norādot datu atlases nosacījumu, iegūstam vēlamo paraugu

Lai saskaitītu vērtības kolonnā, varat izmantot tā sauktās grupas darbības. Lai to izdarītu, cilnē "Dizains" noklikšķiniet uz pogas "Rezultāti". Parādītajā rindā “Grupēšana” atlasiet funkciju “Count”, kas ļauj saskaitīt visas vērtības, kas nav nulles. Lai kolonnas nosaukumā netiktu parādīts vārds “Count”, rindiņā “Lauks” ievadiet nosaukumu pirms iepriekš norādītā. Saglabāšana tiek veikta tādā pašā veidā, izmantojot Ctrl+S kombināciju.

Access uzskaita šūnas, kas nav tukšas

Tagad izveidosim parametru vaicājumu. Tas ļauj veikt izvēli, pamatojoties uz ievadīto parametru. Piemēram, līdz noteiktam datumam. Atverot vajadzīgo datu bāzi, attiecīgajā ailē ierakstiet (bez pēdiņām) “[Norādīt datumu]”. Nepieciešamas kvadrātiekavas. Parādītajā logā ievadiet vajadzīgo datumu. Pēc tam programma automātiski veiks atlasi, pamatojoties uz jūsu ievadīto datumu. Varat ievietot ">" (lielāks par) un "<» (меньше) чтобы отобразить элементы раньше либо позже заданной даты. Например, список сотрудников, которые сдали отчёты до 01.07.

Kā izveidot savstarpējo atsauci? Vienkārši atrodiet rīkjoslas pogu “Krusts” un noklikšķiniet uz tās. Pēc tam vienumā “Crosstab” atlasiet “Rindu virsraksti” pirmajā šūnā, “Sleju virsraksti” otrajā un “Vērtība” trešajā. Pēc tam varat saskaitīt vērtības, izmantojot jau iepriekš minēto funkciju “Count”. Lūdzu, ņemiet vērā, ka, ja otrajā šūnā norādīsit “Rindu virsraksti” tāpat kā pirmajā, nevis “Sleju virsraksti”, nekas nedarbosies. Noteikti ņemiet to vērā.

Mēs veicam šķērsvaicājumu datu bāzē

Varat arī lūgt izveidot tabulu. Kā tas tiek darīts? Vienkārši atveriet datu bāzes, ar kurām strādājat, pēc tam aizpildiet šūnu “Atlases nosacījums” un noklikšķiniet uz pogas “Izveidot tabulu”. Neaizmirstiet noklikšķināt uz "Palaist". Microsoft Access izveidos jaunu tabulu, pamatojoties uz jūsu norādītajiem parametriem. Piemēram, visu darbinieku saraksts ar viņu kontaktinformāciju pēc profesijas “Grāmatvedis”.

Saglabājot, jānorāda jaunās tabulas nosaukums un atrašanās vieta

Kā redzat, Microsoft Access ļauj veikt daudzas lietas. Zinot, kā veikt vaicājumus programmā Access, jūs jutīsities daudz pārliecinātāk, strādājot ar datu bāzēm. Rakstiet komentāros, vai šis raksts jums bija noderīgs, un uzdodiet jautājumus par apspriesto tēmu.

Lekcija 16. Vaicājumu veidošana, izmantojot rīkus JAUNKUNDZEPiekļuve 2000

Vaicājumi ir vienīgais lietotājiem nepieciešamās informācijas izgūšanas līdzeklis, kā arī datu pārvaldības līdzeklis. Pamatojoties uz relāciju operāciju loģiku, vaicājumi ļauj:

§ datu savienošana no vairākām tabulām;

§ parādīt tikai obligātos laukus;

§ sarežģītu kritēriju veidošana ierakstu atlasei;

§ aprēķini, izmantojot datus no avota tabulām;

§ informācijas grupēšana pēc jebkuriem kritērijiem;

§ datu modificēšana tabulās.

MS Access nodrošina ērtus mehānismus ātrai vaicājumu izveidei bez īpašas sagatavošanās, savukārt citās DBVS bieži vien ir nepieciešamas valodas rīku zināšanas, lai izveidotu vaicājumus. Lai izveidotu vaicājumus, MS Access piedāvā šādus rīkus:

§ Vaicājumu veidotājs – rīks vaicājumu konstruēšanai, izmantojot QBE (Query by example), kam nepieciešamas minimālas zināšanas. Līdzeklis, kas ir zemāks par režīmu SQL.

§ Vienkāršs pieprasījums – ļauj ātri izveidot vaicājumus, pamatojoties uz vienu vai vairākām tabulām, tostarp kopsavilkuma vaicājumus.

§ Šķērspieprasījums – ļauj izveidot iegūtās tabulas, pamatojoties uz aprēķinu rezultātiem, kas iegūti, analizējot tabulu grupu;

§ Vaicājums par ierakstu dublikātiem – rīks vaicājumu izveidei ierakstu dublikātu identificēšanai, kas izveidots kā vednis.

§ Ieraksti bez padotajiem – ļauj izveidot vaicājumu, kas galvenajā tabulā atrod tos ierakstus, kuriem nav pakārtotu ierakstu pakārtotajās tabulās.

Vaicājumu izveide sākas, dialoglodziņā "Datubāzes" atlasot kategoriju "Vaicājumi". Pēc tam, izmantojot pogu “Izveidot”, var izsaukt dialoglodziņu “Jauns pieprasījums”, kurā tiek atlasīta viena no pieprasījuma izveides iespējām (16.1. attēls).

16.1. attēls — dialoglodziņš Jauns vaicājums

Izmantojot vedni, izveidojiet vienkāršus vaicājumus

Vaicājumu vednis ļauj izveidot vaicājumu, pamatojoties uz vienu vai vairākām tabulām ar iespēju grupēt (galīgais vaicājums), bet nedefinējot atlases nosacījumus, tāpēc to sauc par “Vienkāršo vaicājumu”.


16.2. attēls — vaicājuma izveides vedņa logs

Pieprasījuma izveides process, izmantojot vedni, tiek samazināts līdz šādām darbībām:

§ Tiek palaists vienkāršu vaicājumu izveides vednis, piemēram, ar komandu - Izveidojiet pieprasījumu, izmantojot vedni

§ nolaižamajā sarakstā “Tabulas un vaicājumi” secīgi tiek atlasītas tabulas vai vaicājumi, no kuriem lietotājam nepieciešama informācija, un pēc tam obligātie lauki tiek pārvietoti no saraksta “Pieejamie lauki” uz sarakstu “Atlasītie lauki” (16.2. attēls). ).

§ Otrajā vedņa darbībā tiek noteikts pieprasījuma veids: detalizēts vai kopsavilkums. Ja ir atlasīts gala vaicājums, tad ir jādefinē galīgās darbības vaicājuma laukos: Maks., Minim., Summa, Vid. vai Skaits.

§ Trešajā darbībā norādiet pieprasījuma nosaukumu un vienu no darbības opcijām: atver datu apskates pieprasījumu vai mainīt pieprasījuma izkārtojumu, pirmajā gadījumā vaicājuma rezultāti tiks parādīti ekrānā, bet otrajā gadījumā vaicājums tiks atvērts noformēšanas režīmā.

Vaicājuma izveide noformējuma skatā

Konstruktors tiek reti izmantots, lai izveidotu vaicājumus, to biežāk izmanto kā līdzekli esošo modificēšanai. Vaicājumu veidotājs izmanto QBE (Vaicājums pēc piemēra) ļauj izveidot salīdzinoši sarežģītus vaicājumus, pamatojoties uz īpašu veidlapu, kuru aizpildot, protams, var ģenerēt pieprasījumu, šī metode ir zemāka par tiešu valodas konstrukciju izmantošanu SQL , bet prasa ievērojami mazāk zināšanu.

Ja nepieciešams, varat izmantot valodu SQL , lai to izdarītu, jums jāpārslēdzas uz režīmu SQL , pāreju veic vaicājumu noformētāja kontekstizvēlnes komanda – “Mode SQL".

Dizaina logs (16.3. attēls) ir sadalīts divās daļās. Augšējā daļa ir paredzēta tabulu izvietošanai, uz kuru pamata tiek ģenerēts vaicājums. Tabulu pievienošana vaicājumam tiek veikta, izmantojot rīkjoslas komandu - Rādīt tabulu.


16.3. attēls — vaicājumu noformētāja logs. Nosacījuma ievadīšanas piemērs.

Apakšējā daļa ir vaicājuma forma (QBE), sŠeit tiek veidots pats vaicājums. Pieprasījuma noformēšana in QBE tiek veikta, definējot pieprasījumā iesaistītās tabulas un laukus, izvades parametrus, šķirošanu, norādot atlases nosacījumus, aprēķinus utt.

Jaunu lauku iekļaušana vaicājumā tiek veikta, vienkārši ievelkot lauka nosaukumu no tabulas lauku sarakstiem (noformētāja augšējā daļa) uz vajadzīgo rindas “Lauks:” kolonnu, un tabulas nosaukums tiek noteikts automātiski.

Ja ir nepieciešams kārtot pēc kāda lauka šī lauka kolonnā, rekvizīts “Sorting” tiek iestatīts uz vērtību Augošā vai Dilstoša, atlasot nolaižamajā sarakstā.

Rinda – “Izvade uz ekrānu” kontrolē vaicājuma izpildes rezultātā iegūto datu rezultātu kopas lauku attēlojumu.

Jebkuram laukam varat norādīt atlases nosacījumu, tādējādi filtrējot datus.

Vaicājuma lauki pārmanto atbilstošo tabulas lauku rekvizītus, taču jūs varat mainīt lauku attēlojuma formātu. Lai mainītu lauku attēlojuma formātu, izmantojiet konteksta izvēlnes komandu - Īpašības.

Rindu skaits iekšā QBE var atšķirties atkarībā no veidojamā vaicājuma veida, piemēram, izmantojot grupēšanu, parādīsies jauna rinda - “Grupas darbība”.

Ierakstu atlases kritēriju iestatīšana

Atlases kritēriju noteikšana vaicājumos ir viens no galvenajiem uzdevumiem. Lai ģenerētu lietotājam nepieciešamo datu kopu, rindā “Atlases nosacījums:” QBE ir jādefinē atlases nosacījumu vērtības. Atlases apstākļos varat izmantot loģiskos operatorus (vai, un, ), salīdzināšanas operatori ( <, >, <=, >=, <>, = ), kā arī operatoriStarp, InUnPatīk.

Varat iestatīt vairākus atlases nosacījumus, kas savienoti ar loģisko operatoru vai ( vai) , kādam laukam vienā no diviem veidiem:

1. ievadiet visu nosacījumu vienā rindas “Atlases nosacījums:” šūnā. , izmantojot loģisko operatoru vai (vai).

2. rindas “Atlases nosacījums:” šūnā norādiet vienu nosacījuma daļu, bet rindas “Vai:” apakšējā šūnā ievadiet nosacījuma otro daļu.

Abas iespējas būs līdzvērtīgas, otrā iespēja ir parādīta 16.4. attēlā.Šī vaicājuma rezultāts būs to skolēnu saraksts, kuru atzīmes ir 4 vai 5.


16.4. attēls — loģiskā operatora izmantošana vai ( vai) .

Loģiskā darbība Un ( un) izmanto, ja abi nosacījumi ir jāizpilda vienlaikus, pirms ieraksts tiek iekļauts iegūtajā datu kopā. Piemēram, nosacījums >2 un<5 sniegs sarakstu ar skolēniem ar 3. un 4. klasēm.

Loģiskā darbībaunvar izmantot ne tikai vienam laukam, bet arī vairākiem laukiem, kuru nosacījumi ir jāizpilda vienlaikus, tomēr šajā gadījumā tas tiek izmantots netieši. 16.5. attēlā parādīta loģiskās operācijas netiešā izmantošanaun. Šāda pieprasījuma rezultātā tiks izsniegti visi Ufas pilsētā dzīvojošie studenti Un kuru vērtējums ir 5. Patiesībā, ja paskatās uz kodu SQL (SQL režīmā ), tad jūs varat redzēt šādu nosacījumu:

[Studenti].[Pilsēta] = “Ufa” un [Skolēni un klases].[Rezultāts] = “5”


16.5. attēls – loģiskās darbības izmantošanas piemērs Un ( un)

Operatori Un Un vai izmanto gan atsevišķi, gan kombinācijā. Jāatceras, ka nosacījumi, kas saistīti ar operatoru Un tiek izpildīti pirms operatora apvienotajiem nosacījumiem vai.

Operators B starplaiks ļauj norādīt vērtību diapazonu, piemēram, diapazonu no 10 līdz 20 var definēt šādi:

no 10 līdz 20

Operators es n ļauj izmantot vērtību sarakstu, kas norādīts kā arguments salīdzināšanai. Piemēram:

iekšā("pirmais otrais trešais")

Operators L tāpat noderīga, lai meklētu paraugus teksta laukos, un ļauj izmantot veidnes:

* - apzīmē jebkuru rakstzīmju skaitu;

Jebkura viena rakstzīme;

# — norāda, ka šajā pozīcijā ir jābūt skaitlim.

Piemēram, lai atlasītu uzvārdu, kas sākas ar burtu P un beidzas ar “ov”, varat ierakstīt šādu nosacījumu:

PatīkP*ss

Īpaša pieeja darbam ar datumu laukiem. Datuma vērtība atlases nosacījumos jāiekļauj # simbolos. Piemēram:

>#31.12.1996#

Ja nepieciešams izcelt konkrētas dienas, mēneša vai gada īslaicīgus notikumus, varat izmantot iebūvētās funkcijas MS Access:

§ diena(datums)– atgriež mēneša dienas vērtību diapazonā no 1 līdz 31;

§ Mēnesis(datums)– atgriež mēneša vērtību diapazonā no 1 līdz 12;

§ gads(datums)– atgriež gada vērtību diapazonā no 100 līdz 9999;

Pašreizējo datumu var noteikt, izmantojot funkciju Tagad (), lietots bez argumentiem.

Aprēķinātie lauki

Atlases vaicājumos varat definēt aprēķinātos laukus, kuru vērtības tiks iegūtas aritmētisko darbību rezultātā laukos, kas piedalās vaicājumā. Piemēram, ja nepieciešams noteikt piemaksas apmēru, kas vienāds ar 15% no algas, pieprasījuma veidlapas brīvās ailes rindā “Lauks” varat ierakstīt šādu izteiksmi:

Bonuss: [Alga]*0,15

Tādējādi tiks izveidots aprēķinātais lauks ar nosaukumu "Piemaksa", kurā būs aprēķina rezultāts katrai iegūtās datu kopas rindai.

Veidojot izteiksmes aprēķinātajiem laukiem, varat izmantot“Izteiksmes veidotājs”, ko var izsaukt, rīkjoslā nospiežot pogu “Build”.

Loga augšdaļā ir ievades apgabals, kurā var rediģēt izteiksmi. Izteiksmi var ievadīt manuāli, bet parasti tiek izmantotas aritmētiskās un loģiskās operatora pogas, kas atrodas zem ievades apgabala. Apakšējais, vidējais saraksts satur pieprasījumu iekļauto lauku sarakstu. Šos laukus var izmantot izteiksmē. Lauki tiek pievienoti, veicot dubultklikšķi ar peli vai noklikšķinot uz pogas “Ievietot”. pi lauki pieprasījumā iekļautajiem laukiem, kurus var izmantot izteiksmēs.

Pieņemsim, ka ir pieprasījums “Preču izsniegšana no noliktavas”, kurā ir lauki “KolOtp” (izdotais daudzums) un “Tsotp” (pārdošanas cena), ir jānosaka pārdošanas apjoms. Atveriet vaicājumu noformēšanas režīmā, dodieties uz tukšu kolonnu un palaidiet izteiksmju veidotājukomanda “Build”, konteksta izvēlne. Vidējā sarakstā atrodiet lauka nosaukumu “Tsotp” un veiciet dubultklikšķi uz tā. Nospiediet pogu “*” un atkārtojiet to pašu darbību secību laukam “ColOtp”. Iegūstam vajadzīgo izteiksmi (16.6. attēls).


16.6. attēls — izteiksmju veidotāja logs

Pirms izveidotās izteiksmes lietošanas ieteicams definēt aprēķinātā lauka nosaukumu, piemēram, "Summa":

Summa: [COTp]*[CopTp]

Pēc noklikšķināšanas uz "OK", iegūtais rezultāts tiks ievietots jaunā QBE formas kolonnā.

Kontroles jautājumi

1. Kas ir pieprasījums?

2. Kādas ir pieprasījuma funkcijas?

3. Kādas vaicājumu izveides metodes pastāv MS Access?

4. Kādas ir atšķirības starp dažādām vaicājuma metodēm?

5. Kā izveidot pieprasījumu, izmantojot vedni?

6. Kāda ir pieprasījuma veidlapa?

7. Kā radīt apstākļus ierakstu atlasei?

8. Nosauciet galvenos loģiskos operatorus.

9. Kas ir starp operators?

10. Kāds ir operatora mērķis Patīk?

11. Kā tiek izveidoti aprēķinātie lauki?

12. Vaicājumu veidotāja priekšrocības un trūkumi?


Uzdevumi patstāvīgam darbam

1. vingrinājums. Izveidojiet pieprasījumu “Nokavētas grāmatas” ar šādu aprakstu:

1. Logā “Datubāzes” atlasiet kategoriju “Vaicājumi”.

2. Atveriet vedņa logu ar komandu “Izveidot pieprasījumu, izmantojot vedni”.

3. Nolaižamajā sarakstā “Tabulas un vaicājumi” atlasiet tabulu “Grāmatas”. No saraksta “Pieejamie lauki” uz sarakstu “Atlasītie lauki” pārvietojiet laukus “Nosaukums” un “Autors”.

4. Nolaižamajā sarakstā “Tabulas un vaicājumi” atlasiet tabulu “Instances”. No saraksta “Pieejamie lauki” uz sarakstu “Atlasītie lauki” pārvietojiet laukus “Inventāra numurs” , "Atgriešanās datums" Un "Pieejamība".

5. Nolaižamajā sarakstā “Tabulas un vaicājumi” atlasiet tabulu “Lasītāji”. No saraksta “Pieejamie lauki” uz sarakstu “Atlasītie lauki” pārvietojiet laukus “Number_BW”, “Full name”, “Tel_home”, “Tel_work”. Noklikšķiniet uz pogas "Tālāk".

6. Šajā posmā atlasiet detalizētu pieprasījumu un noklikšķiniet uz pogas "Tālāk".

7. Norādiet pieprasījuma nosaukumu Nokavētās_grāmatas un noklikšķiniet uz pogas "Pabeigt".

8. Atvērsim pieprasījumu “Overdee_books” noformēšanas režīmā, nospiežot pogu “Dizains” (16.7. attēls).


9. Pieprasījuma veidlapā rindā “Atlases nosacījums” laukam “Return_date” norādām vērtību < Tagad().

10. Pieprasījuma veidlapas rindā "Atlases nosacījums" laukam "Pieejamība" iestatiet vērtību un noņemiet atzīmi no izvēles rūtiņas “Izvade uz ekrānu”.

11. Aizveram dizainera logu.

Tādējādi atlasītajiem ierakstiem vienlaikus jāatbilst diviem nosacījumiem: atgriešanas datumam jābūt mazākam par pašreizējo un grāmatai nedrīkst atrasties bibliotēkā.

2. uzdevums. Izveidojiet vienkāršu vaicājumu, lai iegūtu informāciju par to, kurām mācību priekšmetu jomām pieder grāmatas.

3. uzdevums. No pieprasījuma “Nokavētās_grāmatas” izņemiet informāciju par parādniekiem (Bibliotēkas kartes numurs, pilns vārds, mājas un darba tālruņa numuri)

4. uzdevums. Izveidojiet pieprasījumu, lai iegūtu viena autora grāmatu sarakstu.

Vaicājumi ir viens no Access DBVS izmantotajiem dokumentu veidiem, kas paredzēti tabulās saglabāto datu apstrādei.

Vaicājumus var izveidot režīmā dizainers un ar palīdzību meistari. Dizainers ļauj pašiem izveidot jebkura veida vaicājumus, taču šis režīms ir ieteicams lietotājiem, kuriem jau ir zināma pieredze vaicājumu veidošanā.

Pieprasījuma vednis vairākos posmos tiek apkopota informācija, kas nepieciešama, lai formulētu pieprasījumu, un pēc tam to automātiski sastāda atkarībā no lietotāja atbildēm uz uzdotajiem jautājumiem.

Izmantojot programmas Access vedņus, varat izveidot šāda veida vaicājumus:

§ Vienkāršs pieprasījums.

§ Šķērspieprasījums.

§ Ierakstu dublikāti.

§ Ieraksti bez padotajiem.

Lai izveidotu kādu no tiem, datu bāzes logā atlasiet objektu Queries un noklikšķiniet uz pogas Izveidot. Tiks atvērts logs New Query, kura izskats parādīts attēlā. 1.

1. attēls Stāvokļa datu bāzes logs un logs vaicājumu veidu atlasei

Vienkāršs pieprasījumsļauj izveidot, izmantojot Meistari pieprasījuma paraugs datus no noteiktiem tabulu vai vaicājumu laukiem, tas ir ērtākais iesācējiem. Kad to atlasāt, tiek palaists vednis, kura pirmajā logā (2.att.) sarakstā Tabulas un vaicājumi jāizvēlas tabula, piemēram, Skolotāju personāls, no tā pieejamo lauku saraksta atlasiet tos, kas ir jābūt iekļautam vaicājumā un jātulko katrs, nospiežot [> ]. Līdzīgi vaicājumam tiek pievienoti lauki no citām tās pašas datu bāzes tabulām.

Piezīme. Vaicājumu var veikt tikai tabulās vai tikai datu bāzes vaicājumos. Nav atļauts apvienot laukus no tabulas un vaicājumu vaicājumā.

2. attēls Pieprasījuma lauku atlase.

Šķērspieprasījums izskatās pēc galda , kurā tiek parādīti līdz trim sākotnējās tabulas laukiem (kolonnām), vienas no atlikušajām šūnām tiek pārveidotas jaunas kolonnas, un to krustpunktā tiek parādīta viena no lietotāja norādītajām vērtībām - Variance, Minimum, Maksimums, Vidējais, Novirze, Skaitlis, Pirmais, Pēdējais utt. Piemēram, pieprasījums attēlā. 4 ir 1. tabulas šķērsvaicājums attēlā. 3, kurā attāluma vērtības kļuva par kolonnu nosaukumiem:

Opcija Ierakstu dublikāti izveido vaicājumu, lai meklētu ierakstu (rindu) dublikātus vienā tabulā vai vaicājumā, tabulai attēlā. 3, ar dotajiem laukiem Distance un Fare, izskatās šādi (5. att.)

MS Access ļauj izveidot šādu vaicājumu tikai vienai tabulai vai vaicājumam (ne vairākām datu bāzes tabulām), un tajā ir jānorāda

3. attēls 1. tabula šķērsvaicājuma izveidei


4. attēls Tabulas šķērsvaicājums. 1

tikai tie lauki, kuros ir pilnīga vienlaicīga datu sakritība no ierakstiem (piemēram, lauks Transports nevar tikt iekļauts šajā pieprasījumā). Turklāt atpazīšanai varat iekļaut lauku, kas neatkārtojas (Pilsēta).

Ieraksti bez padotajiem vaicājums, lai atrastu ierakstus, kas neatbilst nevienam salīdzināmās tabulas ierakstam. Šis vaicājums tiek izmantots daudzām tabulu datu bāzēm.

6. attēls Galvenā tabula 1

Vaicājums bez padotajiem, lai salīdzinātu tabulas Att. 3 un att. 6 parādīs neatbilstošu līniju (7. attēls):

Šie vaicājumi ir pamats, lai izveidotu sarežģītākus vaicājumus, kas izmanto dizaina režīmu.



Dalīties