Contacte

Filtrarea interogărilor după un anumit acces la coloană. Cum să setați condițiile pentru selectarea înregistrărilor într-o interogare? Operații logice „ȘI”, „SAU”

Pentru a limita lista înregistrărilor obținute ca urmare a interogării, numai cele care îndeplinesc anumite condiții - formularul de interogare oferă câmpuri pentru condițiile de selecție. A fost descris pe scurt în „Pasul 22 - Crearea unei cereri de preluare”, acum este timpul să o descoperim mai detaliat.

Cel mai important lucru de reținut este că vă puteți crea propria condiție de filtrare pentru fiecare câmp de interogare. Dacă aceasta câmp numeric, apoi puteți specifica gama de valori de interes. De exemplu, pe teren Preț puteți seta condiția & gt20, care vă va permite să selectați toate cărțile ale căror prețuri depășesc 20.

Pentru casetă de text este setat un șir, al cărui conținut va fi comparat cu valorile câmpului corespunzător din tabel. Potrivirea valorilor va adăuga înregistrarea curentă la tabelul rezumat. Când compuneți un șir, semnul * înseamnă orice succesiune de caractere și ? orice personaj. De exemplu, starea „Novikon” în câmp Editor, va returna o listă de cărți tipărite numai de acest editor. Condiție "Nou *" potriveste valorile incepand cu Nou, "*A*" va oferi tuturor editorilor cu scrisoarea AÎn titlu, "?????" va găsi toate combinațiile de cinci caractere și "??*" potriveste valori cu cel putin doua caractere.

Acest lucru se poate face dacă condiția de selecție pentru interogare este cunoscută în prealabil și nu este necesar să o modificați. În practică, în multe cazuri, utilizatorul trebuie să aibă posibilitatea de a alege în mod independent ceea ce dorește să găsească în tabelele bazei de date. Pentru a face acest lucru, parametrul condiției de filtrare trebuie solicitat la fiecare sesiune de solicitare. Să presupunem că un client dorește să se întrebe despre cărțile lui Isaac Asimov din magazin. Toate celelalte cărți nu-l interesează, dar își petrec timpul răsfoind întreaga bază de date în căutare informațiile de care aveți nevoie cu siguranță nu intenționează. Apoi, în cerere, este pur și simplu necesar să se prevadă posibilitatea de a primi aceste informații de la cumpărător și de a-i oferi numai înregistrări care au Numele autorului Isaac și Numele autorului Azimov.

În acest scop există o comandă de limbaj specială SQL care arată astfel:

Ca [ Textul mesajului utilizatorului ]

În paranteze pătrate, textul afișat în fereastra de introducere a parametrilor care apare pe ecran imediat după începerea cererii corespunzătoare. Câmpul de introducere ia valoarea tastată pe tastatură și o trece ca criteriu de selecție. Mai departe SGBD scanează toate înregistrările din baza de date pentru o potrivire de valori și afișează rezultatele căutării în tabelul rezultat.

Mod implicit Acces definește tipul de date de intrare ca Text. Dacă parametrul specifică o condiție de selecție dintr-o coloană cu date de tip Numeric sau Data Ora , atunci trebuie să atribuiți manual tipul de date. Acest lucru se face după cum urmează:


Puteți specifica mai multe criterii de selecție pentru câmpul de interogare. A doua condiție este plasată pe linie Sau, a treia pe linia de mai jos și așa mai departe, până când sunt specificate toate valorile necesare. Nerespectarea a cel puțin uneia dintre condițiile de selecție interzice adăugarea unei înregistrări în tabelul rezultat. Prin urmare, cea mai mare atenție este necesară în timpul setului de valori. Erori de scriere sau inexactități pot afecta drastic performanța interogării generate.

Sfat: Finalizați procesul de construire și testare a interogării înainte de a converti orice tip de interogare într-o interogare cu parametri. Utilizarea unei condiții de selecție a testului (prezentă exact în înregistrările tabelului) în interogare asigură coerența procesului de testare. În plus, dacă nu se aplică niciun parametru în interogare, puteți comuta mai rapid între modurile de proiectare și de operare ale interogării. După testarea și verificarea funcționării interogării, editați condițiile de filtrare și adăugați textele de sugestie necesare pentru ferestrele de introducere a valorii parametrilor.

Accesul oferă un numar mare de opțiuni pentru selectarea înregistrărilor din baza de date. Să aruncăm o privire la unele dintre criteriile de selecție a înregistrărilor pe scară largă utilizate într-o interogare.

Operatori

Un operator este un simbol sau un cuvânt, cum ar fi = sau Sau, care indică executarea unei operații pe unul sau mai multe elemente. Operatorii vă permit să efectuați operațiuni pe elementele unei formule. Accesul vă permite să utilizați Tipuri variate operatorii pentru calcule pe foaie:

  • operatori aritmetici - sunt folosiți pentru a efectua operații aritmetice pe numere (tabel);
  • operatori de comparație - utilizați pentru a compara două valori. Rezultatul comparației poate fi o valoare logică: fie ADEVĂRAT, fie FALS;
  • operator de concatenare a textului Ampersand (&) - utilizat pentru concatenarea mai multor șiruri de text într-un singur șir;
  • operatori de referință - Folosit pentru a descrie referințe la intervale de celule.

Interogarea pentru înregistrări într-un anumit interval de valori poate fi efectuată utilizând următorii operatori de comparație: = - egal; > - mai mult de;< - меньше, чем;
<>- nu este egal;
> = - mai mult sau egal;
<= - меньше или равно.
Să presupunem că sunteți interesat de angajații al căror salariu depășește 300 de ruble. În linia Criterii, introduceți:> 300.
De obicei, operatorii de comparație sunt utilizați în câmpuri numerice sau de date, dar pot fi folosiți și în câmpuri de text. De exemplu, dacă introduceți o condiție de selecție în caseta de text< "П", то будут выбраны значения поля, начинающиеся после буквы «П».

LIKE operator

Dacă nu sunteți sigur cu privire la ortografia unui cuvânt, puteți utiliza operatorul LIKE și wildcard... Amintiți-vă că un semn de întrebare reprezintă un singur caracter, iar un asterisc * reprezintă un grup de caractere. De exemplu, expresia: LIKE P? L caută cuvinte care încep cu litera P. Expresie: LIKE caută cuvinte, a cântat, amic, gen etc.
O expresie înseamnă orice combinație de operatori, constante, valori constante de text, funcții, nume de câmp (coloană), controale sau proprietăți care rezultă într-o anumită valoare.

Efectuarea de calcule standard pe valorile câmpului

Una dintre metodele răspândite pentru analiza datelor tabulare este utilizarea următoarelor funcții rezumative pentru câmpurile de date numerice:

  • Sumă - calculează suma valorilor câmpului;
  • Media - determinarea valorii medii a câmpului;
  • Min - găsirea valorii minime a câmpului;
  • Max - găsirea valorii maxime a câmpului;
  • Număr - numărarea numărului de înregistrări de câmp (poate fi utilizat pentru toate câmpurile);
  • StDav - calculul abaterii standard a câmpului;
  • Var - calculează modificarea valorilor câmpului.

Efectuarea operațiunilor de grup

Coloana totaluri poate conține totaluri pentru toate înregistrările din tabel sau grupate conform unui principiu. De exemplu, s-ar putea să ne intereseze prețul maxim sau mediu al bunurilor (câmpul Preț) de fiecare tip (câmpul Tip) prezentat în tabel. Pentru a utiliza operatorii rezumat în sarcina specificată, urmați acești pași:

  • în formularul de solicitare din linia Afișare, bifați casetele: Tipul și prețul care vor fi utilizate pentru calcule;
  • selectați comanda Totaluri din meniul Vizualizare sau faceți clic pe butonul cu același nume de pe bara de instrumente;
  • poziționați cursorul în câmp, peste valorile cărora se vor efectua calculele și selectați funcția necesară în celula Total;
  • Din meniul Interogare, alegeți Executare.

Folosind interogarea, suma (Suma) și media aritmetică (Avg) pot fi calculate, valorile minime (Min) și maxime (Max) din câmp pot fi găsite. După ce ați terminat de lucrat cu interogarea, o puteți salva sub un anumit nume.

Orez. 24.11 Compunerea unei interogări folosind o operație de grup

Extinderea condițiilor de selecție

De exemplu, doriți să cunoașteți volumul vânzărilor comenzilor scumpe (mai mult de 2500 de ruble) și ieftine (mai puțin de 500 de ruble). Introduceți în celulă criteriile:> 2500, în celulă sau (sau)<500. Условия, заданные в ячейке или, будут восприниматься как дополнительные.

Folosind un câmp calculat

Câmpul calculat afișează datele returnate de interogare din rezultatele evaluării expresiei. Valoarea câmpului este recalculată de fiecare dată când se schimbă expresia.
De exemplu, dacă fiecare comandă costă 5 ruble și doriți să calculați costul tuturor comenzilor făcute de fiecare client, atunci introduceți expresia în celula Câmp: Cost: [Număr de comenzi] * 5.

Expression Builder

Pentru a afișa fereastra constructor de expresii (Fig. 24.12), procedați în felul următor:

  • comutați la modul de proiectare a interogării;
  • în rândul Criterii, faceți clic dreapta pe coloana pentru care doriți să specificați criteriile de selecție și selectați comanda Build din meniul contextual sau faceți clic pe butonul cu același nume de pe bara de instrumente.

Orez. 24.12 Expression Builder

În partea de sus a dialogului Expression Builder este o casetă care afișează expresia pe măsură ce o creați. Accesul plasează adesea prototipuri în acest câmp, cuprinse între ghilimele cu unghi dublu, care trebuie înlocuite de utilizator cu elementele dorite. Fie introduceți valoarea corespunzătoare, fie selectați prototipul și înlocuiți-l cu un articol din lista din dreapta.
În partea de mijloc a ferestrei constructorului există o secțiune pentru crearea elementelor de expresie. Conține butoane cu operatori folosiți frecvent. Când faceți clic pe unul dintre aceste butoane, constructorul va insera declarația corespunzătoare în poziția curentă a câmpului de expresie. De exemplu, puteți face clic pe butonul Apreciază pentru a evita tastarea cuvântului.
Există trei câmpuri în partea de jos a ferestrei constructorului. Marja stângă afișează foldere care conțin tabele, interogări, formulare, obiecte de baze de date, funcții încorporate și definite de utilizator, constante, operatori și expresii generale. Caseta din mijloc setează anumite elemente sau tipuri de articole pentru folderul specificat în caseta din stânga. Câmpul din dreapta afișează o listă de valori (dacă există) pentru elemente. De exemplu, dacă selectați Funcții încorporate în câmpul din stânga, o listă cu toate tipurile de funcții Microsoft Access va apărea în câmpul din mijloc, o listă cu toate funcțiile încorporate specificate de stânga și mijloc va apărea în câmpurile din câmpul din dreapta.
Pentru a afișa o listă completă de operatori, selectați folderul Operatori în câmpul din stânga jos și tipul dorit în câmpul din mijloc. Toți operatorii tipului selectat vor fi afișați în câmpul din dreapta. Puteți introduce direct o parte a expresiei în câmpul superior.
Pentru a reveni la formularul de interogare, apăsați butonul OK. Expresia construită va fi inserată în câmpul în care se află cursorul. Numele câmpurilor la introducerea în formularul cererii ar trebui să fie incluse între paranteze drepte

Condițiile de selecție a înregistrărilor pot fi specificate pentru unul sau mai multe câmpuri în linia corespunzătoare a formularului de solicitare.

Condiția de selecție este o expresie care constă din operatori de comparație și operatori de comparație. Următorii pot fi folosiți ca operatori de comparație și logici: =,<, >, < >, Between, In, Like, And, Or, Not, care definesc o operație pe unul sau mai mulți operanzi.

Dacă condiția de selecție nu conține un operator, atunci operatorul = este utilizat implicit.

Literalele, constantele și identificatorii (referințe) pot fi folosiți ca operanzi.

Un literal este o valoare care este luată literal, și nu ca valoarea unei variabile sau rezultatul unui calcul (de exemplu, un număr, șir, dată).

Constantele sunt valori nevolatile (de exemplu, True, Falls, Yes, No, Null).

[Numele tabelului]! [Numele domeniului]

Condițiile de selecție specificate într-o linie sunt legate folosind operația AND logică și cele specificate în linii diferite - folosind operația SAU logică. Aceste operații pot fi specificate în mod explicit în condiția de selecție utilizând operatorii AND și respectiv OR.

Puteți forma o condiție de selecție folosind generatorul de expresii. Puteți trece la fereastra Expression Builder făcând clic pe butonul [Builder] de pe bara de instrumente sau selectând comanda Build din meniul contextual. În acest caz, cursorul mouse-ului trebuie poziționat în celula de intrare a condiției de selecție.

După ce introduceți o expresie pe o foaie de proiectare și apăsați o tastă, Access analizează expresia și o afișează pe baza rezultatelor acelei analize.

Pentru a executa o interogare, faceți clic pe butonul [Executare (!)] Sau [Vizualizare interogare] de pe bara de instrumente pentru proiectarea interogărilor.

Sortarea datelor. Pentru o vizualizare mai ușoară, puteți sorta înregistrările din tabel într-o anumită secvență. Butoanele de sortare din bara de instrumente (sau comenzile de meniu Înregistrări \ Sortare, Sortare crescătoare (Sortare descendentă) vă permit să sortați coloanele în ordine crescătoare sau descendentă. Înainte de a face clic pe butonul de sortare, trebuie să selectați câmpurile utilizate pentru sortare. SGBD moderne ( cum ar fi Access) nu sortează niciodată tabele niciodată așa cum au făcut-o înainte. Instrumentele de sortare a datelor (precum și filtrarea, căutarea și înlocuirea) sunt implementate în Access ca interogări generate automat. Înregistrările tabelelor sunt întotdeauna localizate în fișierul bazei de date și în ordinea în care au fost adăugate la masă.

Operatorii booleani sunt folosiți pentru a combina două valori booleene și pentru a returna adevărat, fals sau nul. Operatorii logici sunt, de asemenea, numiți uneori booleeni.

Scopul principal în crearea unei baze de date este organizarea informațiilor într-un tabel într-un mod ordonat, evitând redundanța informațiilor și realizarea logicii atunci când acestea sunt combinate. Bineînțeles, utilizatorul nu este interesat de toate datele din documente și clientul este mai interesat de informații specifice decât de locația sa. Pentru acest tip de filtrare a informațiilor există cereri. Interogarea selectată din Access este una dintre cele mai utilizate, vă permite să preluați informatie necesara, efectuați calcule, creați referințe încrucișate, dar fără a modifica informațiile din tabelele principale.

Cum se folosește Designerul pentru a crea o interogare selectată în Access

De exemplu, încercați să creați o listă de angajați cu titlul postului, salariul și bonusul de vechime. Bineînțeles, datele de interes vor fi în diferite tabele, astfel încât Access va selecta dintre obiectele conexe. Pentru a crea, urmați acești pași:

Figura arată clar că datele nu sunt comandate și nu este foarte convenabil să le vizualizați în acest formular. Atunci când formați o cerere, acest parametru trebuie să fie avut în vedere. Pentru a face acest lucru, în formular, ar trebui să utilizați o linie numită „Sortare”, cu ajutorul căreia puteți construi o listă de suprataxe începând de la maxim, terminând cu valoarea minimă.

În plus, puteți crea în Accesați interogarea pentru selecție cu o condiție: pentru a face acest lucru, în câmpul „Condiții de selecție”, setați parametru necesar(o anumită sumă de salariu, vizualizați indemnizațiile numai de la inginerii de proiect etc.).

Litere- semnificații specifice percepute de Access ca fiind scrise. Numerele, șirurile de text, datele pot fi folosite ca litere. Șirurile de text sunt cuprinse între ghilimele duble, date - în semne (#). De exemplu, 567, „Informatică”, # 1-ianuarie-99 #.

Constante- valori neschimbate definite în Access, de exemplu, Adevărat, fals, da, nu, nul.

Identificator- o referință la valoarea unui câmp, control sau proprietate. Identificatorii pot fi numele câmpurilor din tabele, formulare, rapoarte etc., care trebuie să fie încadrate între paranteze drepte. De obicei, Access efectuează expansiunea automată a parantezei.

În multe cazuri, o referință la o anumită valoare trebuie să indice locația exactă a acesteia în ierarhia obiectelor bazei de date, începând cu obiectul de nivel superior. Dacă trebuie să specificați un link către un câmp dintr-un anumit tabel, formular, raport, atunci numele tabelului, formularului, raportului este plasat înaintea numelui câmpului, de asemenea, inclus între paranteze pătrate și separat de numele câmpului Semnul exclamarii... De exemplu, un link către un câmp dintr-un tabel va arăta astfel: [Numele tabelului]! [Numele domeniului]și o trimitere la proprietatea DefaultValue a datei controlului nașterii în formular ELEV: Formulare! [STUDENT]! [Data nașterii] .DefaultValue

Operatori de comparație și operatori logici , a căror utilizare este permisă în exprimarea condiției de selecție, sunt:

Acești operatori definesc o operație pe unul sau mai mulți operanzi.

Dacă expresia din condiția de selecție nu conține un operator, atunci operatorul = este utilizat implicit.

Valorile textului dacă conțin spații sau semne de punctuație, acestea sunt introduse între ghilimele duble. În caz contrar, ghilimelele pot fi omise, acestea vor fi adăugate automat.

Permis de utilizat operatorii șablonului- un asterisc (*) și un semn de întrebare (?).

Operatorul Between vă permite să setați un interval pentru o valoare numerică și o dată. De exemplu:

Între 10 și 100

setează un interval de la 10 la 100; puteți seta intervalul de date:

Între # 01.01.1997 * și # 31.12.1997 *

Operatorul in vă permite să testați egalitatea cu orice valoare din lista inclusă între paranteze. De exemplu:

În („Matematicieni”; „Informatică”; „Istorie”)

Operator Ca vă permite să utilizați modele folosind metacaractere atunci când căutați câmpuri de text. De exemplu: Ca „Ivanov *”

Puteți forma o condiție de selecție folosind Expression Builder. Mergi la fereastră Expression Builder poți apăsând butonul Construi pe bara de instrumente pentru proiectarea interogărilor sau alegând comanda Construiîn meniul contextual. Cursorul mouse-ului trebuie setat preliminar în câmpul liniei de intrare a condiției de selecție.

După ce introduceți o expresie pe o foaie de proiectare și apăsați o tastă, Access analizează expresia și o afișează pe baza rezultatelor acelei analize.

Operații logice

Operații logice„ȘI”, „SAU”

Condițiile de selecție specificate într-o linie sunt legate implicit folosind o operație booleană și, specificate în linii diferite, folosind o operație booleană sau. Aceste operații pot fi, de asemenea, specificate în mod explicit într-o expresie de condiție de selecție utilizând respectiv și și, respectiv, operatorii.

Câmpuri calculate

Calculele pot fi efectuate pe câmpurile dintr-o interogare. Rezultatul calculului formează un câmp calculat în tabelul de interogare. De fiecare dată când se execută interogarea, se efectuează un calcul folosind valorile curente ale câmpului.

Pe lângă numele câmpurilor, pot fi folosite și expresiile de câmp calculate literale și funcții încorporate... Ca urmare a procesării unei expresii, se poate obține o singură valoare.

Expresia este introdusă în formularul de solicitare în câmpul gol al liniei Camp... După apăsarea unei taste sau mutarea cursorului pe un alt câmp dintr-o linie, numele câmpului este atașat înaintea expresiei din acel câmp din linie Expresia N... N este un număr întreg care crește cu unul pentru fiecare câmp calculat nou care este creat în interogare. Numele câmpului calculat înainte de expresie este separat de acesta prin două puncte. De exemplu:

Expresie!: [Preț] * [Cantitate] unde Preț și Cantitate- numele câmpurilor.

Numele câmpului calculat - expresie1 devine titlul coloanei din tabelul cu rezultatele interogării. Acest nume poate fi schimbat.

Pentru câmpurile calculate, la fel ca pentru oricare altul, puteți sorta, specifica condiții de selecție și calcula totaluri.

Funcții încorporate

Access și VBA definesc aproximativ 150 funcții încorporate care poate fi utilizat în câmpurile calculate și în condițiile de selecție. Să enumerăm câteva funcții grupate după scop.

  • Funcții de dată și oră... Se folosește la manipularea datelor și orelor în câmpuri și litere. Returnează data și ora în totalitate sau parțial (an, lună, zi), de exemplu, formularele funcției Date data curenta Funcția Lună extrage luna din valoarea câmpului care conține data.
  • Funcții de procesare a textului... Folosit atunci când se lucrează cu șiruri de caractere.
  • Funcții de conversie a tipului de date... Oferiți utilizatorului posibilitatea de a seta tipul de date pentru valorile numerice, ceea ce evită selectarea celor mai multe tip adecvat date de către sistem.
  • Funcții matematice și trigonometrice... Efectuați operațiuni pe valorile numerice asta nu se poate face cu operatori aritmetici standard.
  • Funcții financiare... Ca Funcții Excel, servesc la calcularea procentului de rentabilitate a investițiilor, amortizare, chirie anuală etc.
  • Funcții statistice... Se folosește atunci când se lucrează la câmpurile unui subset de înregistrări pentru a calcula valoarea medie, suma, valoarea minimă, valoarea maximă.

Pentru a scrie o expresie, poate fi folosit generatorul de expresii, care este apelat de buton Construi bare de instrumente.

Atribuirea de nume personalizate câmpurilor calculate

Utilizatorul poate atribui un nou nume câmpului calculat utilizând una dintre următoarele metode:

  1. Schimbați numele câmpului în cerere. În modul de proiectare a interogării în aspectul interogării, în loc de Expresie introduceți un nume nou.
  2. Schimbarea semnăturii câmpului în proprietățile câmpului. Plasați cursorul pe câmpul calculat în proiectarea interogării și deschideți fereastra Proprietăți de câmp făcând clic dreapta și selectând Proprietăți... La fereastră Proprietăți de câmpîn filă General introduceți textul semnăturii dorit în linie Semnătură de câmp.


Ti-a placut articolul? Împărtășește-l