Crearea (formarea) cererilor. Crearea unei interogări de selectare simplă Ce metode de a crea interogări cunoașteți?

În fiecare zi trebuie să rezolvăm multe probleme. Pentru a le rezolva cu succes, sunt necesare răspunsuri la întrebări: de la „cum este vremea astăzi” la „cursul de schimb al zlotului polonez la rubla rusă”. Internetul și motoarele de căutare vă permit să găsiți răspunsuri la aproape toate întrebările, dar cu o singură condiție: trebuie să le întrebați corect.

Instrucțiuni

  • Motoarele de căutare (Google, Yandex, Rambler, Mail, Yahoo etc.) sunt concepute pentru a oferi utilizatorilor informațiile necesare. Ei fac acest lucru pe baza unei interogări de căutare. Interogările de căutare pot fi de trei tipuri:
  • Informațional. Utilizatorul caută informații corecte (indiferent pe ce site se află). De exemplu: „Imnul Rusiei”.

    De navigaţie. Utilizatorul caută adresa unui site care poate conține informațiile de care este interesat. De exemplu: „Siteul web al Universității de Stat din Moscova M.V. Lomonosov”.

    Tranzacțional. Utilizatorul este pregătit să ia unele măsuri și are nevoie de informații despre aceasta. De exemplu: „formatarea unui disc”. Deci, primul lucru pe care trebuie să-l faceți atunci când formați o interogare de căutare este să determinați exact ce căutați.

  • Un motor de căutare este o bază de date uriașă, toate informațiile în care sunt „sortate” în secțiuni - cuvinte cheie. După ce setați o interogare de căutare, apare o căutare prin cuvinte cheie și rezultatul căutării este returnat. O greșeală comună a utilizatorilor începători este că percep motorul de căutare ca pe un interlocutor care știe totul și setează o interogare de căutare, de exemplu, astfel: „Poți să-mi spui: „Cum îndepărtezi o pată de pe o bluză nou-nouță? Este mătase”. În mod firesc, beneficiul unei astfel de solicitări va fi minim. Următoarea cerere va fi mult mai eficientă: „bluză albă de mătase pentru a îndepărta o pată.” Așadar, al doilea lucru de făcut este să formulați corect cererea. Ar trebui să fie cât mai simplu posibil și să conțină cuvinte cheie.
  • După ce aparatul vă procesează cererea, va afișa rezultatele căutării. De regulă, toate cele mai relevante rezultate se găsesc pe primele două sau trei pagini. Urmează rezultatele căutării care satisfac doar parțial solicitarea.Totuși, există situații în care sunt necesare informații foarte rare – atunci trebuie să parcurgeți mai multe combinații de cuvinte cheie în interogarea de căutare și să filtrați foarte atent datele obținute.
  • De asemenea, uneori trebuie să căutați informații rare care sunt „conținute” în cuvintele cheie populare. De exemplu, dacă întrebați interogarea de căutare „Marx photo publisher”, motorul de căutare va găsi multe fotografii cu Karl Marx, editorul lui Karl Marx, dar pentru a găsi o fotografie a lui A.F. Marx, un editor de carte, va trebui să muncească din greu, așa că al treilea lucru pe care trebuie să-l faci pentru ca căutarea să aibă succes este să sortezi corect informațiile.

    Dacă trebuie să selectați anumite date dintr-una sau mai multe surse, puteți utiliza o interogare de selectare. O interogare pull vă permite să obțineți doar informațiile de care aveți nevoie și, de asemenea, vă ajută să combinați informații din mai multe surse. Puteți utiliza tabele și alte interogări similare ca surse de date pentru interogările de selecție. Această secțiune analizează pe scurt interogările selectate și oferă instrucțiuni pas cu pas pentru crearea lor utilizând Expertul sau Designerul de interogări.

    Dacă doriți să aflați mai multe despre cum funcționează interogările folosind baza de date Northwind ca exemplu, consultați articolul Înțelegerea interogărilor.

    În acest articol

    Informații generale

    Când este nevoie de anumite date, este rar ca tot conținutul unui tabel să fie necesar. De exemplu, dacă aveți nevoie de informații dintr-un tabel de contacte, de obicei este vorba despre o anumită intrare sau doar despre un număr de telefon. Uneori este necesar să combinați datele din mai multe tabele simultan, de exemplu, pentru a combina informații despre clienți cu informații despre clienți. Interogările de selectare sunt folosite pentru a selecta datele necesare.

    O interogare de selecție este un obiect de bază de date care afișează informații în vizualizarea tabelului. Interogarea nu stochează date, dar conține date care sunt stocate în tabele. O interogare poate afișa date dintr-unul sau mai multe tabele, din alte interogări sau o combinație a ambelor.

    Beneficiile interogărilor

    Solicitarea vă permite să efectuați următoarele sarcini:

      Vizualizați valorile numai din câmpurile care vă interesează. Când deschideți un tabel, sunt afișate toate câmpurile. Puteți salva o interogare care returnează doar câteva dintre ele.

      Notă: Interogarea returnează doar date, dar nu le stochează. Când salvați o solicitare, nu salvați o copie a datelor asociate.

      Combinați date din mai multe surse. Într-un tabel, de obicei puteți vedea doar informațiile care sunt stocate în acesta. Interogarea vă permite să selectați câmpuri din diferite surse și să specificați exact cum doriți să combinați informațiile.

      Utilizați expresii ca câmpuri. De exemplu, un câmp poate fi o funcție care returnează o dată, iar folosind funcția de formatare puteți controla formatul valorilor din câmpurile din rezultatele interogării.

      Vizualizați postările care îndeplinesc criteriile pe care le specificați. Când deschideți un tabel, sunt afișate toate înregistrările. Puteți salva o interogare care returnează doar câteva dintre ele.

    Pașii de bază pentru crearea unei interogări selectate

    Puteți crea o interogare de selectare folosind expertul sau designerul de interogări. Unele elemente nu sunt disponibile în expert, dar pot fi adăugate ulterior de la designer. Deși acestea sunt metode diferite, pașii de bază sunt similari.

      Selectați tabelele sau interogările pe care doriți să le utilizați ca surse de date.

      Specificați câmpurile din sursele de date pe care doriți să le includeți în rezultate.

      De asemenea, puteți seta condiții care limitează setul de solicitări de înregistrare care sunt returnate.

    După ce ați creat o interogare de selectare, rulați-o pentru a vedea rezultatele. Pentru a rula o interogare de selectare, deschideți-o în vizualizarea Foaie de date. După ce salvați o interogare, o puteți utiliza mai târziu (de exemplu, ca sursă de date pentru un formular, raport sau altă interogare).

    Creați o interogare de selectare utilizând Expertul de interogare

    Expertul vă permite să creați automat o cerere de selecție. Când utilizați un expert, nu aveți control complet asupra tuturor detaliilor procesului, dar cererea este de obicei creată mai rapid în acest fel. În plus, expertul detectează uneori erori simple în cerere și vă solicită să selectați o acțiune diferită.

    Pregătirea

    Dacă utilizați câmpuri din surse de date care nu au legătură, Expertul de interogare vă solicită să creați relații între ele. El va deschide fereastra relatiei, cu toate acestea, dacă faceți modificări, va trebui să reporniți expertul. Prin urmare, înainte de a rula vrăjitorul, este logic să creați imediat toate relațiile pe care le va solicita interogarea dvs.

    Pentru mai multe informații despre crearea de relații între tabele, consultați Ghidul relațiilor dintre tabele.

    Utilizarea expertului de interogare

      Pe fila Creare in grup Cereri faceți clic pe butonul Expertul de interogări.

      În caseta de dialog Cerere nouă selectați elementul Cerere simplăși apăsați butonul Bine.

      Acum adăugați câmpurile. Puteți adăuga până la 255 de câmpuri din 32 de tabele sau interogări.

      Pentru fiecare câmp, faceți următorii doi pași:


    1. Dacă nu ați adăugat niciun câmp numeric (câmpuri care conțin date numerice), treceți la pasul 9. Când adăugați un câmp numeric, va trebui să alegeți dacă interogarea va returna detalii sau totaluri.

      FĂ una din urmĂtoarele:


    2. În caseta de dialog Rezultate specificați câmpurile obligatorii și tipurile de date rezumative. Doar câmpurile numerice vor fi disponibile în listă.

      Pentru fiecare câmp numeric, selectați una dintre următoarele opțiuni:

      1. Sumă- interogarea va returna suma tuturor valorilor specificate în câmp.

        Mediu- interogarea va returna valoarea medie a câmpului.

        Min- cererea va returna valoarea minima specificata in camp.

        Max- cererea va returna valoarea maxima specificata in camp.


    3. Dacă doriți ca rezultatele interogării să afișeze numărul de înregistrări din sursa de date, bifați caseta de selectare corespunzătoare Numărați numărul de înregistrări din (numele sursei de date).

      Clic Bine pentru a închide caseta de dialog Rezultate.

      Dacă nu ați adăugat câmpuri de dată și oră la interogare, treceți la pasul 9. Dacă ați adăugat câmpuri de dată și oră la interogare, Expertul de interogare vă solicită să alegeți cum să grupați valorile datei. Să presupunem că ați adăugat un câmp numeric ("Preț") și un câmp de dată și oră ("Transaction_Time") la interogare, apoi în caseta de dialog Rezultate a indicat că doriți să afișați valoarea medie pentru câmpul numeric „Preț”. Deoarece ați adăugat un câmp de dată și oră, puteți calcula totaluri pentru fiecare valoare unică de dată și oră, cum ar fi fiecare lună, trimestru sau an.


      Selectați perioada pe care doriți să o utilizați pentru a grupa valorile datei și orei, apoi faceți clic Mai departe.

      Pe ultima pagină a expertului, introduceți un nume pentru cerere, indicați dacă doriți să o deschideți sau să o editați și faceți clic pe Gata.

      Dacă alegeți să deschideți o interogare, aceasta va afișa datele selectate în vizualizarea Foaie de date. Dacă decideți să editați interogarea, aceasta se deschide în vizualizarea Design.

    Crearea unei interogări în vizualizarea design

    În vizualizarea Design, puteți crea manual o interogare de selectare. În acest mod, aveți mai mult control asupra procesului de creare a interogărilor, dar este mai ușor să faceți greșeli și durează mai mult timp decât în ​​vrăjitor.

    Creați o cerere

    Pasul 1: Adăugați surse de date

    În modul proiectare, sursele de date și câmpurile sunt adăugate în etape diferite, deoarece caseta de dialog este folosită pentru a adăuga surse Adăugarea unui tabel. Cu toate acestea, puteți adăuga oricând surse suplimentare mai târziu.

    Conexiune automată

    Dacă relațiile sunt deja definite între sursele de date pe care le adăugați, acestea sunt adăugate automat la interogare ca conexiuni. Îmbinările definesc modul în care ar trebui combinate datele din surse conexe. De asemenea, Access creează automat o îmbinare între două tabele dacă acestea conțin câmpuri cu tipuri de date compatibile și unul dintre ele este o cheie primară.

    Puteți personaliza conexiunile adăugate de Access. Access selectează tipul de conexiune de creat în funcție de relația care se potrivește. Dacă Access creează o îmbinare, dar nu are o relație definită pentru aceasta, Access adaugă o îmbinare internă.

    Reutilizarea unei surse de date

    În unele cazuri, puteți alătura două copii ale aceluiași tabel sau interogare, care se numește auto-asamblare, și veți uni înregistrările din același tabel dacă există valori care se potrivesc în câmpurile îmbinate. De exemplu, să presupunem că aveți un tabel de angajați în care câmpul „raportează către” pentru înregistrarea fiecărui angajat afișează ID-ul de manager în loc de numele lor. Puteți utiliza un auto-aderare pentru a afișa numele managerului în evidența fiecărui angajat.

    Când adăugați o sursă de date a doua oară, Access va încheia numele celei de-a doua instanțe cu „_1”. De exemplu, dacă adăugați din nou tabelul Angajați, a doua instanță a acestuia va fi numită Angajați_1.

    Pasul 2: Conectați sursele de date asociate

    Dacă sursele de date pe care le adăugați la interogare au deja relații, Access creează automat o îmbinare interioară pentru fiecare relație. Dacă se utilizează integritatea datelor, Access afișează, de asemenea, un „1” deasupra liniei de îmbinare pentru a arăta care tabel se află pe partea „unu” a elementului relației unu-la-mulți și simbolul infinit ( ) pentru a arăta care tabel se află pe partea „multe”.

    Dacă ați adăugat alte interogări la o interogare și nu ați creat relații între ele, Access nu creează automat îmbinări între ele sau între interogări și tabele care nu au legătură. Dacă Access nu creează conexiuni atunci când adăugați surse de date, de obicei trebuie să le creați manual. Sursele de date care nu sunt conectate la alte surse pot cauza probleme în rezultatele interogării.

    De asemenea, puteți schimba tipul de îmbinare de la o îmbinare interioară la o îmbinare exterioară, astfel încât interogarea să includă mai multe înregistrări.

    Adăugarea unei conexiuni

    Schimbarea conexiunii

    Odată ce conexiunile sunt create, puteți adăuga câmpuri de ieșire: acestea vor conține datele pe care doriți să le afișați în rezultate.

    Pasul 3: Adăugați câmpuri de afișare

    Puteți adăuga cu ușurință un câmp din orice sursă de date pe care ați adăugat-o la pasul 1.

      Pentru a face acest lucru, trageți câmpul de la sursă în zona de sus a ferestrei designerului de interogări în jos până la rând Camp formular de cerere (în partea de jos a ferestrei de proiectare).

      Când adăugați un câmp în acest fel, Access completează automat rândul Masaîn tabelul de proiectare conform sursei de date a câmpului.

      Sfat: Pentru a adăuga rapid toate câmpurile la rândul Câmp al unui formular de interogare, faceți dublu clic pe numele tabelului sau al interogării din panoul de sus pentru a selecta toate câmpurile din acesta, apoi trageți-le pe toate în jos simultan pe formular.

    Utilizarea unei expresii ca câmp de ieșire

    Puteți utiliza o expresie ca câmp de ieșire pentru calcule sau pentru a genera rezultate de interogare folosind o funcție. Expresiile pot folosi date din orice sursă de interogare, precum și funcții precum Format sau InStr, constante și operatori aritmetici.

    Pasul 4: Specificați condițiile

    Nu este obligatoriu.

    Folosind condiții, puteți limita numărul de înregistrări pe care le returnează o interogare, selectând numai acelea ale căror valori de câmp îndeplinesc criteriile specificate.

    Definirea condițiilor pentru un câmp de afișare

    Condiții pentru mai multe câmpuri

    Condițiile pot fi setate pentru mai multe câmpuri. În acest caz, toate condițiile din rândul corespunzător trebuie îndeplinite pentru ca intrarea să fie inclusă în rezultate Conditii de selectie sau Sau.

    Setarea condițiilor pe baza unui câmp care nu este inclus în rezultat

    Puteți adăuga un câmp la o interogare, dar nu includeți valorile acestuia în rezultatele afișate. Acest lucru vă permite să utilizați conținutul unui câmp pentru a limita rezultatele, dar nu să îl afișați.

      Adăugați un câmp la tabelul de interogări.

      Debifați caseta pentru aceasta din linie Spectacol.

      Setați condițiile ca pentru câmpul de ieșire.

    Pasul 5: Calculați totalurile

    Acest pas este opțional.

    De asemenea, puteți calcula totaluri pentru datele numerice. De exemplu, este posibil să doriți să vedeți prețul mediu sau vânzările totale.

    Pentru a calcula valorile totale, interogarea folosește șirul Total. Șir implicit Total nu apare în modul design.

    Pentru a vedea rezultatele interogării, în fila Design, faceți clic A executa. Access afișează rezultatele interogării în vizualizarea Foaie de date.

    Pentru a reveni la modul de proiectare și a face modificări la interogare, faceți clic Acasă > Vedere > Constructor.

    Personalizați câmpurile, expresiile sau condițiile și rulați din nou interogarea până când returnează datele dorite.

    Creați o interogare selectată într-o aplicație web Access

    Pentru a face rezultatele interogării disponibile în browser, trebuie să adăugați o vizualizare a interogării la ecranul de selecție a tabelului. Pentru a adăuga o nouă vizualizare la antetul de pe ecranul de selecție a tabelului, urmați acești pași:


    Interogările sunt unul dintre tipurile de documente utilizate în Access DBMS, care sunt concepute pentru a procesa datele stocate în tabele

    Interogările pot fi create în modul proiectant si cu ajutorul masterat. Designerul vă permite să creați singur orice tip de interogare, dar acest mod este recomandat utilizatorilor care au deja o anumită experiență în crearea de interogări.

    Solicitare expertîn mai multe etape, colectează informațiile necesare formulării unei cereri, iar apoi o compune automat în funcție de răspunsurile utilizatorului la întrebările puse.

    Folosind vrăjitorii în Access, puteți crea următoarele tipuri de interogări:

    § Solicitare simplă.

    § Solicitare încrucișată.

    § Intrări duplicate.

    § Înregistrări fără subordonaţi.

    Pentru a crea oricare dintre ele, selectați obiectul Interogări din fereastra bazei de date și faceți clic pe butonul Creare. Se va deschide fereastra New Query, al cărei aspect este prezentat în Fig. 1.

    Figura 1 Fereastra bazei de date de stat și fereastra pentru selectarea tipurilor de interogări

    Cerere simplă vă permite să creați folosind masterat cerere de mostra date din anumite câmpuri de tabele sau interogări, este cel mai convenabil pentru utilizatorii începători. Când îl selectați, pornește Expertul, în prima fereastră din care (Fig. 2) trebuie să selectați un tabel din lista Tabele și interogări, de exemplu, Personalul profesorilor, selectați din lista câmpurilor disponibile pe cele care trebuie să fie prezent în interogare și să traducă fiecare apăsând pe [> ]. În mod similar, câmpurile din alte tabele din aceeași bază de date sunt adăugate la interogare.

    Notă. Interogarea se poate face numai pe tabele sau numai pe interogări baze de date. Combinarea câmpurilor dintr-un tabel și o interogare într-o interogare nu este permisă.

    Figura 2 Selectarea câmpurilor pentru o cerere.

    Cerere încrucișată arata ca o masa , în care sunt afișate până la trei câmpuri (coloane) din tabelul original, celulele unuia dintre cele rămase sunt convertite în coloane noi, iar la intersecția lor este afișată una dintre valorile specificate de utilizator - Varianta, Minimum, Maxim, Medie, Abatere, Număr, Primul, Ultimul etc. De exemplu, solicitarea din Fig. 4 este o interogare încrucișată a tabelului 1 din Fig. 3, în care valorile distanței au devenit numele coloanelor:

    Opțiune Intrări duplicate creează o interogare pentru a căuta înregistrări duplicate (rânduri) într-un tabel sau interogare, pentru tabelul din Fig. 3, cu câmpurile date Distanță și Tarif, arată ca (Fig. 5)

    MS Access vă permite să creați o astfel de interogare doar pentru un singur tabel sau interogare (nu pentru mai multe tabele de bază de date) și trebuie să specificați în ea

    Figura 3 Tabelul 1 pentru crearea unei interogări încrucișate


    Figura 4 Interogare încrucișată a tabelului. 1

    numai acele câmpuri în care există o potrivire completă simultană a datelor din înregistrări (de exemplu, câmpul Transport nu poate fi inclus în această solicitare). În plus, pentru recunoaștere, puteți include un câmp care nu se repetă (Oraș).

    Înregistrări fără subordonați o interogare pentru a găsi înregistrări care nu se potrivesc cu nicio înregistrare din tabelul comparat. Această interogare este utilizată pentru multe baze de date tabelare.

    Figura 6 Tabelul principal 1

    Interogare fără subordonate pentru a compara tabele Fig. 3 și fig. 6 va afișa o linie care nu se potrivește (Fig. 7):

    Aceste interogări sunt baza pentru crearea de interogări mai complexe care utilizează modul Design.

    În 8.3.5 avem acum capacitatea de a lucra programatic cu textul solicitării.
    Știrile despre aceasta pot fi citite pe site-ul 1C „Managed Query Designer și Query Scheme Object Model”.
    Pentru a analiza o cerere anume, recomand

    Să încercăm să ne dăm seama ce este de fapt o cerere. În ce format este prezentat în 1C și pe serverul de securitate a informațiilor?

    Simplificat, se pot distinge următoarele niveluri de lucru cu o solicitare:
    1. Interogare în limbaj DBMS. La acest nivel, interogarea este un șir de text în sintaxa unui anumit SGBD.
    De exemplu „SELECT field1 FROM table1 WHERE table1.field2 > 100”.
    2. Driver pentru un anumit SGBD. Acesta este un utilitar care servește drept legătură între program și server. Acesta primește o solicitare de la program și o transmite către SGBD.
    La acest nivel, 1C lucrează cu surse de date externe.
    3. Interfață software universală. Aceasta este o componentă universală care permite programului să acceseze date în diferite sisteme de securitate a informațiilor. Poate fi numit și manager de șoferi. Driverele DBMS specifice utilizate pe computer sunt conectate la acesta sub forma unui DSN. În funcție de sistemul utilizat, poate exista un ODBC, OLE DB, JDBC, ADO.NET sau orice altă componentă standard. Judecând după http://its.1c.ru/db/metod8dev#content:2926:1, 1C utilizează în prezent OLE DB. Platforma 7.7 a folosit ODBC.
    4. Obiect pe serverul 1C. La acest nivel, serverul de aplicații se ocupă de cerere.
    Din câte am înțeles, platforma C descrie un obiect de interogare pentru care sunt specificate metode de generare a textului SQL. Obiectele platformei (designer de interogări, constructor etc.) funcționează cu acest obiect de solicitare.
    5. Solicitare în limba 1C. La acest nivel, interogarea este un text scris în limbaj pseudo-SQL de forma „SELECT Directory.DirectoryName.FieldName FROM Directory.DirectoryName”

    Din câte am înțeles, odată cu introducerea obiectului „Query Schema” nu s-a inventat nimic nou în platformă.
    Anterior, puteam lucra doar cu reprezentarea text a cererii (nivelul 5). Aceasta este cea mai simplă și mai înțeleasă metodă, deși nu întotdeauna convenabilă.
    Acum ni s-a dat acces la un obiect (nivel 4), care anterior funcționa doar cu mecanisme de platformă.
    Dacă analizați obiectul Schema de interogare, proprietățile acestuia se suprapun foarte clar cu proiectantul de interogări.
    Fiecare element și proprietate pot fi găsite cu un analog vizual în designerul de interogări.
    Pentru fiecare clic în constructor, puteți selecta o comandă similară.
    De exemplu:
    Fila „Pachet de interogări” = RequestScheme.QueryPackage;
    Fila „Tabele și câmpuri” = QueryScheme.QueryPackage.AvailableTables;
    Faceți clic pe tabelul „Directoare” - „Nomenclatură” = Request Schema.Query Package.Operators.Sources.Add(“Directory.Nomenclature”);

    Astfel, putem genera programatic aproape orice cerere pe care o putem face cu un constructor.
    Desigur, crearea programatică este mult mai complexă și consumatoare de timp decât simpla lucru cu un constructor sau chiar scrierea manuală a textului interogării.
    Pentru interogările statice al căror text nu se modifică, nu are rost să folosiți o schemă.
    Munca programatică necesită o înțelegere mai profundă a lucrului cu interogări.
    Este convenabil dacă trebuie să schimbăm textul solicitării în mod dinamic, în funcție de parametrii sistemului, de alegerea utilizatorului și de rezultatul solicitării anterioare.

    Pentru a modifica textul unei cereri existente, acest text trebuie setat pentru schema și primit înapoi după modificare. Pentru a face acest lucru, utilizați cod ca:

    RequestScheme = New RequestScheme; RequestScheme.SetRequestText(Request.Text); //Iată comenzile noastre de modificare a cererii Request.Text = RequestScheme.GetRequestText();

    Interogați modelul obiectului include obiectul principal „Schema de interogare” și aproximativ 50 de obiecte subordonate aferente, colecții și tipuri de date specifice.La început, este destul de dificil să navighezi în acest set de obiecte.

    Pentru a înțelege structura generală a schemei de solicitare, deschideți secțiunea necesară a SP și introduceți toate conexiunile dintre obiecte în plotter.
    Se pare că acesta este graficul.
    Nu pot spune că este foarte clar, dar reflectă ideea generală. Este convenabil să aruncați o privire când analizați o solicitare.
    Coloana indică:
    Galben - entități obiect ale schemei de solicitare;
    Roșu - colecții de obiecte;
    Verde - tipuri standard 1C (șir, număr, boolean);
    Turcoaz - tipuri primitive specifice schemei de solicitare;

    Schema de interogare este cea mai convenabilă pentru modificarea unei interogări gata făcute; de ​​asemenea, vă permite să creați textul interogării de la zero.

    De exemplu, să luăm în considerare crearea unui pachet de solicitări de la zero, similar cu cererea de la

    SELECTAȚI PRODUSE PERMISE.Link AS Nomenclator, Purchases.Period AS Perioada, ISNULL(Purchases.AmountTurnover, 0) AS AmountPurchases, 0 AS AmountVânzări PLACE TableTurnover FROM Directory.Nomenclature AS Products LEFT JOIN Înregistrați Acumulări.Startur,Purchasesd. ) CUM Cumpărare Software Cumpărare.Nomenclatură = Produse.Link WHERE NU Produse.AcestGrup COMBINE TOATE SELECTARE DIFERITE PRIMELE 100 de Produse.Link, Perioada de vânzări, 0, ISNULL(Vânzări.Sumă Cifra de afaceri, 0) DIN Director. .Vânzări .Cifra de afaceri(&Început, &Sfârșit, Lună) AS Vânzări BY Sales.Nomenclature = Products.Link WHERE NU Products.ThisGroup INDEX BY Nomenclature, Period; //////////////////////////////////////////////////////////////////// ////////////////////////// SELECT TableTurnover.Nomenclature AS Nomenclature, TableTurnover.Period AS Period, SUM(TableTurnover.AmountPurchases) AS AmountPurchases, SUM( TableTurnover.AmountSales) AS AmountSales FROM TableTurnover AS TableTurnover GROUP BY TableTurnover.Nomenclature, TableTurnover.Period HAVING SUM(TableTurnover.AmountPurchases) > 0 ORDER BY TableTurnover.Nomenclature.Name.SUM, Perioada Achiziții Vânzări ) ÎN GENERAL, DOAR IERARHIE Nomenclatoare; //////////////////////////////////////////////////////////////////// /////////////////////////// DISTROY TableTurnover

    Să analizăm pachetul de solicitări.

    Un pachet este un set de trei cereri.
    În prima solicitare, datele sunt selectate din IS de către doi operatori (cereri de cumpărare și de vânzări), fiecare dintre ele utilizând două surse (directorul „Nomenclator” și registrul de acumulare corespunzător). Datele vor fi combinate din cele două declarații și plasate într-un tabel temporar pe server.
    În a doua solicitare, primim date dintr-un tabel temporar, îl grupăm și obținem rezultatul pentru procesare pe serverul 1C.
    A treia interogare este folosită pentru a distruge tabelul temporar creat de prima interogare.

    Să începem să creăm programatic un pachet de solicitări.

    Pentru a dezvolta codul, vom folosi un arbore de interogări. Este convenabil definiți căile către date. Este recomandabil să verificați periodic textul de solicitare rezultat după modificările codului.

    Mai întâi, să creăm un obiect „Schema de solicitare”.

    RequestScheme = New RequestScheme;

    Schema de interogare generată conține deja un pachet și o instrucțiune select.
    Pentru ușurință în utilizare, să le salvăm în variabile separate.

    SelectionRequestFromIB = RequestScheme.RequestPackage; PurchaseSelectionOperator = SelectionRequestFromIS.Operators;

    Adăugarea surselorîn prima declarație select.
    Pentru a face acest lucru, folosim metoda de colectare a sursei „Add()”. În parametrii metodei, indicăm numele tabelului de adăugat, aliasul acestuia, prin care ne vom referi la el în viitor.
    Ca tabel de adăugat, puteți utiliza fie numele tabelului, fie un link către acesta în colecția de tabele disponibile.

    SourceNomenclature = PurchaseSelectionOperator.Sources.Add("Directory.Nomenclature","Produse"); SourcePurchases = PurchaseSelection Operator.Sources.Add("Registrul de acumulare.Achizitii.Cifra de afaceri","Achizitii");

    În mod implicit, a doua sursă este adăugată cu o conexiune stângă la prima.

    Avem nevoie de o conexiune inversă. Schimbarea tipului de conexiune.

    SourcePurchase.Connections.ConnectionType = RequestSchemeConnectionType.RightExternal;

    Opțiuni de masă:
    Pentru fiecare tabel adăugat ca sursă, putem seta parametri suplimentari.
    Colecția de setări este populată automat când adăugați un tabel, în funcție de tipul tabelului.
    Nu puteți adăuga manual un parametru; puteți seta doar valoarea unui parametru existent.
    Tabelul „Directory.Nomenclature” este un simplu tabel de director. Nu are parametri.
    Tabelul „Registrul de acumulare.Achiziții.Cifra de afaceri” este un tabel al cifrei de afaceri a registrului de acumulare.
    Conform SP, are 4 parametri: începutul perioadei, sfârșitul perioadei, periodicitatea și starea.
    Trebuie să setăm primii 3 parametri:

    SourcePurchasing.Source.Parameters.Expression = New QuerySchemaExpression("&Start"); SourcePurchasing.Source.Parameters.Expression = New RequestSchemaExpression("&End"); SourcePurchases.Source.Parameters.Expression = New QuerySchemaExpression("Luna");

    Să indicăm coloanele, care trebuie selectat din tabelele enumerate.
    Pentru a face acest lucru, adăugăm câmpuri la colecția de câmpuri selectabile ale operatorului de selecție.

    PurchaseSelectionOperator.SelectableFields.Add(„Produse.Link”); PurchaseSelectionOperator.SelectableFields.Add(„Achiziții.Perioada”); OperatorSelectingPurchases.SelectableFields.Add("ISNULL(Achiziții.AmountTurnover, 0)"); PurchaseSelectionOperator.SelectableFields.Add("0");

    Indicăm la nivelul cererii în ansamblu aliasuri pentru coloanele selectabile:
    Vă rugăm să rețineți că selectăm coloane de tabel pentru fiecare subinterogare de alăturare; atribuim nume de coloane ca întreg pentru colecția „Coloane” la nivel de interogare de pachet.

    RequestSelectFromVT.Columns.Alias ​​​​= „Nomenclatură”; QuerySelectFromVT.Columns.Alias ​​​​= „Perioadă”; SelectionRequestFromVT.Columns.Alias ​​​​= „PurchasesAmount”; RequestSelectFromVT.Columns.Alias ​​​​= „SalesAmount”;

    Să adăugăm o condiție pentru selectarea datelor

    SalesSelectionOperator.Selection.Add(„NU Produse. Acesta este un Grup”);

    Adăugăm totul în mod similar pentru a doua parte a cererii.

    Maparea coloanelor:
    În fiecare instrucțiune de selecție, selectăm 4 câmpuri (elementul de director „Nomenclatură”, o dată și două câmpuri numerice).
    Când combinați coloanele de la doi operatori care selectează o coloană dintr-un director și o dată, sistemul o va compara singur.
    Există două coloane numerice. Schema însăși le poate mapa incorect la coloanele primei interogări.
    Indicăm ce coloană a tabelului de rezultate corespunde expresiei.

    SelectionRequestFromISB.Columns.Fields.Set(1,PurchaseExpression); RequestSelectFromIB.Columns.Fields.Set(1,SalesExpression);

    Repetăm ​​totul în mod similar pentru a doua cerere a pachetului.

    Dintre diferențe, aici folosim selecția bazată pe valorile finale de tip „HAVING”.
    Această condiție este adăugată în mod similar cu selecția obișnuită pentru înregistrările detaliate.
    Schema în sine va determina în ce secțiune a condițiilor să o plasăm pe a noastră, în funcție de utilizarea funcțiilor de grupare.

    OperatorSelect.Selection.Add("SUM(TableTurnover.AmountPurchases) > 0");

    Ultimul pas este adăugarea unei cereri de distrugere a tabelului de date

    DestructionRequestVT = QuerySchema.QueryPackage.Add(Type("DestroyTableRequestSchemaQuery")); DestructionRequestVT.TableName = "TableTurnover";

    De asemenea, setăm proprietăți suplimentare de solicitare:

    QuerySelectFromIB.TableForRoom = "TableTurnover"; RequestSelectFromIB.SelectAllowed = Adevărat;

    Versiunea finală completă a cererii:

    //Crearea unei cereri schemaRequestSchema = NewRequestScheme; SelectionRequestFromIB = RequestScheme.RequestPackage; //Setarea proprietăților de interogare QuerySelectionFromIB.TableForRoom = "TableTurnover"; RequestSelectFromIB.SelectAllowed = Adevărat; //Adăugați operatori de selecție pentru prima solicitare a pachetului PurchaseSelectionOperator = SelectionRequestFromIS.Operators; SourceNomenclature = PurchaseSelectionOperator.Sources.Add("Directory.Nomenclature","Produse"); //Adăugați o cerere de selecție din registrul de achiziții SourcePurchases = PurchaseSelection Operator.Sources.Add("Acumulation Register.Purchases.Turnover","Purchases"); SourcePurchasing.Source.Parameters.Expression = New QuerySchemaExpression("&Start"); SourcePurchasing.Source.Parameters.Expression = New RequestSchemaExpression("&End"); SourcePurchases.Source.Parameters.Expression = New QuerySchemaExpression("Luna"); //Modifică tipul de conexiune Purchasing Source.Connection.ConnectionType = RequestSchemeConnectionType.RightExternal; //Specificați câmpurile selectabile PurchaseSelection Operator.SelectableFields.Add("Products.Link"); PurchaseSelectionOperator.SelectableFields.Add(„Achiziții.Perioada”); OperatorSelectingPurchases.SelectableFields.Add("ISNULL(Achiziții.AmountTurnover, 0)"); PurchaseSelectionOperator.SelectableFields.Add("0"); //Specificați aliasuri pentru câmpurile selectate Selection RequestFromIB.Columns.Alias ​​​​= "Nomenclatură"; SelectionRequestFromIB.Columns.Alias ​​​​= „Perioadă”; SelectionRequestFromIB.Columns.Alias ​​​​= „PurchasesAmount”; SelectionRequestFromIB.Columns.Alias ​​​​= „SalesAmount”; //Adăugați selecția SelectionOperatorPurchases.Selection.Add("NU Produse.Acesta este un Grup"); ////////////////////// //Selectează datele vânzărilor SalesSelectionOperator = SelectionRequestFromIS.Operators.Add(); SourceNomenclature = SalesSelection Operator.Sources.Add("Directory.Nomenclature","Produse"); SalesSelectionOperator.SelectableFields.Add(„Produse.Link”); //Adăugați sursa de pH și setați parametrii Sales Source =SalesSelectionOperator.Sources.Add("Acumulation Register.Sales.Turnover","Vânzări"); SalesSource.Source.Parameters.Expression = New QuerySchemaExpression("&Start"); SalesSource.Source.Parameters.Expression = New QuerySchemaExpression("&End"); SalesSource.Source.Parameters.Expression = New QuerySchemaExpression("Luna"); SourceSales.Connections.ConnectionType = RequestSchemeConnectionType.RightExternal; //Specificați câmpurile de selectat și setați câmpurile numerice să corespundă cu câmpurile primei cereri SalesSelection Operator. SelectableFields.Add("Vânzări.Perioadă"); ExpressionPurchases = SalesSelectionOperator.SelectableFields.Add("0"); SalesExpression = SalesSelectionOperator.SelectableFields.Add("ISNULL(Sales.AmountTurnover, 0)"); SelectionRequestFromISB.Columns.Fields.Set(1,PurchaseExpression); RequestSelectFromIB.Columns.Fields.Set(1,SalesExpression); //Adăugați selecția SalesSelection Operator.Selection.Add("NU Produse.Acesta este un grup"); //Indexarea datelor Selection Request From IB.Index.Add(Selection Request From IB. Columns); RequestSelectFromIB.Index.Add(SelectRequestFromIB.Columns); //Setați parametrii de selecție a datelor SalesSelectionOperator.SelectVarious = True; SalesSelectionOperator.NumberofRecordsReceived = 100; //////////////// //Al doilea pachet de solicitare SelectionRequestFromVT = RequestScheme.RequestPackage.Add(); OperatorSelect = QuerySelectFromVT.Operators; //Setați tabelul temporar creat în cererea anterioară ca sursă Source = OperatorSelect.Sources.Add("TableTurnover","TableTurnover"); OperatorSelect.SelectableFields.Add("TableTurnover.Nomenclature"); OperatorSelect.SelectableFields.Add(„TableTurnover.Period”); OperatorSelect.SelectableFields.Add("SUM(TableTurnover.AmountofPurchases)"); OperatorSelect.SelectableFields.Add("SUM(TableTurnover.AmountSales)"); //Condiția de selecție OperatorSelect.Selection.Add("SUM(TableTurnover.AmountPurchases) > 0"); //Setează aliasuri de coloană Selection QueryFromVT.Columns.Alias ​​​​= „Nomenclatură”; QuerySelectFromVT.Columns.Alias ​​​​= „Perioadă”; SelectionRequestFromVT.Columns.Alias ​​​​= „PurchasesAmount”; RequestSelectFromVT.Columns.Alias ​​​​= „SalesAmount”; //Ordinea sortării datelor QuerySelectFromVT.Order.Add(QuerySelectFromVT.Operators.Sources.Source.AvailableFields.Fields); RequestSelectFromVT.Order.Add(SelectRequestFromVT.Columns); //Rezultatele solicitării TotalNomenclature = Solicitare de selecție din VT. ControlPointsTotals.Add(Solicitare de selecție din VT. Coloane); ResultNomenclature.ControlPointType = RequestSchemaControlPointType.HierarchyOnly; QuerySelectFromVT.GeneralTotals = Adevărat; QuerySelectFromVT.ExpressionTotals.Add(QuerySelectFromVT.Columns); QuerySelectFromVT.ExpressionTotals.Add(QuerySelectFromVT.Columns); //////////////// //Ultima cerere a pachetului este ștergerea tabelului temporar DestructionRequestVT = RequestSchema.RequestPackage.Add(Type("DestroyTableRequestSchemaTable")); DestructionRequestVT.TableName = "TableTurnover";

    După ce am executat acest set de comenzi, primim aceeași cerere pe care am primit-o anterior de la constructor.

    Este clar că crearea de software este mult mai dificilă decât crearea de text.
    Apare întrebarea, care este rostul să prostești cu crearea de software în loc de design convenabil.
    Dacă această solicitare nu se schimbă din nou, atunci nu are rost.

    Chilele apar doar dacă trebuie să modificăm această solicitare în continuare în funcție de setări.
    Să ne uităm la câteva exemple de modificare a pachetului nostru de 3 solicitări:

    Exemplul 1.

    Să presupunem că avem variabilele „Organizare” și „Depozit”. Și dacă sunt completate, trebuie să adăugăm condiții pentru aceste variabile la selecția datelor.
    Când lucrăm cu text, va trebui să ne îndreptăm în textul cererii și să scriem condiții complexe precum „Dacă scaladul este plin, atunci adăugați o condiție”. ce legătură are cu descompunerea lui în mai multe locuri și combinarea opțiunilor: atât depozitul, cât și organizația sunt umplute, se umple doar depozitul, se umple doar organizația, nu se umple nimic.
    După o astfel de modificare, va fi imposibil să deschideți cererea de către proiectant, iar modificarea sa ulterioară va fi foarte dificilă.

    Când lucrăm cu date în mod programatic, pur și simplu adăugăm comenzi:

    If ValueFilled(Organization) ThenPurchaseSelectionOperator.Selection.Add("Purchases.Organization = &Organization"); OperatorSelectionSales.Selection.Add("Sales.Organization = &Organization"); endIf; If ValueFilled(Warehouse) ThenPurchaseSelectionOperator.Selection.Add("Purchases.Warehouse = &Warehouse"); OperatorSelectionSales.Selection.Add("Sales.Warehouse = &Warehouse"); endIf;

    Exemplul 2.

    Trebuie să selectăm produse pentru care ultimul preț este peste 1000 de ruble.
    Acestea. necesar
    1. Adăugați textului de solicitare o selecție în tabelul temporar din registrul de preț al articolului pentru care prețurile sunt peste 1000 de ruble.
    2. La selectarea datelor, adăugați condiții pentru acest tabel temporar la ambele interogări de selecție a datelor (cumpărări și vânzări).
    Vă puteți da seama cum să vă introduceți într-o solicitare text pentru a efectua aceste acțiuni.
    Programatic, adăugăm pur și simplu linii de cod:

    //Adăugați un tabel temporar QueryFromPriceRegister = QueryScheme.QueryPackage.Add(); //Configurați tabelul temporar RequestFromPriceRegister.TableForRoom = "VT_PricesItems"; OperatorSelect = RequestFromPriceRegister.Operators; Sursa = OperatorSelect.Sources.Add("Registrul de informații.Prețurile articolului.Ultima felie","Prețurile ultimului articol"); OperatorSelect.SelectableFields.Add(„Prețurile articoluluiSliceLast.Articol”); OperatorSelect.Selection.Add("ItemPricesSliceLast.Price > &Price"); //Mutați noua placă înainte ca selecția datelor să solicite QueryScheme.QueryBatch.Shift(RequestSchema.QueryBatch.Index(QueryFromPriceRegister),0); //Adăugați condiții la interogările inițiale Achiziții Selection Operator.Selection.Add("Purchases.Nomenclature IN (SELECT VT_PricesNomenclature.Nomenclature FROM VT_PricesNomenclature AS VT_PricesNomenclature)"); OperatorSelectionSales.Selection.Add("Sales.Nomenclature IN (SELECT VT_PricesItems.Items FROM VT_PricesNomenclature AS VT_PricesItems)");

    IMHO, chiar și pentru aceste exemple, lucrul cu o interogare în mod programatic este mai convenabil decât lucrul direct cu text.
    În același timp, să ținem cont de faptul că aceste opțiuni de modificare sunt încă destul de simple.
    Odată cu complicarea opțiunilor de modificare, creșterea numărului de solicitări în pachet, selectarea diverselor modificări în funcție de condiții (de exemplu, adăugarea de condiții fie prin registrul de preț, fie pe tipuri de articole, fie după planuri de producție), programul de lucru pare din ce în ce mai convenabil în comparație cu lucrul cu text line.

    Puteți exersa cu interogări folosind procesarea.Este convenabil pentru dezvoltarea comenzilor pentru modificarea unei interogări existente. Conține, de asemenea, câteva exemple de modificare a codului de cerere și un grafic al diagramei tipului de solicitare.

    z.y. Tot ce este scris mai sus este doar înțelegerea mea personală a subiectului. Poate greșesc undeva. Comentariile și clarificările sunt binevenite.

    upd: Un alt exemplu mic de utilizare a unei scheme de interogare. Formarea unei interogări care caută valori duplicate ale datelor predefinite. Fără accesarea metadatelor, generează o singură solicitare generală către toate directoarele, planurile de conturi, PVC, PVR în ansamblu conform configurației. Folosit la prelucrare

    RequestScheme = New RequestScheme; CollectionOperators = RequestSchema.RequestBatch.Operators; Pentru fiecare grup de tabel din schema de interogări. Pachet de interogări. Tabelele disponibile Ciclul dacă grupul de tabele. Vizualizare = „Directoare” SAU Grup de tabel. Prezentare = „Planuri de conturi” SAU Grup de tabel. Vizualizare = „Planuri de tip de calcul” SAU Grup de tabel. = „Planuri de tip caracteristic” Apoi pentru fiecare tabel din grupul de tabel.Cic de compoziție Pentru fiecare câmp de tabel din tabel.Ciclul câmpurilor dacă TableField.Name = „PredefinedDataName” Apoi NewOperator = CollectionOperators.Add(); NewSource = NewOperator.Sources.Add(Table,"DirectoryName"); NewOperator.SelectableFields.Add(""""+Table.Name+""""); NewOperator.SelectableFields.Add ("CANTITATE(DIFERENT DirectoryName.PredefinedDataName)"); NewOperator.Grouping.Add(„DirectoryName.Numele datelor predefinite”); NewOperator.Selection.Add("DirectoryName.Predefined"); NewOperator.Selection.Add ("CANTITATE(DIFERENT DirectoryName.Link) > 1"); Continua; endIf; EndCycle; EndCycle; endIf; EndCycle;

    Subiectul 2.3. Software de prezentare și noțiuni de bază privind programarea de birou

    Subiectul 2.4. Sisteme de management al bazelor de date și sisteme expert

    2.4.11. Baza de date de formare cu butonul principal formularul „Training_students” - Descărcare


    SGBD și sisteme expert

    2.4. Sisteme de management al bazelor de date și sisteme expert

    2.4.4. Crearea (formarea) cererilor

    Interogare este un mijloc de selectare a informațiilor necesare din baza de date. O întrebare generată în legătură cu o bază de date este o interogare. Sunt utilizate două tipuri de interogări: prin exemplu (QBE - Query by example) și limbaj de interogare structurat (SQL - Structured Query Language).

    QBE - exemplu de interogare– un instrument pentru găsirea informațiilor necesare într-o bază de date. Acesta este generat nu într-o limbă specială, ci prin completarea unui formular de solicitare în fereastra Generator de interogări.

    interogări SQL– acestea sunt interogări care sunt compilate (de programatori) dintr-o secvență de instrucțiuni SQL. Aceste instrucțiuni specifică ce trebuie făcut cu setul de date de intrare pentru a genera setul de ieșire. Toate interogările Access se bazează pe interogări SQL; pentru a le vizualiza, trebuie să rulați comanda View/SQL în fereastra de proiectare a interogării active.

    Există mai multe tipuri de interogări: selectați, actualizați, adăugați, ștergeți, interogări încrucișate, creați tabele. Cea mai frecventă este o cerere de eșantion. Interogările de selecție sunt folosite pentru a selecta informațiile conținute în tabelele de care utilizatorul are nevoie. Sunt create numai pentru tabelele înrudite.

    2.4.4.1. Creați o interogare de selectare folosind Expertul

    Când creați o interogare, trebuie să definiți:

    • câmpurile din baza de date care vor fi utilizate pentru căutarea informațiilor;
    • subiect de căutare în baza de date;
    • lista de câmpuri ca urmare a executării cererii.

    În fereastra bazei de date, selectați fila Interogări și faceți dublu clic pe Creare interogare folosind pictograma expert, va apărea fereastra Creare interogări simple.


    Orez. 1.

    În fereastra expertului, selectați tabelul necesar (tabelul sursă) din opțiunea Tabele și interogări și selectați câmpurile de date. Dacă interogarea este formată pe baza mai multor tabele, trebuie să repetați pașii pentru fiecare tabel sursă.

    Apoi, în fereastra Expertului, trebuie să selectați un raport detaliat sau rezumat și să faceți clic pe butonul Următorul. După aceasta, trebuie să specificați un nume pentru interogare și să selectați una dintre opțiunile pentru acțiuni ulterioare: Deschideți interogarea pentru a vedea datele sau Schimbați aspectul interogării și faceți clic pe Terminare. Ca urmare, veți primi o interogare gata făcută.

    2.4.4.2. Creați o interogare de selectare folosind Designer

    Folosind constructorul, puteți crea următoarele tipuri de interogări:

    1. Simplu.
    2. După condiție.
    3. Parametric.
    4. Final.
    5. Cu câmpuri calculate.

    Pentru a apela Generatorul de interogări, trebuie să accesați fereastra bazei de date. În fereastra bazei de date, selectați fila Interogări și faceți dublu clic pe pictograma Creați o interogare în modul proiectare. Fereastra Adăugare tabel activă apare pe fundalul ferestrei Interogare inactivă: Selectare interogare.

    În fereastra Adăugare tabel, selectați un tabel sursă sau mai multe tabele din lista prezentată de tabele pe baza cărora vor fi selectate datele și faceți clic pe butonul Adăugare. După aceasta, închideți fereastra Adăugare tabel, fereastra „Interogare: Selectați interogare” va deveni activă.

    Fereastra Designer este formată din două părți - superioară și inferioară. În partea de sus a ferestrei există o diagramă de date de interogare, care conține o listă de tabele sursă și reflectă relația dintre acestea.

    În partea de jos a ferestrei există un formular de construcție a interogării QBE (Interogare prin exemplu), în care fiecare linie îndeplinește o funcție specifică:

    1. Câmp – indică numele câmpurilor care participă la cerere.
    2. Nume tabel – numele tabelului din care a fost selectat acest câmp.
    3. Sortare – indică tipul de sortare.
    4. Afișare pe ecran – setează caseta de selectare pentru a vizualiza câmpul pe ecran.
    5. Condiții de selecție - criteriile de căutare sunt stabilite.
    6. Sau – sunt specificate criterii de selecție suplimentare.



    Orez. 2.

    Cerere de mostra

    În fereastra „Interogare: cerere de eșantion”, utilizați instrumentele pentru a crea o interogare:

    1. Selectați tabelul - sursa din care sunt selectate înregistrările.
    2. Mutați numele câmpurilor de la sursă în formularul de solicitare. De exemplu, din tabelul Grupuri de studenți, trageți câmpul Titlu în primul câmp al Formularului de solicitare, din tabelul Studenți, trageți câmpul Nume în al doilea câmp al Formularului de solicitare, iar din tabelul de performanță, trageți Nota câmp în al treilea câmp, iar din tabelul Discipline, trageți câmpul Titlu în al patrulea câmp al Formularului de solicitare.
    3. Setați principiul de sortare. Mutați cursorul mouse-ului pe linia Sortare pentru orice câmp, va apărea un buton pentru a deschide o listă de moduri de sortare: crescător și descendent. De exemplu, setați modul de sortare în câmpul Nume la crescător.
    4. În linia de afișare, caseta de selectare pentru vizualizarea informațiilor găsite în câmp este selectată automat.
    5. În linia de selecție „Condiții” și linia „Sau”, trebuie să introduceți condiții limitate de căutare - criterii de căutare. De exemplu, în câmpul Scor, introduceți „excelent/A”, adică. afișați toate numele elevilor care au primit note excelente/A.
    6. După finalizarea generării interogării, închideți fereastra Selectați cererea. Se va deschide caseta de dialog Salvare - răspundeți Da (introduceți numele interogării create, de exemplu, Sample Query în modul Design) și faceți clic pe OK și reveniți la fereastra bazei de date.



    Orez. 3.

    Pentru a deschide o interogare din fereastra bazei de date, trebuie să selectați numele interogării și să faceți clic pe butonul Deschidere; pe ecran va apărea o fereastră de interogare de selecție cu numele dorit.



    Orez. 4.

    Pentru a face modificări la o interogare, trebuie să o selectați făcând clic în fereastra bazei de date, faceți clic pe butonul Constructor și faceți modificări. Salvați cererea și rulați-o din nou.

    Interogări parametrice

    Interogările care sunt variații ale unei interogări de bază și diferă ușor unele de altele sunt numite parametrice. O cerere parametrică specifică un criteriu care poate fi modificat în funcție de cererea utilizatorului.

    Secvența creării unei interogări parametrice:

    1. Creați o interogare în vizualizarea Design sau deschideți o interogare existentă în vizualizarea Design, cum ar fi „Eșantion de interogare în vizualizarea Design”.
    2. În Formularul de solicitare, în linia Condiții de selecție, introduceți condiția de selecție sub forma unei invitații între paranteze drepte, de exemplu [Introduceți numele de familie].
    3. Închideți fereastra Solicitare de selectare, răspundeți la întrebarea despre salvarea modificării - Da. Reveniți la fereastra bazei de date, unde interogarea creată va fi evidențiată.
    4. Executați interogarea făcând clic pe butonul: Deschide. În caseta de dialog „Introduceți valoarea parametrului” care apare pe ecran, trebuie să introduceți, de exemplu, numele studentului ale cărui informații despre performanța academică doriți să obțineți și să faceți clic pe butonul OK.