Internet Windows Android

Proiectarea interogărilor. Generatori de interogări Utilizarea Generatorului de interogări vă permite

Capacitatea de a scrie textul interogării „manual” nu a fost niciodată „superfluă”, dar este mai convenabil să utilizați un designer de interogări.

Cometariu.

Din păcate, într-o aplicație gestionată, nu puteți utiliza designerul de interogări în procesarea „Fă cunoștință cu interogarea”. Îl puteți folosi în această procesare trecând la modul normal, dar nu vom face acest lucru.

Să creăm procesarea „Constructor de solicitări” și să o definim în subsistemul „Rapoarte și procesare”.

Să creăm un formular de procesare și să adăugăm în el atributul formularului „TabDoc” de tip „Document tabelar”, precum și comanda „Run Query” cu acțiunea „Run Query”. Apoi, trageți-le în formular.

În modulul formular, pentru ca comanda să funcționeze, scriem o procedură:

&OnClient

Procedura Executare interogare (comandă)

ExecuteRequestServer();

EndProcedure

&Pe server

EndProcedure

Intrăm în procedura apelată pe server și apelăm „Constructor de interogare cu procesare rezultat” din meniul contextual (Figura 2.65).

Figura 2.65 Constructor de interogări cu procesarea rezultatelor

Setați tipul de procesare la „Ieșire într-un document de foaie de calcul” și faceți clic fie pe butonul „Următorul”, fie pe fila „Tabele și câmpuri”.

În fila „Tabele și câmpuri” a designerului, puteți vizualiza tabelele existente în sistem (partea din stânga este intitulată „Bază de date”) (Figura 2.66).

Figura 2.67 Constructor de interogare

Tabelele din care interogarea va obține date sunt transferate în zona „Tabele” câmpurile solicitate de interogare sunt transferate în zona „Câmpuri”. Să o facem ca în Figura 2.68.

Fig 2.68 Constructor de interogare

Aici am eliminat câmpul de vizualizare implicit creat - „PREZENTARE (Recepția BunurilorProduse.Nomenclatură)”

În orice moment în timp ce lucrați cu designerul, puteți vizualiza textul de solicitare rezultat. Pentru a efectua această sarcină, trebuie să faceți clic pe butonul „Solicitare” situat în colțul din stânga jos al formularului de proiectant (Figura 2.69).

Puteți edita manual textul solicitării făcând clic pe butonul „Editați”.

Practică. Faceți clic pe butonul „OK” și verificați procesarea noastră în modul utilizator. Dacă analizați datele primite la executarea cererii, puteți găsi „repetări” articolelor articolului (dacă acest lucru nu a funcționat pentru dvs., atunci puteți copia și posta orice document „Primire de bunuri”).

Revenim la procedura ExecuteRequestServer() din procesarea „Constructor de interogare” și din meniul contextual apelăm din nou „Constructor de interogare cu procesare rezultat”.

Dacă trebuie să „restrângeți” rezultatul unei interogări, atunci în acest scop puteți utiliza fila „Grupare” a designerului de interogări.

Atunci când definiți grupările, trebuie să respectați următoarea regulă: toate câmpurile de selecție a interogărilor sunt împărțite în câmpuri după care se realizează gruparea (convoluția), câmpuri de tabele imbricate (câmpuri care sunt însumate în raport cu cele prin care se realizează gruparea) și agregate. funcții. Să definim grupările (Figura 2.70).

Figura 2.70 Generatorul de interogări

Dacă datele primite prin cerere trebuie selectate în funcție de o anumită condiție, atunci în acest caz poate fi necesar să folosiți fila „Condiții”. Să selectăm Buns ReceiptGoods.Quantity=10 (Figura 2.71).

Figura 2.71 Condiția constructorului de interogare.

Vă rugăm să rețineți că dacă condiția este definită în același mod ca în figură, cererea nu va fi executată.

Există două moduri de a corecta situația:

    Prin redefinirea condiției prin bifarea steagului „P...”;

    Profitând de oportunitatea de a schimba textul solicitării în sine (obținut făcând clic pe butonul „Editare cerere”).

Schimbarea manuală în sine va consta în faptul că este necesară eliminarea simbolului „&” înaintea numărului „10”. Acest simbol în textul solicitării definește parametrii solicitării, în care unele valori trebuie să fie scrise ulterior (dar înainte de executarea cererii). Faceți clic pe butonul „Editați interogarea” și editați (Figura 2.72).

Figura 2.73 Editarea unei interogări

În fila „Avansat”, puteți verifica o serie de steaguri (legate de cuvântul cheie „Selectare” al limbajului de interogare) și puteți determina compoziția tabelelor destinate modificării interogării (Figura 2.74).

Figura 2.74 Funcții suplimentare de interogare

În fila „Alături/Aliasuri”, puteți schimba numele câmpurilor setând „Aliasuri”, dar nu vom face acest lucru.

În fila „Comandă”, puteți defini ordinea de sortare a înregistrărilor ca rezultat al interogării (Figura 2.75).

Figura 2.75 Ordinea de sortare a înregistrărilor

Acordați atenție indicatorului „Comandă automată”, acesta poate fi folosit pentru a ordona după câmpuri de tip referință.

Când definiți secțiunea „Totale”, ar trebui să fiți pregătit pentru faptul că înregistrările totale „suplimentare” vor apărea ca rezultat al interogării. Împreună cu aceste înregistrări, rezultatul interogării devine ierarhic (Figura 2.76).

Figura 2.76.Rezultatele constructorului de interogare.

Este posibil să specificați mai multe tipuri de rezultate:

    Elemente (selectia rezultatului interogarii contine totaluri de grupare si inregistrari detaliate);

    Ierarhie (în selecția rezultatului interogării, în cazul general, există înregistrări sumar pe ierarhie, înregistrări sumar pe grupare și înregistrări detaliate);

    Numai ierarhie (în selecția rezultatelor interogării, în general, există înregistrări rezumative pe ierarhie).

După ce faceți clic pe butonul „Ok” al constructorului, va fi generat un „Layout” și codul pentru procedura ExecuteRequestServer() va fi scris în modulul formular:

&Pe server

Procedura ExecuteRequestServer()

//((QUERY_CONSTRUCTOR_WITH_RESULT_PROCESSING

// Acest fragment a fost construit de constructor.

// La reutilizarea constructorului, modificările făcute manual se vor pierde!!!

Layout = Processing.QueryConstructor.GetLayout("Layout");

Solicitare = Solicitare nouă;

Cerere.Text =

| Nomenclatura de primire a mărfurilor.

| SUM (primirea mărfurilor, mărfurilor. Cantitate) AS Cantitate,

| SUM(Recepția BunurilorMarfurilor.Suma) AS Sumă

| Document.Recepția Bunurilor.Marfa

| CUM SĂ PRIMIȚI PRODUSE

| Recepție Bună Cantitate > 1

|GRUPA DE

| Recepția Mărfurilor.Nomenclatura

|COMANDA DE

| Cantitate,

| Suma REDUCERE

| SUM(Cantitate),

| SUM(Suma)

| Nomenclatura IERARHIE”;

Rezultat = Query.Run();

HeaderArea = Layout.GetArea("Header");

AreaFooter = Layout.GetArea("Footer");

TableHeadArea = Layout.GetArea("TableHeader");

TableFooterArea = Layout.GetArea("TableFooter");

AreaNomenclatureHierarchy = Layout.GetArea("NomenclatureHierarchy");

AreaNomenclature = Layout.GetArea("Nomenclatura");

TabDoc.Clear();

TabDoc.Output(AreaHeader);

TabDoc.Output(TableHeadArea);

TabDoc.StartAutoGroupingRows();

SelectionNomenclature = Result.Select(BypassQueryResult.ByGrouping);

While SelectionNomenclature.Next() Loop

Dacă SelectionNomenclature.RecordType() = RequestRecordType.TotalByHierarchy, atunci

Area = AreaNomenclatureHierarchy;

Regiune = RegionNomenclature;

endIf;

Area.Parameters.Fill(SelectionNomenclature);

TabDoc.Output(Area, SelectionNomenclature.Level());

EndCycle;

TabDoc.FinishAutoGroupingRows();

TabDoc.Output(TableFooterArea);

TabDoc.Output(AreaFooter);

//))CONSTRUCTOR_QUERY_WITH_RESULT_PROCESSING

2. se poate specifica tipul necesar de controale corespunzatoare compozitiei obiectelor subordonate

3. toate cele de mai sus sunt adevărate

4.40 Documentul are toate formele sale principale deja definite. Când creați un formular nou în designer, setați următoarele casete de selectare (vezi figura). Ce se întâmplă după ce formularul este creat?

1. Formularul 2 va fi atribuit ca formular de document principal

2. Formularul 2 va fi desemnat ca formularul principal de listă a documentului

3. Nimic, deoarece formele principale sunt deja atribuite

4. Nimic, deoarece caseta de selectare „Lista de bază și formular de selecție” nu este bifată

4.41 Utilizarea generatorului de interogări vă permite să:

2. Generați cod de program care conține crearea unui obiect din limbajul încorporat Request, textul solicitării și obținerea rezultatului executării cererii

4. Răspunsurile 1 și 3 sunt corecte

5. Toate cele de mai sus

4.42 Utilizarea unui constructor de interogare cu procesarea rezultatelor vă permite să:

1. Generați textul unei noi solicitări

2. Generați codul programului care conține crearea unui obiect din limbajul încorporat Solicitare, textul solicitării, primirea și procesarea rezultatului solicitării

3. Editați textul unei cereri existente

4. Răspunsurile 1 și 3 sunt corecte

5. Greutate deasupra

4.43 La salvarea textului unei cereri deschise din nou folosind designerul de cereri, fără a face modificări acestui text:

1. Tot textul original rămâne neschimbat

2. Doar comentariile vor fi eliminate din textul original

3. Comentariile vor rămâne în textul original și vor fi șterse numai constructele limbajului de interogare a generatorului de rapoarte

4. Atât comentariile, cât și constructele limbajului de interogare ale generatorului de rapoarte vor fi eliminate din textul original

4.44 Generatorul de interogări poate fi apelat:

1. Folosind elementul din meniul principal „Text - Generator de interogări...”

2. Folosind butonul „Designers - Query Builder” din fila „Layouts” din fereastra de editare a obiectelor

3. Folosind elementul de meniu contextual pop-up „Query Builder...” care apare când faceți clic dreapta în textul modulului

4. Toate cele de mai sus sunt adevărate

5. Răspunsurile 1 și 3 sunt corecte

4 .45 Cine poate folosi generatorul de interogări?

1. Dezvoltatori, deoarece este necesară cunoașterea limbajului de interogare

2. Utilizatori calificați fără a utiliza un configurator

3. Toate cele de mai sus sunt adevărate

4. Niciun răspuns corect

4.46 Pe marcaj„Tabelele și câmpurile" ale constructorului de interogare sunt setate:

1. Interogați sursele de date, care pot fi tabele reale și virtuale

2. Un set de câmpuri din tabele - interogare surse de date

3. Câmpurile ca expresie arbitrară

4. Verpa răspunde I și 2

5. Toate cele de mai sus sunt adevărate

4.47 Pentru a crea o interogare imbricată în designerul de interogări, trebuie să:

1. Deschideți fila „Tabele și câmpuri”. În panoul de comandă de deasupra arborelui „Bază de date”, faceți clic pe butonul „Adăugați” sau selectați elementul din meniul contextual cu același nume

2. Deschideți fila „Tabele și câmpuri”. În panoul de comandă de deasupra arborelui „Tabele”, faceți clic pe butonul „Adăugați” sau selectați elementul din meniul contextual cu același nume

3. Deschideți fila „Tabele și câmpuri”. În panoul de comandă de deasupra arborelui „Câmpuri”, faceți clic pe butonul „Adăugați” sau selectați elementul din meniul contextual cu același nume

4. Nu puteți crea o interogare imbricată în designerul de interogări

4.48 Pentru a crea un câmp calculat în designerul de interogări, trebuie să:

1. Deschideți fila „Tabele și câmpuri”. În panoul de comandă de deasupra arborelui „Tabele”, faceți clic pe butonul „Editați elementul curent”. Adăugați un câmp nou în fereastra care se deschide

2. Deschideți fila „Tabele și câmpuri”. În panoul de comandă de deasupra arborelui „Câmpuri”, faceți clic pe butonul „Adăugați” sau selectați elementul din meniul contextual cu același nume

3. Deschideți fila „Asociații/Aliasuri”. În panoul de comandă de deasupra listei de câmpuri, faceți clic pe butonul „Adăugați” sau selectați elementul din meniul contextual cu același nume

4. Puteți crea un câmp calculat doar schimbând textul interogării „manual”

4.49 Pentru a crea rânduri grupate folosind funcții de agregare într-o interogare, trebuie completate următoarele în fila „Grupare” a designerului de interogări:

1. Doar o listă de câmpuri de grup. Specificarea câmpurilor de rezumat este opțională

2. Doar o listă de câmpuri de rezumat, în timp ce câmpurile rămase vor intra automat în secțiunea GROUP BY din textul cererii

3. Este obligatoriu să specificați atât câmpurile de grup, cât și câmpurile sumabile

4.50 În designerul de interogări, pot fi impuse condiții asupra valorilor funcțiilor agregate:

1. În fila „Grupare”, în lista câmpurilor însumate atunci când selectați o funcție de agregare

2. În fila „Condiții”.

3. În fila „Totale”, în lista câmpurilor totale atunci când selectați o funcție agregată

4. Nu puteți seta condiții pentru valorile funcțiilor agregate în designerul de interogări

4.51 În designerul de restricții de acces la date:

1. Puteți utiliza numai câmpurile obiectului pentru care este definită constrângerea

2. Puteți utiliza doar câmpurile obiectului pentru care este definită constrângerea și câmpurile tabelelor imbricate (în raport cu câmpurile obiectului)

3. Orice tabele care pot fi asociate într-o interogare cu câmpuri ale obiectului pentru care este definită constrângerea

4.52 Când definiți o restricție de acces în Designerul de restricții de acces la date...

1. Textul cererii poate fi generat doar de constructorul însuși

2. Textul de solicitare poate fi introdus numai manual

3. textul solicitării poate fi generat fie de către constructor însuși, fie manual

4.53 Când definiți o restricție de acces în Designerul de restricții de acces la date:

1. Regula de restricție este definită numai în fila „Legături”.

2. Regula de restricție este definită doar în fila „Condiții”.

3. Setările efectuate pe ambele file ale designerului sunt implicate în determinarea condițiilor de acces la date

4.54 La definirea unei restricții de acces în designerul de restricții de acces la date, textul condiției este:

1. Începe cu cuvântul cheie „Selectați”

2. Începe numai cu construcția „Select Various”.

3. Începe numai cu construcția „Select Allowed”.

4. Cuvântul cheie „Selectați” nu este definit

5. Opțiunile 1 și 3 sunt acceptabile

4.55 Constructorul de agregate este destinat formării agregatelor:

1. documente 2. directoare

3. registre de acumulare

5. rapoarte

4.56 Constructorul agregat poate fi numit:

1. Faceți clic pe butonul „Unități” din fereastra de editare a obiectelor de configurare din fila „Date”.

2. Prin meniul contextual din arborele de metadate „agregate deschise”

3. Prin meniul contextual din arborele de metadate „Constructori - designer agregat”

4. Răspunsurile corecte 1 și 2

5. Răspunsurile corecte 1 și 3

6. Toate răspunsurile verpa

4.57 Dacă proiectantul de agregate nu este disponibil pentru registrul de acumulare, trebuie să efectuați următorii pași:

1. Activați utilizarea agregatelor în configurație

2. Modificați setarea registrului de acumulare „Tip de înregistrare”

3. Deschideți unitățile și adăugați registrul de acumulare necesar la setări

4.58 Pentru a afișa o listă de unități optime în constructor, trebuie să:

1. Activați afișarea unităților optime

2. Calculați unitățile optime în configurator

3. Calculați unitățile optime în 1C:Enterprise

4. Calculați unitățile optime în 1C:Enterprise și încărcați-le în Configurator

4.59 Pentru a defini schema sursei de date într-un sistem de compunere a datelor, utilizați:

1. Constructor de interogări

2. Constructor de interogări cu procesarea rezultatelor

3. Designer de scheme de compoziție a datelor

4. Designer de setări pentru compoziția datelor

Designerul de interogări din 1C 8.3 și 8.2 este un instrument de dezvoltare puternic. Vă permite să compuneți un text de solicitare folosind un mediu vizual special. Astfel, pentru a crea o cerere 1C, nu este necesar să cunoașteți limbajul de interogare încorporat este suficient să navigați prin interfața simplă și intuitivă a designerului.

Generatorul de interogări este un set de file, fiecare dintre acestea fiind responsabilă pentru propria sa parte a interogării. Deci completând fila Tabele și câmpuri Selectăm tabele din care interogarea 1C va primi datele și câmpurile acestor tabele necesare pentru a rezolva o anumită problemă. Umplerea zidăriei Condiții impunem condiții tabelelor selectate pentru a selecta dintre ele doar datele de care avem nevoie și așa mai departe.

Descrierea designerului de interogări pe site-ul oficial 1C 8: v8.1c.ru

Tabele și câmpuri; ; ; ; ; ; Interogări imbricate (în dezvoltare).

Pentru a apela proiectantul de interogări 1s 8 în codul programului, trebuie să:

  • Creați o nouă cerere
Solicitare = Solicitare nouă;
  • Setați o linie de text de solicitare goală
Solicitare.Text = "";
  • Plasați cursorul mouse-ului între ghilimele și apăsați butonul dreapta al mouse-ului. În meniul contextual care se deschide, selectați elementul Constructor de interogări si raspunsul da la întrebarea despre crearea unei noi cereri. Dacă textul cererii a fost deja notat, atunci trebuie să faceți clic oriunde în el și să apelați constructorul ;

Să ne uităm la toate filele principale ale generatorului de interogări folosind exemple mici de complexitate crescândă. Această abordare va permite unui programator începător 1C să studieze mai eficient constructorul și toate capacitățile acestuia. Pentru exemple vom folosi configurația Contabilitate 3.0.

Lectia 1. Generatorul de interogări este cel mai simplu caz de utilizare.

Sarcină: scrieți o solicitare în directorul de nomenclatură, selectați întreaga nomenclatură a directorului.

File noi: Tabele și câmpuri.

Noi mecanisme: vizualizarea și editarea textului solicitării folosind butonul „Solicitare”.

Pentru a începe să creați o cerere, să creăm o nouă cerere și să apelăm constructorul (așa cum este scris câteva paragrafe mai sus). După aceasta, fereastra designerului se va deschide pe filă Tabele și câmpuri.

Partea teoretică a lecției nr. 1

Tab Tabele și câmpuri constă din trei secțiuni:

Bază de date. Această secțiune prezintă toate tabelele bazei de date care pot fi utilizate pentru a construi o interogare;

Mese. În această secțiune, sunt selectate tabelele necesare pentru această interogare. Pentru a le muta apoi din secțiune Bază de date trebuie sa:

  • Sau faceți dublu clic pe tabel;
  • Sau folosiți butoanele „>” sau „>>”.

Secțiunea de deasupra Mese Există o serie de butoane. Cele mai multe dintre ele vor fi discutate mai detaliat în lecțiile următoare. Deocamdată voi da doar explicații scurte.

  • Creați o subinterogare(Linie rosie). Proiectat pentru a crea o nouă subinterogare;
  • Creați o descriere temporară a tabelului(linia galbenă). Vă permite să specificați numele unui tabel temporar care se află în afara acestei interogări, poate fi folosit și pentru a trece un tabel de valori la interogare;
  • Schimbați elementul curent(linia verde). Vă permite să săriți la subinterogarea, tabelul temporar sau descrierea tabelului temporar selectat;
  • Eliminați elementul curent(linie albastră). Elimina tabelul selectat din tabelele selectate;
  • Înlocuiți masa(linie albastră). Deschide caseta de dialog pentru înlocuirea tabelului selectat. Util dacă ați selectat greșit tabelul virtual de înregistrare, deoarece poziționarea are loc pe tabelul selectat curent din listă.
  • Opțiuni de masă virtuală(linie violetă). Deschide parametrii tabelului de registru virtual.

Câmpuri. Această secțiune selectează câmpuri de tabel din secțiunea anterioară. Aceste câmpuri vor fi coloanele tabelului sau ale selecției obținute în urma interogării. Acestea sunt necesare în primul rând pentru a obține din tabelele selectate doar informațiile necesare într-un anumit caz. Pentru a le muta din secțiune Mesele necesare:

  • Sau faceți dublu clic pe câmp;
  • Sau utilizați butoanele „>” sau „>>”;
  • De asemenea, puteți adăuga un câmp nou, folosind o expresie arbitrară din câmpurile tabelelor selectate și ale funcțiilor limbajului de interogare.

Secțiunea de deasupra Câmpuri Există o serie de butoane. Crearea câmpurilor folosind expresii arbitrare va fi discutată mai detaliat în lecțiile următoare. Deocamdată voi da doar explicații scurte.

  • Adăuga(linia verde). Proiectat pentru a adăuga un câmp nou folosind editorul de expresii libere;
  • Schimbați elementul curent(Linie rosie). Vă permite să modificați câmpul selectat folosind editorul;
  • Ștergeți curentul(linie albastră). Îndepărtează câmpul selectat din listă.

Partea practică a lecției nr. 1

Ne-am ocupat de teoria necesară îndeplinirii sarcinii prevăzute în această lecție. Permiteți-mi să vă reamintesc cum sună: scrieți o solicitare în directorul nomenclatorului, selectați întreaga nomenclatură a directorului.

Să începem să creăm o solicitare pentru articole:

  • Să creăm o nouă cerere și să deschidem constructorul folosind metoda specificată la începutul lecției;
  • În capitolul Bază de date, hai să deschidem un thread Directoareși vom găsi un ghid acolo Nomenclatură;
  • Selectați-l și utilizați butonul „>” pentru a-l muta în secțiune Mese;
  • În capitolul Mese deschideți directorul nomenclaturii folosind pictograma „+”;
  • În lista de câmpuri care se deschide, găsiți câmpul Legăturăși mutați-l în secțiune Câmpuri folosind butonul „>”.
  • Solicitarea articolului este gata, faceți clic pe butonul „OK” din partea de jos a ferestrei de proiectare.

Generatorul de interogări are o interfață destul de simplă, intuitivă. Cu toate acestea, să ne uităm la utilizarea constructorului de interogări mai detaliat.

Constructorul de text de interogare este lansat din meniul contextual (butonul dreapta al mouse-ului) în locul dorit din codul programului.

Să ne uităm la fiecare filă a designerului mai detaliat. Excepție este fila Builder, care este un subiect pentru o altă discuție.

fila Tabele și câmpuri

Această filă specifică sursa de date și câmpurile care trebuie afișate în raport. În esență, aceasta descrie constructele SELECT... FROM.

Sursa poate fi un tabel fizic de bază de date, un tabel de registru virtual, tabele temporare etc.

În meniul contextual al tabelelor virtuale, puteți seta parametrii acestor tabele:

fila Conexiuni

Fila este folosită pentru a descrie conexiunile mai multor tabele și creează construcții cu cuvântul CONEXIUNE.

Fila Grupare

În această filă, sistemul vă permite să grupați și să rezumați câmpurile obligatorii ale rezultatului tabelului. Descrie utilizarea construcțiilor GROUP BY, SUM, MINIM, MEDIE, MAXIMUM, CANTITATE, NUMĂR DE DIFERENȚI.

Obțineți 267 de lecții video pe 1C gratuit:

fila Condiții

Raspunde de tot ce apare in textul de solicitare dupa constructia WHERE, i.e. pentru toate condițiile impuse datelor primite.

Filă avansată

Tab În plus plin cu tot felul de parametri care sunt foarte importanți. Să ne uităm la fiecare dintre proprietăți.

Gruparea Selectarea înregistrărilor:

  • Primul N— un parametru care returnează numai N înregistrări la interogare (PRIMUL operator)
  • Fără duplicate— asigură unicitatea înregistrărilor primite (operator VARIAT )
  • Permis— vă permite să selectați numai acele înregistrări pe care sistemul vă permite să le selectați, ținând cont(design PERMIS)

Gruparea Tip de solicitare determină ce tip de cerere va fi: preluarea datelor, crearea tabelelor temporare sau distrugerea unui tabel temporar.

Mai jos este un steag Blocați datele primite pentru modificare ulterioară. Vă permite să activați capacitatea de a seta blocarea datelor, ceea ce asigură siguranța datelor din momentul în care sunt citite și până când sunt schimbate (relevant doar pentru modul Blocare automată, design).

Fila Joins/Aliases

Această filă a designerului de interogări setează capacitatea de a uni diferite tabele și aliasuri (constructia CUM). Tabelele sunt indicate în partea stângă, dacă setați steagurile vizavi de tabel, vor fi utilizate constructele UNITE, în caz contrar - UNITE ALL (diferențe între cele două metode). În partea dreaptă este indicată corespondența câmpurilor din diferite tabele dacă nu este specificată corespondența, interogarea va returna NULL.

fila Comanda

Aceasta specifică ordinea în care sunt sortate valorile (ORDER BY) - descendent (DESC) sau crescător (ASC).

Există și un steag interesant - Comanda automată(in cerere - COMANDA AUTO). În mod implicit, sistemul 1C 8.3 afișează datele într-o ordine „haotică”. Dacă setați acest indicator, sistemul va sorta datele după datele interne.

Fila Lot de interogări

În fila Designer de interogări, o puteți utiliza și ca navigare. În textul cererii, pachetele sunt separate prin simbolul „;” (punct și virgulă).

Butonul de interogare în Generatorul de interogări

În colțul din stânga jos al designerului de solicitări există un buton Solicitare, cu ajutorul căruia puteți vizualiza textul solicitării în orice moment:

În această fereastră, puteți face ajustări la cerere și o puteți executa.

Unul dintre instrumentele principale pentru prelucrarea datelor într-un SGBD este interogările. Microsoft Access are un instrument de interogare grafic ușor de utilizat, numit QBE (Query By Example), care poate fi folosit pentru a construi cu ușurință o interogare complexă.

Interogarea se bazează pe unul sau mai multe tabele. Aceasta poate folosi tabele de baze de date, precum și alte interogări. O interogare QBE conține o schemă de date, inclusiv tabelele care trebuie utilizate și un formular de interogare. La construirea unei interogări, este suficient, folosind mouse-ul, să selectați și să trageți câmpurile necesare din tabelele prezentate în schema datelor de interogare în formularul de interogare și să introduceți condițiile de selectare a înregistrărilor.

Folosind o interogare, puteți efectua următoarele tipuri de prelucrare a datelor:

  • selectați înregistrări care îndeplinesc condițiile de selecție;
  • includeți câmpuri specificate de utilizator în tabelul de interogări rezultat;
  • efectuați calcule în fiecare dintre înregistrările primite;
  • grupați înregistrări cu aceleași valori în unul sau mai multe câmpuri pentru a efectua funcții de grup asupra acestora;
  • actualizați câmpurile dintr-un subset selectat de înregistrări;
  • creați un nou tabel de bază de date folosind date din tabelele existente;
  • ștergeți un subset selectat de înregistrări dintr-un tabel al bazei de date;
  • adăugați un subset selectat de înregistrări la un alt tabel.

Execuția secvențială a unui număr de interogări vă permite să rezolvați probleme destul de complexe fără a recurge la programare.

În Access pot fi create mai multe tipuri de interogări:

  • Cerere de mostra— selectează datele din tabelele interconectate și din alte interogări. Rezultatul este un tabel care există până când interogarea este închisă.
  • Interogare pentru a crea un tabel— se bazează pe o interogare selectată, dar spre deosebire de aceasta, rezultatul interogării este stocat într-un tabel nou.
  • Solicitări de actualizare, adăugare, ștergere- sunt cereri de acțiune, în urma cărora datele din tabele sunt modificate.

Fereastra de interogare

Fereastra de proiectare de interogări este împărțită în două panouri. Panoul de sus conține cerere de schemă de date, care include tabelele selectate pentru această interogare. Tabelele sunt reprezentate de liste de câmpuri. Panoul de jos este formular de cerere conform modelului de completat.

Solicitați schema de date

Fereastra de interogare afișează tabelele selectate și relațiile dintre ele care există în schema de date a bazei de date. Relațiile de alăturare pe care Access nu le poate stabili automat pot fi create de utilizator prin glisarea câmpurilor implicate în relație dintr-o listă de câmpuri în alta.

Exemplu de formular de cerere

Exemplul de formular de cerere este prezentat sub forma unui tabel în panoul de jos al ferestrei de solicitare. Înainte ca interogarea să fie generată, acest tabel este gol.

Fiecare coloană a formularului se referă la un câmp cu care trebuie lucrat în cerere. Câmpurile pot fi folosite pentru a le include în rezultatul unei interogări, pentru a seta sortarea după ele și, de asemenea, pentru a seta condiții pentru selectarea înregistrărilor.

La completarea formularului de cerere trebuie să:

  • În linia Câmp, includeți numele câmpurilor utilizate în cerere;
  • în linia Afișare, marcați câmpurile care ar trebui incluse în tabelul rezultat;
  • în linia Condiție selecție, setați condițiile pentru selectarea înregistrărilor;
  • în linia Sortare, selectați ordinea de sortare a înregistrărilor rezultate.

Câmpurile formularului de solicitare

Fiecare coloană a formularului de cerere corespunde unuia dintre câmpurile tabelelor pe care se bazează cererea. În plus, aici poate fi plasat un câmp calculat, a cărui valoare este calculată pe baza valorilor altor câmpuri.

Pentru a include câmpurile obligatorii din tabele în coloanele de interogare corespunzătoare, puteți utiliza următoarele tehnici:

  • În prima linie a formularului de solicitare câmp, faceți clic cu mouse-ul pentru a face să apară butonul de listă și selectați câmpul dorit din listă. Lista conține toate câmpurile tabelelor prezentate în formularul de solicitare;
  • trageți câmpul necesar din lista câmpurilor de tabel din schema de date de solicitare în prima linie a formularului de solicitare.

În lista de câmpuri din fiecare tabel, primul loc este simbolul *, care înseamnă „toate câmpurile tabelului”. Această opțiune este selectată dacă toate câmpurile sunt incluse în cerere.

Pentru a șterge un câmp din formularul de cerere, selectați coloana de șters făcând clic pe butonul mouse-ului în zona de etichetare a coloanei și apăsați tasta DEL sau executați elementul de meniu Editați/Ștergeți coloana.

După finalizarea designului interogării, îl puteți deschide pentru vizualizare. Formularul de vizualizare a cererii este tabelar. Cu toate acestea, aceasta este o masă virtuală, de ex. format în RAM la deschiderea unei cereri. De exemplu, pentru fereastra de proiectare prezentată mai sus, obținem următorul tabel:

Condiții pentru selectarea înregistrărilor

Condiția de selecție este o expresie care constă din operatori de comparație și operanzi utilizați pentru comparație. Ca operanzi de expresie pot fi folosiți următoarele: literale, constante, identificatori (link-uri).

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

Constantele sunt valori care nu se modifică, de exemplu, Adevărat, Fals, Da, Nu, Nul (constantele sunt definite automat în Access).

Un identificator este o referință la valoarea unui câmp, control sau proprietate. Identificatorii pot fi nume de câmpuri, tabele, interogări, formulare, rapoarte etc. Acestea trebuie incluse între paranteze drepte. În multe cazuri, Access va înlocui automat parantezele. Dacă este necesar să se indice o legătură către un câmp dintr-un anumit tabel, formular sau raport, atunci numele câmpului este precedat de numele tabelului, de asemenea cuprins între paranteze pătrate și separat de numele câmpului printr-o exclamație marcă. De exemplu, [Numele tabelului]![Numele câmpului].

În exprimarea condiției de selecție este permisă utilizarea operatorilor de comparație și a operatorilor logici: =,<, >, <>, Between , In , Like , And , Or , Not , care 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 în mod implicit.

Valorile textului dintr-o expresie sunt introduse între ghilimele dacă conțin spații sau semne de punctuație. În caz contrar, nu trebuie să introduceți ghilimele, acestea vor fi adăugate automat.

Este permisă utilizarea operatorilor wildcard - asterisc * și semnul întrebării?.

Operatorul Între vă permite să specificați un interval pentru o valoare numerică. De exemplu,

Între 10 și 100

setează intervalul de la 10 la 100.

Operatorul In vă permite să verificați egalitatea cu orice valoare din listă, care este specificată în paranteze. De exemplu,

În ("Matematică", "Informatică", "Istorie")

Operatorul Like permite ca modelele care folosesc caractere joker să fie folosite la căutarea câmpurilor de text. De exemplu,

Ca „Ivanov*”

Condițiile de selecție specificate într-o linie sunt conectate folosind operația logică „ȘI”, specificată în linii diferite - folosind operația logică „SAU”. Aceste operații pot fi specificate explicit în expresia condiției de selecție folosind operatorii AND și respectiv SAU.

Puteți crea o condiție de selecție folosind generatorul de expresii. Du-te la fereastra Generator de expresii se poate face făcând clic pe butonul Construire din bara de instrumente sau selectând comanda Construire din meniul contextual. Cursorul mouse-ului trebuie să fie poziționat în celula de intrare a condiției de selecție.

După ce introduceți o expresie într-un formular și apăsați Enter, Access analizează expresia și o afișează în funcție de rezultatele analizei respective.

Întrebări de control

  1. Pentru ce sunt cererile?
  2. Ce tipuri de prelucrare a datelor efectuează interogările?
  3. Ce tipuri de interogări sunt implementate în Access?
  4. Din ce părți constă fereastra de proiectare de interogări?
  5. Este necesar să aveți o schemă de date de proiect atunci când dezvoltați o interogare?
  6. Descrieți cum să completați primele două rânduri ale câmpurilor formularului de solicitare.
  7. Ce este o condiție de selecție a înregistrărilor? Cum să-l setați? Dă exemple.
  8. Care sunt pașii generali pentru crearea, actualizarea și adăugarea tehnologiilor de solicitare?
  9. Care sunt asemănările și diferențele dintre tabelele și interogările bazei de date?