Katere metode ustvarjanja poizvedb poznate? Izdelava (formiranje) zahtevkov

Predpostavimo, da mora uporabnik videti vse dokumente v informacijski bazi na enem seznamu. Kljub protestom razvijalca zaradi negativnega vpliva na produktivnost tega razvoja je bilo pod pritiskom vodstva odločeno, da se takšno poročilo pripravi.

No, ker naloga zahteva izvedbo, jo naredimo!

Kako narediti

Takoj rezervirajmo, da bo poročilo prikazalo dve polji: »Povezava« in »Uspešno«. Vsi dokumenti imajo te standardne podatke. Ustvarili bomo zahtevo za pridobitev vseh dokumentov programsko, mimo zbirke metapodatkov »Metapodatki.Dokumenti«. Za vsak element zbirke bomo ustvarili poizvedbo za njegovo tabelo z uporabo podrobnosti »Povezava« in »Objavljeno«, nato pa njen rezultat združili z rezultatom podobne poizvedbe za drug dokument.

" IZBERI | Dok . Link AS Link,| Doc . Izvedeno KOT Izvedeno |OD| Dokument . ABCClassificationBuyers AS Doc. Link AS Link,| Doc . Izvedeno KOT Izvedeno |OD| Dokument . AdvanceReport AS Doc|. ZDRUŽI VSE |. IZBERI | Doc . Link AS Link,| Doc . Izvedeno KOT Izvedeno |OD| Dokument . Akreditiv prenesen AS Doc|. ZDRUŽI VSE | . . . "

V primeru, ko morate prikazati vse podrobnosti, ki so na voljo v vseh dokumentih, bo programsko generiranje zahteve videti veliko bolj zapleteno. Da ne bomo komplicirali primera, bomo prikazali le imenovane standardne podrobnosti.

Pri sestavljanju rezultata poročila bo treba generirano poizvedbo umestiti v glavni nabor podatkov. Preostala dejanja pri programskem ustvarjanju poročila bodo standardna.

Izvedba

Zdaj pa po vrsti. Ko ustvarimo zunanje poročilo, mu bomo dodali shemo sestave podatkov. Dodajmo naslednjo poizvedbo kot poizvedbo v nabor podatkov:

Na splošno v našem primeru ni pomembno, kakšna bo poizvedba za nabor podatkov. Dodali smo ga samo zato, da bi bilo priročno prilagoditi strukturo poročila v oblikovalcu, saj sicer na zavihku »Nastavitve« ne bi bilo polj. Končna nastavitev strukture poročila je naslednja:

Zdaj bomo v obdelovalniku dogodkov "Pri sestavljanju rezultata" onemogočili standardno obdelavo in poročilo ustvarili programsko. Programska koda za generiranje poročila o sistemu kontrole dostopa je predstavljena v naslednjem seznamu:

Postopek pri sestavljanju rezultata (DocumentResult, podatki za dešifriranje, standardna obdelava) Standardna obdelava = False ; // onemogoči standardni izpis poročila - izpisali ga bomo programsko Nastavitve = SettingsComposer. nastavitve; // Pridobite nastavitve poročila DecryptionData = newDataCompositionDecryptionData; // Ustvari podatke za dešifriranje LayoutLinker = newDataLayoutLayoutLinker; // Ustvari graditelja postavitve // Inicializiraj postavitev postavitve z uporabo sheme postavitve podatkov // in predhodno ustvarjene nastavitve in podatki za dešifriranje" ) ; Layout Layout = Layout Linker. Izvedi (Shema postavitve podatkov, nastavitve, podatki za dešifriranje) ; // Sestavite rezultat CompositionProcessor = newDataCompositionProcessor; ProcessorLayout. Initialize(LayoutLayout, , DecryptionData) ; DocumentResult. Počisti(); // Izpis rezultata v dokument s preglednico OutputProcessor = New OutputProcessorDataCompositionResultInTabularDocument; Izhodni procesor. SetDocument(DocumentResult) ; Izhodni procesor. Izhod (LayoutProcessor) ; Konec postopka

Vse je standardno. Zdaj pa glavno. Preden sestavimo postavitev, moramo zamenjati besedilo poizvedbe za nabor podatkov. Kot je omenjeno zgoraj, bo koda zahteve ustvarjena pri prečkanju zbirke metapodatkov dokumenta. Naslednji seznam prikazuje programsko kodo za dinamično generiranje besedila zahteve:

// .................................................................. DataLayoutSchema = GetLayout(" Shema postavitve MainData" ) ; // Pridobite shemo postavitve podatkov Shema sestave podatkov. Nabori podatkov. Nabor podatkov1. Zahteva = " " ; // Počisti poizvedbo v naboru podatkov DocumentsConfigurations = Metapodatki. Dokumentacija; // Pridobite zbirko metapodatkov dokumentaŠtevilo dokumentov = konfiguracijski dokumenti. Količina() ; // Določite skupno število dokumentov v konfiguraciji Sch = 1; RequestText = " " ; Za vsak dokument iz DocumentsConfiguration Loop Besedilo poizvedbe = Besedilo poizvedbe + // Za vsak dokument oblikujemo besedilo poizvedbe za njegovo tabelo" IZBERI | Dok . Link AS Link,| Doc . Izvedeno KOT Izvedeno |OD| Dokument . " + Ime dokumenta + " AS Doc " ; // V besedilo zahteve moramo samo nadomestiti ime tabele dokumenta v drevesu metapodatkovČe Račun Številka Dokumentov Potem // Če dokument ni zadnji v zbirki, dodajte navodilo "COMBINE ALL" za RequestText = RequestText + // združevanje rezultatov poizvedb za dokumente v en sam seznam" |ZDRUŽI VSE | " ; EndIf ; Sch = Sch + 1; Končni cikel ; Shema sestave podatkov. Nabori podatkov. Nabor podatkov1. Zahteva = Besedilo zahteve; // Postavite novo besedilo zahteve v nabor podatkov LayoutLayout = LayoutLocker. Izvedi (shema postavitve podatkov, nastavitve, podatki za dešifriranje) ; // Sestavite postavitev // ....................................................................

Poročilo je pripravljeno za testiranje.

Kakšen je rezultat?

Zaženimo poročilo v načinu 1C:Enterprise. Poročilo bo uspešno izvedeno in videli bomo seznam vseh dokumentov v informacijski bazi.

Z vsemi opravljenimi dejanji ima poročilo vse standardne zmožnosti sistema za nadzor dostopa: dekodiranje, nastavitev strukture poročila, izbire, pogojno oblikovanje itd.

Poizvedba po tabelah vseh dokumentov ni najbolj optimalna rešitev za ogled celotnega seznama dokumentov v informacijski bazi, saj ustvari razmeroma »težko« poizvedbo DBMS. Najbolj pravilno bi bilo uporabiti konfiguracijski objekt »Dnevnik dokumentov«, vendar to presega obseg tega članka.

Če morate izbrati določene podatke iz enega ali več virov, lahko uporabite izbirno poizvedbo. Poizvedba za vleko vam omogoča, da dobite samo informacije, ki jih potrebujete, in vam pomaga združiti informacije iz več virov. Tabele in druge podobne poizvedbe lahko uporabite kot vire podatkov za izbirne poizvedbe. Ta razdelek na kratko pregleda izbrane poizvedbe in nudi navodila po korakih za njihovo ustvarjanje s čarovnikom za poizvedbe ali oblikovalcem.

Če želite izvedeti več o tem, kako delujejo poizvedbe z uporabo baze podatkov Northwind kot primer, si oglejte članek Razumevanje poizvedb.

V tem članku

Splošne informacije

Kadar obstaja potreba po nekaterih podatkih, se redko zgodi, da je potrebna vsa vsebina ene tabele. Na primer, če potrebujete podatke iz tabele s stiki, gre običajno za določen vnos ali samo telefonsko številko. Včasih je treba združiti podatke iz več tabel hkrati, na primer združiti podatke o strankah s podatki o strankah. Izbirne poizvedbe se uporabljajo za izbiro zahtevanih podatkov.

Izbirna poizvedba je objekt baze podatkov, ki prikazuje informacije v pogledu tabele. Poizvedba ne shranjuje podatkov, vsebuje pa podatke, ki so shranjeni v tabelah. Poizvedba lahko prikaže podatke iz ene ali več tabel, iz drugih poizvedb ali kombinacijo obojega.

Prednosti poizvedb

Zahteva vam omogoča izvajanje naslednjih nalog:

    Oglejte si vrednosti samo iz polj, ki vas zanimajo. Ko odprete tabelo, se prikažejo vsa polja. Shranite lahko poizvedbo, ki vrne le nekaj od njih.

    Opomba: Poizvedba samo vrne podatke, vendar jih ne shrani. Ko shranite zahtevo, ne shranite kopije povezanih podatkov.

    Združite podatke iz več virov. V tabeli lahko običajno vidite le informacije, ki so v njej shranjene. Poizvedba vam omogoča, da izberete polja iz različnih virov in določite, kako natančno želite združiti informacije.

    Uporabite izraze kot polja. Polje je lahko na primer funkcija, ki vrne datum, s funkcijo oblikovanja pa lahko nadzorujete obliko vrednosti iz polj v rezultatih poizvedbe.

    Oglejte si objave, ki izpolnjujejo merila, ki jih določite. Ko odprete tabelo, se prikažejo vsi zapisi. Shranite lahko poizvedbo, ki vrne le nekaj od njih.

Osnovni koraki za ustvarjanje izbirne poizvedbe

Izbirno poizvedbo lahko ustvarite s čarovnikom ali oblikovalcem poizvedb. Nekateri elementi niso na voljo v čarovniku, vendar jih je mogoče dodati pozneje iz oblikovalca. Čeprav gre za različne metode, so osnovni koraki podobni.

    Izberite tabele ali poizvedbe, ki jih želite uporabiti kot vire podatkov.

    Določite polja iz podatkovnih virov, ki jih želite vključiti v rezultate.

    Nastavite lahko tudi pogoje, ki omejujejo nabor vrnjenih zahtev za zapise.

Ko ustvarite izbirno poizvedbo, jo zaženite, da si ogledate rezultate. Če želite zagnati poizvedbo za izbiro, jo odprite v pogledu podatkovnega lista. Ko shranite poizvedbo, jo lahko uporabite pozneje (na primer kot vir podatkov za obrazec, poročilo ali drugo poizvedbo).

Ustvarite izbirno poizvedbo s čarovnikom za poizvedbe

Čarovnik vam omogoča samodejno ustvarjanje izbirne zahteve. Ko uporabljate čarovnika, nimate popolnega nadzora nad vsemi podrobnostmi postopka, vendar je zahteva običajno na ta način ustvarjena hitreje. Poleg tega čarovnik včasih zazna preproste napake v zahtevi in ​​vas pozove, da izberete drugo dejanje.

Priprava

Če uporabljate polja iz virov podatkov, ki niso povezani, vas čarovnik za poizvedbe pozove, da med njimi ustvarite relacije. Odprl se bo okno odnosa, če pa naredite kakršne koli spremembe, boste morali znova zagnati čarovnika. Zato je smiselno, da pred zagonom čarovnika takoj ustvarite vse relacije, ki jih bo zahtevala vaša poizvedba.

Za več informacij o ustvarjanju relacij med tabelami glejte Vodnik za relacije tabel.

Uporaba čarovnika za poizvedbe

    Na zavihku Ustvarjanje v skupini Zahteve kliknite gumb Čarovnik za poizvedbe.

    V pogovornem oknu Nova zahteva izberite predmet Enostavna zahteva in pritisnite gumb v redu.

    Zdaj dodajte polja. Dodate lahko do 255 polj iz 32 tabel ali poizvedb.

    Za vsako polje naredite naslednja dva koraka:


  1. Če niste dodali nobenega številskega polja (polja, ki vsebujejo številske podatke), preskočite na 9. korak. Ko dodate številsko polje, boste morali izbrati, ali bo poizvedba vrnila podrobnosti ali vsote.

    Naredite nekaj od naslednjega:


  2. V pogovornem oknu Rezultati določite zahtevana polja in vrste podatkov povzetka. Na seznamu bodo na voljo samo številska polja.

    Za vsako številsko polje izberite eno od naslednjih možnosti:

    1. vsota- poizvedba bo vrnila vsoto vseh vrednosti, navedenih v polju.

      Povpr- poizvedba bo vrnila povprečno vrednost polja.

      Min- zahteva bo vrnila najmanjšo vrednost, navedeno v polju.

      maks- zahteva bo vrnila največjo vrednost, navedeno v polju.


  3. Če želite, da rezultati poizvedbe prikažejo število zapisov v izvoru podatkov, izberite ustrezno potrditveno polje Preštejte število zapisov v (ime vira podatkov).

    Kliknite v redu da zaprete pogovorno okno Rezultati.

    Če svoji poizvedbi niste dodali nobenega polja z datumom in uro, nadaljujte s korakom 9. Če ste svoji poizvedbi dodali polja z datumom in uro, vas čarovnik za poizvedbe pozove, da izberete, kako združiti datumske vrednosti. Recimo, da ste v poizvedbo dodali številsko polje ("Cena") ter polje z datumom in uro ("Transaction_Time"), nato pa v pogovornem oknu Rezultati označil, da želite prikazati povprečno vrednost za številsko polje "Cena". Ker ste dodali polje za datum in čas, lahko izračunate vsote za vsako edinstveno vrednost datuma in časa, na primer vsak mesec, četrtletje ali leto.


    Izberite obdobje, ki ga želite uporabiti za združevanje datumskih in časovnih vrednosti, in nato kliknite Nadalje.

    Na zadnji strani čarovnika vnesite ime zahteve, označite, ali jo želite odpreti ali urediti, in kliknite pripravljena.

    Če se odločite odpreti poizvedbo, bodo prikazani izbrani podatki v pogledu podatkovnega lista. Če se odločite urediti poizvedbo, se odpre v pogledu načrta.

Ustvarjanje poizvedbe v pogledu načrta

V pogledu načrta lahko ročno ustvarite izbirno poizvedbo. V tem načinu imate več nadzora nad postopkom ustvarjanja poizvedbe, vendar je lažje delati napake in traja več časa kot v čarovniku.

Ustvari zahtevo

1. korak: dodajte vire podatkov

V načinu načrtovanja se viri podatkov in polja dodajajo na različnih stopnjah, ker se za dodajanje virov uporablja pogovorno okno Dodajanje tabele. Vendar pa lahko kadar koli pozneje dodate dodatne vire.

Samodejna povezava

Če so med viri podatkov, ki jih dodate, že definirana razmerja, so samodejno dodana v poizvedbo kot povezave. Spoji določajo, kako naj bodo podatki iz povezanih virov združeni. Access tudi samodejno ustvari spoj med dvema tabelama, če vsebujeta polja z združljivimi tipi podatkov in je eno od njih primarni ključ.

Prilagodite lahko povezave, ki jih doda Access. Access izbere vrsto povezave, ki jo želite ustvariti, na podlagi razmerja, ki se ujema z njim. Če Access ustvari spoj, vendar zanj nima definiranega odnosa, Access doda notranji spoj.

Ponovna uporaba enega vira podatkov

V nekaterih primerih lahko združite dve kopiji iste tabele ali poizvedbe, kar se imenuje samozdruževanje, in združite zapise iz iste tabele, če so v združenih poljih ujemajoče se vrednosti. Na primer, recimo, da imate tabelo Zaposleni, v kateri polje »Poroča« za zapis vsakega zaposlenega prikazuje njihov ID upravitelja namesto njihovega imena. Za prikaz imena vodje v zapisu vsakega zaposlenega lahko uporabite samozdruževanje.

Ko vir podatkov dodate drugič, bo Access ime drugega primerka končal z »_1«. Če na primer znova dodate tabelo Zaposleni, se bo njen drugi primerek imenoval Zaposleni_1.

2. korak: povežite povezane vire podatkov

Če imajo viri podatkov, dodani v poizvedbo, že relacije, Access samodejno ustvari notranjo združitev za vsako relacijo. Če je uporabljena celovitost podatkov, Access prikaže tudi »1« nad združevalno vrstico, da pokaže, katera tabela je na strani »ena« elementa razmerja ena proti mnogo in simbol neskončnosti ( ), da pokažete, katera tabela je na strani "mnogo".

Če ste poizvedbi dodali druge poizvedbe in med njimi niste ustvarili relacij, Access ne ustvari samodejno združitev med njimi ali med poizvedbami in tabelami, ki niso povezane. Če Access ne ustvari povezav, ko dodate vire podatkov, jih morate običajno ustvariti ročno. Viri podatkov, ki niso povezani z drugimi viri, lahko povzročijo težave pri rezultatih poizvedbe.

Prav tako lahko spremenite vrsto združevanja iz notranjega združevanja v zunanje združevanje, tako da poizvedba vključuje več zapisov.

Dodajanje povezave

Spreminjanje povezave

Ko so povezave ustvarjene, lahko dodate izhodna polja: ta bodo vsebovala podatke, ki jih želite prikazati v rezultatih.

3. korak: Dodajte prikazna polja

Polje lahko enostavno dodate iz katerega koli vira podatkov, ki ste ga dodali v 1. koraku.

    Če želite to narediti, povlecite polje iz vira v zgornjem delu okna načrtovalnika poizvedbe navzdol v vrstico Polje obrazec za zahtevo (na dnu okna oblikovalca).

    Ko na ta način dodate polje, Access samodejno izpolni vrstico Tabela v tabeli oblikovalca glede na vir podatkov polja.

    Nasvet:Če želite hitro dodati vsa polja v vrstico Polje obrazca za poizvedbo, dvokliknite ime tabele ali poizvedbe v zgornjem podoknu, da izberete vsa polja v njej, nato pa jih vse hkrati povlecite navzdol na obrazec.

Uporaba izraza kot izhodnega polja

Izraz lahko uporabite kot izhodno polje za izračune ali za ustvarjanje rezultatov poizvedbe s funkcijo. Izrazi lahko uporabljajo podatke iz katerega koli vira poizvedbe, pa tudi funkcije, kot sta Format ali InStr, konstante in aritmetični operaterji.

4. korak: Določite pogoje

Ni obvezno.

S pogoji lahko omejite število zapisov, ki jih vrne poizvedba, in izberete samo tiste, katerih vrednosti polja izpolnjujejo podana merila.

Definiranje pogojev za prikazno polje

Pogoji za več polj

Pogoje lahko nastavite za več polj. V tem primeru morajo biti izpolnjeni vsi pogoji v ustrezni vrstici, da se vnos vključi v rezultate Izbirni pogoji oz oz.

Nastavitev pogojev na podlagi polja, ki ni vključeno v izhod

Poizvedbi lahko dodate polje, vendar njegovih vrednosti ne vključite v prikazane rezultate. To vam omogoča, da z vsebino polja omejite rezultate, vendar jih ne prikažete.

    Dodajte polje v poizvedovalno tabelo.

    Počistite polje za to v vrstici Prikaži.

    Nastavite pogoje kot za izhodno polje.

5. korak: Izračunajte vsote

Ta korak ni obvezen.

Izračunate lahko tudi vsote za številske podatke. Morda si želite na primer ogledati povprečno ceno ali skupno prodajo.

Za izračun skupnih vrednosti poizvedba uporablja niz Skupaj. Privzeti niz Skupaj se ne prikaže v načinu oblikovanja.

Če si želite ogledati rezultate poizvedbe, na zavihku Oblikovanje kliknite Izvedi. Access prikaže rezultate poizvedbe v pogledu podatkovnega lista.

Če se želite vrniti v način načrtovanja in spremeniti poizvedbo, kliknite domov > Pogled > Konstruktor.

Prilagodite polja, izraze ali pogoje in znova zaženite poizvedbo, dokler ne vrne želenih podatkov.

Ustvarite izbirno poizvedbo v Accessovem spletnem programu

Če želite, da so rezultati poizvedbe na voljo v brskalniku, morate na zaslon za izbiro tabele dodati pogled poizvedbe. Če želite dodati nov pogled v glavo na zaslonu za izbiro tabele, sledite tem korakom:


Od Microsofta uporabnikom ponuja veliko možnosti za ustvarjanje in delo z zbirkami podatkov. Dandanes se baze podatkov zelo pogosto uporabljajo na vseh področjih in področjih. Na splošno lahko rečemo, da brez njih zdaj ne moremo. V zvezi s tem je zelo pomembno, da lahko delate z Accessovimi tabelami. Glavni element interakcije uporabnika z bazo podatkov je poizvedba. V tem članku si bomo podrobneje ogledali, kako ustvariti poizvedbo v Accessu. Začnimo. Pojdi!

Najprej ugotovimo, kaj je zahteva. To je element baze podatkov, ki se uporablja za izbiro želenih informacij iz tabele. Na voljo so v dveh vrstah:

  • Za vzorčenje (omogočajo prejemanje podatkov in izvajanje operacij na njih);
  • Za spreminjanje (omogoča dodajanje, brisanje in spreminjanje vrednosti).

Zdaj pa preidimo na prakso. Pojdite na zavihek »Ustvari« in kliknite gumb »Gradnik poizvedb«. V oknu, ki se odpre, izberite eno ali več tabel, iz katerih želite izbrati podatke. S klikom na gumb "Zaženi" boste prejeli vse podatke iz tabel, ki ste jih izbrali. Za natančnejši izbor pojdite na zavihek “Designer” in vnesite želeno besedo ali številko v polje “Pogoj izbire:”. Na primer, želite dobiti seznam vseh zaposlenih, rojenih leta 1980. Če želite to narediti, vnesite 1980 v stolpec »Datum rojstva« v vrstici »Pogoj izbire:« in kliknite gumb »Zaženi«. Program vam bo takoj dal rezultat. Za udobje lahko shranite ustvarjeno zahtevo za uporabo v prihodnosti. S kombinacijo tipk Ctrl+S vnesite ime v ustrezno polje in kliknite »V redu«.

Z določitvijo pogoja za izbor podatkov dobimo želeni vzorec

Če želite prešteti vrednosti v stolpcu, lahko uporabite tako imenovane skupinske operacije. Če želite to narediti, na zavihku »Oblikovanje« kliknite gumb »Rezultati«. V vrstici »Grouping«, ki se pojavi, izberite funkcijo »Count«, ki vam omogoča seštevanje vseh neničelnih vrednosti. Če želite preprečiti, da bi bila beseda »Štetje« prikazana v naslovu stolpca, v vrstico »Polje« vnesite ime pred prej navedenim. Shranjevanje poteka na enak način s kombinacijo Ctrl+S.

Dostop šteje celice, ki niso prazne

Sedaj pa ustvarimo parametrično poizvedbo. Omogoča izbiro na podlagi vnesenega parametra. Na primer do določenega datuma. Ko odprete želeno zbirko podatkov, v ustrezni stolpec vpišite (brez narekovajev) »[Navedite datum]«. Oglati oklepaji so obvezni. V oknu, ki se prikaže, vnesite želeni datum. Po tem bo program samodejno izbral glede na datum, ki ste ga vnesli. Lahko postavite ">" (več kot) in "<» (меньше) чтобы отобразить элементы раньше либо позже заданной даты. Например, список сотрудников, которые сдали отчёты до 01.07.

Kako ustvariti navzkrižno sklicevanje? Samo poiščite gumb »Križ« v orodni vrstici in kliknite nanj. Po tem v elementu »Crosstab« v prvi celici izberite »Naslovi vrstic«, v drugi »Naslovi stolpcev« in v tretji »Vrednost«. Nato lahko preštejete vrednosti z uporabo zgoraj omenjene funkcije »Count«. Upoštevajte, da če v drugi celici določite »Naslovi vrstic«, enako kot v prvi, namesto »Naslovi stolpcev«, nič ne bo delovalo. Bodite prepričani, da to upoštevate.

V bazi podatkov naredimo navzkrižno poizvedovanje

Lahko tudi zahtevate izdelavo tabele. Kako se to naredi? Preprosto odprite zbirke podatkov, s katerimi delate, nato izpolnite celico »Pogoj izbire« in kliknite gumb »Ustvari tabelo«. Ne pozabite klikniti »Zaženi«. Na podlagi parametrov, ki jih določite, bo Microsoft Access zgradil novo tabelo. Na primer, seznam vseh zaposlenih z njihovimi kontaktnimi podatki po poklicu "Računovodja".

Pri shranjevanju morate določiti ime in lokacijo nove tabele

Kot lahko vidite, vam Microsoftov Access omogoča veliko stvari. Če boste znali poizvedovati v Accessu, se boste počutili veliko bolj samozavestni pri delu z zbirkami podatkov. V komentarje napišite, ali je bil ta članek koristen za vas, in postavite vprašanja o obravnavani temi.

Predavanje 16. Kreiranje poizvedb z orodji GOSPADostop 2000

Poizvedbe so edino sredstvo za pridobivanje informacij, ki jih uporabniki potrebujejo, pa tudi sredstvo za upravljanje podatkov. Na podlagi logike relacijskih operacij vam poizvedbe omogočajo, da:

§ povezovanje podatkov iz več tabel;

§ prikaži samo zahtevana polja;

§ oblikovanje kompleksnih kriterijev za izbor zapisov;

§ izračuni z uporabo podatkov iz izvornih tabel;

§ združevanje informacij po katerem koli kriteriju;

§ spreminjanje podatkov v tabelah.

MS Access ponuja priročne mehanizme za hitro ustvarjanje poizvedb brez posebne priprave, medtem ko drugi DBMS pogosto zahtevajo poznavanje jezikovnih orodij za ustvarjanje poizvedb. Za ustvarjanje poizvedb MS Access ponuja naslednja orodja:

§ Graditelj poizvedb – orodje za izdelavo poizvedb z uporabo QBE (Query by example), ki zahteva minimalno znanje. Zdravilo, slabše od režima SQL.

§ Enostavna zahteva – omogoča hitro ustvarjanje poizvedb na podlagi ene ali več tabel, vključno s poizvedbami povzetkov.

§ Navzkrižna zahteva – omogoča ustvarjanje končnih tabel na podlagi rezultatov izračuna, pridobljenih z analizo skupine tabel;

§ Poizvedba za podvojene zapise – orodje za izdelavo poizvedb za identifikacijo podvojenih zapisov, zasnovano kot čarovnik.

§ Zapisi brez podrejenih – omogoča ustvarjanje poizvedbe, ki najde tiste zapise v glavni tabeli, ki nimajo podrejenih zapisov v podrejenih tabelah.

Ustvarjanje poizvedb se začne z izbiro kategorije »Poizvedbe« v pogovornem oknu »Baze podatkov«. Nato lahko z gumbom »Ustvari« prikličemo pogovorno okno »Nova zahteva«, v katerem izberemo eno od možnosti za kreiranje zahteve (slika 16.1).

Slika 16.1 – Pogovorno okno Nova poizvedba

Ustvarite preproste poizvedbe s čarovnikom

Čarovnik za poizvedbe vam omogoča, da ustvarite poizvedbo na podlagi ene ali več tabel z možnostjo združevanja (končna poizvedba), vendar brez definiranja izbirnih pogojev, zato se imenuje "preprosta poizvedba".


Slika 16.2 - Okno čarovnika za ustvarjanje poizvedbe

Postopek ustvarjanja zahteve s čarovnikom je zmanjšan na naslednje korake:

§ Zažene se čarovnik za ustvarjanje preprostih poizvedb, na primer z ukazom - Ustvarite zahtevo s pomočjo čarovnika

§ na spustnem seznamu »Tabele in poizvedbe« se zaporedno izberejo tabele ali poizvedbe, iz katerih uporabnik potrebuje informacije, nato pa se zahtevana polja premaknejo s seznama »Razpoložljiva polja« na seznam »Izbrana polja« (slika 16.2). ).

§ V drugem koraku čarovnika se določi vrsta zahteve: podrobna ali povzetek. Če je izbrana končna poizvedba, je potrebno definirati končne operacije na poizvedbenih poljih: Max, Min, Sum, Avg ali Count.

§ V tretjem koraku določite ime zahteve in eno od možnosti dejanja: odprite zahtevo za ogled podatkov oz spremenite postavitev zahteve, v prvem primeru bodo rezultati poizvedbe prikazani na zaslonu, v drugem pa se bo poizvedba odprla v načinu načrtovanja.

Ustvarjanje poizvedbe v pogledu načrta

Konstruktor se redko uporablja za ustvarjanje poizvedb; pogosteje se uporablja kot sredstvo za spreminjanje obstoječih. Graditelj poizvedb uporablja QBE (Poizvedba po primeru) vam omogoča ustvarjanje relativno zapletenih poizvedb na podlagi posebnega obrazca, izpolnjevanje katerega vam omogoča ustvarjanje zahteve, seveda je ta metoda slabša od neposredne uporabe jezikovnih konstruktov SQL , a zahteva bistveno manj znanja.

Če je potrebno, lahko uporabite jezik SQL , za to morate preklopiti na način SQL , se prehod izvede z ukazom kontekstnega menija načrtovalca poizvedb – »Način SQL".

Okno oblikovalca (slika 16.3) je razdeljeno na dva dela. Zgornji del je namenjen lokaciji tabel, na podlagi katerih se generira poizvedba. Dodajanje tabel v poizvedbo se izvede z ukazom orodne vrstice - Prikaži tabelo.


Slika 16.3 – Okno načrtovalnika poizvedb. Primer vnosa pogoja.

Spodnji del je obrazec za poizvedbo (QBE), sTukaj je zgrajena sama poizvedba. Oblikovanje zahteve v QBE izvedemo z definiranjem tabel in polj, ki sodelujejo v zahtevi, izhodnih parametrov, razvrščanja, določanja izbirnih pogojev, izračunov itd.

Vključitev novih polj v poizvedbo izvedemo tako, da preprosto povlečemo ime polja iz seznamov polj tabele (zgornji del oblikovalca) v zahtevani stolpec vrstice “Polje:” in ime tabele se določi samodejno.

Če je treba razvrstiti po katerem koli polju v stolpcu tega polja, se lastnost »Razvrščanje« nastavi na vrednost Naraščajoče oz Sestopanje, tako da izberete s spustnega seznama.

Vrstica – »Izhod na zaslon« nadzira prikaz polj v nizu rezultatov podatkov, pridobljenih kot rezultat izvajanja poizvedbe.

Za katero koli polje lahko določite izbirni pogoj in s tem filtrirate podatke.

Poizvedbena polja podedujejo lastnosti, nastavljene za ustrezna polja tabele, vendar lahko spremenite obliko prikaza polj. Če želite spremeniti obliko prikaza polj, uporabite ukaz kontekstnega menija - Lastnosti.

Število vrstic v QBE se lahko razlikujejo glede na vrsto ustvarjene poizvedbe, na primer, ko uporabljate združevanje, se prikaže nova vrstica - »Operacija skupine«.

Nastavitev meril za izbor zapisov

Določitev izbirnih kriterijev v poizvedbah je ena glavnih nalog. Za generiranje nabora podatkov, ki ga zahteva uporabnik, je treba določiti vrednosti izbirnih pogojev v vrstici "Izbirni pogoj:" QBE. V izbirnih pogojih lahko uporabite logične operatorje (oz, in, ne), operatorji primerjave ( <, >, <=, >=, <>, = ), kot tudi operaterjiMed, notriinVšeč mi je.

Nastavite lahko več izbirnih pogojev, ki jih povezuje logični operator ali ( oz) , za neko polje na enega od dveh načinov:

1. vnesite celoten pogoj v eno celico vrstice »Pogoj izbire:« , z uporabo logičnega operatorja oz (oz).

2. označite en del pogoja v celici vrstice »Pogoj izbire:«, drugi del pogoja pa vnesite v spodnjo celico vrstice »Ali:«.

Obe možnosti bosta enakovredni, druga možnost je prikazana na sliki 16.4.Rezultat te poizvedbe bo seznam študentov z ocenami 4 ali 5.


Slika 16.4 - Uporaba logičnega operatorja ali ( oz) .

Logično delovanje In ( in) se uporablja, ko morata biti hkrati izpolnjena oba pogoja, preden je zapis vključen v nastali niz podatkov. Na primer pogoj > 2 in<5 bo podal seznam učencev z ocenami 3 in 4.

Logično delovanjeinse lahko uporablja ne le za eno polje, ampak tudi za več področij, pri katerih morajo biti pogoji izpolnjeni hkrati, vendar se v tem primeru uporablja implicitno. Slika 16.5 prikazuje implicitno uporabo logične operacijein. Kot rezultat takšne zahteve bodo vsi študenti, ki živijo v mestu Ufa, izdani in z oceno 5. Pravzaprav, če pogledate kodo SQL (v načinu SQL ), potem lahko vidite naslednje stanje:

[Študenti]..[Mesto] = "Ufa" in [Študenti in razredi].[Ocena] = “5”


Slika 16.5 – Primer uporabe logične operacije In ( in)

Operaterji in in oz uporabljajo tako ločeno kot v kombinaciji. Ne smemo pozabiti, da so pogoji, povezani z operaterjem in se izvedejo pred pogoji, ki jih združi operater oz.

Operater B med vam omogoča, da določite obseg vrednosti, na primer obseg od 10 do 20 lahko definirate na naslednji način:

med 10 in 20

Operater jaz n omogoča uporabo seznama vrednosti, navedenih kot argument za primerjavo. Na primer:

v("prvi drugi tretji")

Operater L ike uporaben za iskanje vzorcev v besedilnih poljih in vam omogoča uporabo predlog:

* - označuje poljubno število znakov;

Vsak posamezen znak;

# - označuje, da mora ta položaj vsebovati številko.

Na primer, če želite izbrati priimek, ki se začne s črko P in konča z "ov", lahko napišete naslednji pogoj:

Všeč mi jeP*ss

Poseben pristop k delu z datumskimi polji. Vrednost datuma v pogojih izbire mora biti obdana s simboli #. Na primer:

>#31.12.1996#

Če želite poudariti začasne dogodke določenega dne, meseca ali leta, lahko uporabite vgrajene funkcije MS Access:

§ Dan(datum)– vrne vrednost dneva v mesecu v območju od 1 do 31;

§ mesec(datum)– vrne vrednost meseca v območju od 1 do 12;

§ leto(datum)– vrne vrednost leta v območju od 100 do 9999;

Trenutni datum lahko določite s funkcijo zdaj (), uporabljeno brez argumentov.

Izračunana polja

V izbirnih poizvedbah lahko definirate izračunana polja, katerih vrednosti bodo pridobljene kot rezultat vseh aritmetičnih operacij na poljih, ki sodelujejo v poizvedbi. Na primer, če morate določiti znesek bonusa v višini 15% plače, lahko v vrstico »Polje« v brezplačnem stolpcu obrazca za zahtevo napišete naslednji izraz:

Bonus: [Plača]*0,15

To bo ustvarilo izračunano polje z imenom "Doplačilo", ki vsebuje rezultat izračuna za vsako vrstico dobljenega nabora podatkov.

Ko ustvarjate izraze za izračunana polja, lahko uporabite»Izdelovalnik izrazov«, ki ga lahko prikličete z gumbom »Build« v orodni vrstici.

Na vrhu okna je vnosno območje, v katerem lahko urejate izraz. Izraz je mogoče vnesti ročno, vendar se običajno uporabljajo gumbi za aritmetični in logični operater, ki se nahajajo pod območjem za vnos. Spodnji srednji seznam vsebuje seznam polj, vključenih v zahtevo; ta polja je mogoče uporabiti v izrazu. Polja dodajamo z dvojnim klikom miške ali klikom na gumb »Vstavi«. pi polja polj, vključenih v zahtevo, ki jih je mogoče uporabiti v izrazih.

Recimo, da obstaja zahteva "Izdaja blaga iz skladišča", ki vsebuje polji "KolOtp" (izdana količina) in "Tsotp" (prodajna cena), morate določiti znesek prodaje. Odprite poizvedbo v načinu načrtovanja, pojdite na prazen stolpec in zaženite graditelj izrazovukaz “Build”, kontekstni meni. Na srednjem seznamu poiščite ime polja »Tsotp« in dvokliknite nanj. Pritisnite gumb "*" in ponovite isto zaporedje dejanj za polje "ColOtp". Dobimo zahtevani izraz (slika 16.6).


Slika 16.6 – Okno graditelja izrazov

Preden uporabite izraz, ki ste ga ustvarili, je priporočljivo, da določite ime za izračunano polje, na primer »Vsota«:

Znesek: [COTp]*[CopTp]

Po kliku na "V redu" bo dobljeni rezultat postavljen v nov stolpec obrazca QBE.

Kontrolna vprašanja

1. Kaj je zahteva?

2. Kakšne so funkcije zahteve?

3. Katere metode ustvarjanja poizvedb obstajajo v MS Access?

4. Kakšne so razlike med različnimi metodami poizvedb?

5. Kako ustvariti zahtevo s pomočjo čarovnika?

6. Kaj je obrazec za zahtevo?

7. Kako ustvariti pogoje za izbor rekordov?

8. Poimenujte osnovne logične operatorje.

9. Kaj je operater b med?

10. Kakšen je namen operaterja všeč?

11. Kako so ustvarjena izračunana polja?

12. Prednosti in slabosti graditelja poizvedb?


Naloge za samostojno delo

vaja 1. Ustvarite zahtevo »Zamujene knjige« z naslednjim opisom:

1. V oknu »Baze podatkov« izberite kategorijo »Poizvedbe«.

2. Odprite okno čarovnika z ukazom »Ustvari zahtevo s pomočjo čarovnika«.

3. Na spustnem seznamu »Tabele in poizvedbe« izberite tabelo »Knjige«. S seznama »Razpoložljiva polja« na seznam »Izbrana polja« premaknite polji »Naslov« in »Avtor«.

4. Na spustnem seznamu »Tabele in poizvedbe« izberite tabelo »Primeri«. S seznama »Razpoložljiva polja« na seznam »Izbrana polja« premaknite polja »Inventarna številka«. , "Datum vrnitve" in "Razpoložljivost".

5. Na spustnem seznamu »Tabele in poizvedbe« izberite tabelo »Bralci«. S seznama “Razpoložljiva polja” na seznam “Izbrana polja” premaknite polja “Number_BW”, “Full name”, “Tel_home”, “Tel_work”. Kliknite gumb "Naprej".

6. Na tej stopnji izberite podrobno zahtevo in kliknite gumb »Naprej«.

7. Določite ime zahteve Zamujene_knjige in kliknite gumb "Dokončaj".

8. Odprimo poizvedbo »Overdue_Books« v načinu načrtovanja s klikom na gumb »Design« (slika 16.7).


9. V obrazcu za zahtevo v vrstici "Pogoj za izbiro" za polje "Datum_vračila" navedemo vrednost < zdaj().

10. V obrazcu za zahtevo v vrstici »Pogoj izbire« za polje »Razpoložljivost« nastavite vrednost št in počistite potrditveno polje »Izhod na zaslon«.

11. Zaprimo okno oblikovalca.

Tako morajo izbrani zapisi izpolnjevati dva pogoja hkrati: datum vračila mora biti krajši od trenutnega in knjiga ne sme biti v knjižnici.

Naloga 2. Ustvarite preprosto poizvedbo, da dobite informacije o tem, katerim tematskim področjem pripadajo knjige.

Naloga 3. Iz zahteve “Zapadle_knjige” izluščite podatke o dolžnikih (številka knjižnične izkaznice, polno ime, domača in službena telefonska številka)

Naloga 4. Ustvarite zahtevo za pridobitev seznama knjig enega avtorja.

Poizvedbe so ena od vrst dokumentov, ki se uporabljajo v Access DBMS in so zasnovani za obdelavo podatkov, shranjenih v tabelah.

Poizvedbe lahko ustvarite v načinu oblikovalec in s pomočjo mojstri. Oblikovalnik vam omogoča, da sami ustvarite katero koli vrsto poizvedbe, vendar je ta način priporočljiv za uporabnike, ki že imajo nekaj izkušenj z ustvarjanjem poizvedb.

Čarovnik za zahteve v več korakih zbere podatke, potrebne za oblikovanje zahteve, nato pa jih samodejno sestavi glede na uporabnikove odgovore na zastavljena vprašanja.

S pomočjo čarovnikov v Accessu lahko ustvarite naslednje vrste poizvedb:

§ Enostavna zahteva.

§ Navzkrižna zahteva.

§ Podvojeni vnosi.

§ Evidence brez podrejenih.

Če želite ustvariti katerega koli izmed njih, izberite objekt Poizvedbe v oknu zbirke podatkov in kliknite gumb Ustvari. Odpre se okno Nova poizvedba, katerega videz je prikazan na sl. 1.

Slika 1 Okno baze podatkov stanja in okno za izbiro vrst poizvedb

Enostavna zahteva omogoča ustvarjanje z uporabo Mojstri vzorčna zahteva podatkov iz določenih polj tabel ali poizvedb, je najbolj primeren za uporabnike začetnike. Ko ga izberete, se zažene čarovnik, v prvem oknu katerega (slika 2) morate na seznamu Tabele in poizvedbe izbrati tabelo, na primer Osebje učiteljev, s seznama njegovih razpoložljivih polj izberite tista, ki mora biti prisoten v poizvedbi in prevesti vsakega s pritiskom na [> ]. Podobno se v poizvedbo dodajo polja iz drugih tabel v isti bazi podatkov.

Opomba. Poizvedba se lahko izvaja samo po tabelah ali samo po poizvedbah po bazi podatkov. Združevanje polj iz tabele in poizvedbe v poizvedbi ni dovoljeno.

Slika 2 Izbira polj za zahtevo.

Navzkrižna zahteva izgleda kot miza , v katerem so prikazana do tri polja (stolpci) izvirne tabele, celice enega od preostalih se pretvorijo v nove stolpce, na njihovem presečišču pa se prikaže ena od uporabniško določenih vrednosti - Variance, Minimum, Največ, povprečje, odstopanje, število, prvo, zadnje itd. Na primer, zahteva na sl. 4 je navzkrižna poizvedba tabele 1 na sl. 3, v katerem so vrednosti razdalje postale imena stolpcev:

Možnost Podvojeni vnosi ustvari poizvedbo za iskanje podvojenih zapisov (vrstic) v eni tabeli ali poizvedbi, za tabelo na sl. 3, z danima poljema Distance in Fare, je videti kot (slika 5)

MS Access vam omogoča, da ustvarite takšno poizvedbo samo za eno tabelo ali poizvedbo (ne za več tabel baze podatkov), v njej pa morate določiti

Slika 3 Tabela 1 za ustvarjanje navzkrižne poizvedbe


Slika 4 Navzkrižna poizvedba tabele. 1

samo tista polja, v katerih obstaja popolno sočasno ujemanje podatkov iz evidence (npr. polja Transport ni mogoče vključiti v to zahtevo). Poleg tega lahko za prepoznavanje vključite neponavljajoče se polje (mesto).

Zapisi brez podrejenih poizvedbo za iskanje zapisov, ki se ne ujemajo z nobenim zapisom v primerjani tabeli. Ta poizvedba se uporablja za številne tabelarične zbirke podatkov.

Slika 6 Glavna tabela 1

Poizvedba brez podrejenih za primerjavo tabel, sl. 3 in sl. 6 bo prikazala neujemajočo se črto (slika 7):

Te poizvedbe so osnova za ustvarjanje bolj zapletenih poizvedb, ki uporabljajo način načrtovanja.



Deliti