Crearea interogărilor cu interogarea Microsoft
Microsoft Office include un program separat numit Microsoft Query, care oferă acces la bazele de date create cu instrumente software cum ar fi dBASE, Access, Paradox, Microsoft SQL Server etc. Acest program vă permite să selectați informații din baza de date, sort , editați-l și copiați-l în foaia de lucru. Utilizând Microsoft Query, puteți obține date pe baza unor criterii definite de utilizator. Excel comunica cu Microsoft Query prin intermediul mecanismului DDE (Dynamic Data Exchange). Microsoft Query funcționează cu surse externe de date prin drivere ODBC (Open Database Connectivity), care sunt standardul Microsoft pentru lucrul cu bazele de date. Pentru a obține date de interogare utilizând driverul ODBC, se utilizează limba de interogare SQL (Language Structured Query Language).
Luați în considerare secvența de creare a unei interogări utilizând Microsoft Query pe baza unei baze de date simple a elevilor creați în Access (Figura 15.1).
Executați comanda Data, date externe, creați interogări (date, obțineți date externe, interogare bază de date nouă). Se va afișa caseta de dialog Alegeți sursa de date (Figura 15.2). În această fereastră, selectați sursa de date, de exemplu, o bază de date creată în Access 97. Faceți clic pe butonul Options (Opțiuni), cu fereastra Source Source (Data sursă) care apare, puteți seta dosarele în care să căutați sursa de date. Deci, selectați baza de date creată în Access 97 ca sursă și faceți clic pe OK.
În caseta de dialog Selectare bază de date (Figura 15.3), în lista Nume de bază de date, selectați numele fișierului bazei de date (în acest caz students.mdb) și faceți clic pe OK, care va porni Expertul interogare.
Fig. 15.1 Baza de date a studenților
Fig. 15.2 Fereastra Dialog Selectați sursa de date
Fig. Caseta de dialog Selectare bază de date
Se deschide caseta de dialog Expertul interogare - Alegeți coloanele (vedeți Figura 15.4), care vă permite să adăugați coloane sau câmpuri în lista Coloane de interogare. Când faceți clic pe butonul> din mijlocul casetei de dialog Expert interogare selectare coloane, coloana selectată este adăugată la interogare, butonul <служит для удаления выбранного столбца из списка столбцов запроса, а кнопка « позволяет удалить все столбцы запроса. В рассматриваемом случае в список Столбцы запроса (Query Columns) добавим все поля базы данных, кроме поля номер. Нажмите кнопку Далее> (Următorul>), treceți la pasul următor al expertului de interogare.
Fig. Caseta 15.4.Dialog Creare interogare: Selectați coloanele
Se deschide caseta de dialog Query Wizard-File Data (Figura 15.5), care vă permite să filtrați datele din câmpurile selectate. Pentru a filtra datele din lista Coloane pentru selectare, selectați coloana de filtrare. În prima listă derulantă, este selectată operația de selecție, iar în cea de-a doua conține toate valorile din câmpul selectat, selectați-o pe cea dorită sau introduceți-o pe cea proprie. Dacă este necesar, introduceți operațiuni suplimentare de selecție pentru a selecta un comutator și (AND), sau sau (OR), și de a folosi următoarele liste derulante pentru a introduce criteriile de filtrare, și așa mai departe. D. După ce creați criteriile de filtrare, faceți clic pe Next> (Următorul>), trecerea la pasul următor expertul de interogare. În acest caz, să efectueze filtrarea de către echipa de teren, stabilind un criteriu egal cu economie, și câmpul sub rezerva criteriului științei calculator valoare egală, t. E. Afișează numai informațiile privind rezultatele pune studenții la informatică de economie. Rețineți că câmpurile selectate vizual sunt diferite de cele selectate prin faptul că sunt boldate.
Fig. Caseta de dialog. Crearea unei interogări: colectarea de date
Se deschide caseta de dialog Expert interogare - Sortare date (vezi Figura 15.6), care vă permite să sortați datele în câmpurile selectate în ordine ascendentă sau descendentă. Sortați datele în funcție de ultimul nume în ordine crescătoare. Faceți clic pe Următorul> (Următorul>), continuând cu pasul următor al expertului de interogare.
Fig. 15.6 Caseta de dialog Crearea unei interogări: ordinea de sortare
Se deschide caseta de dialog Creare interogare: Finală (consultați Figura 15.7). Dacă doriți să utilizați din nou aceeași interogare, o puteți salva utilizând butonul Salvați interogare. Pentru a finaliza crearea interogării, bifați caseta de selectare Reveniți la Microsoft Excel și faceți clic pe Terminare.
Fig. 15.7 Caseta de dialog Crearea unei interogări: pasul final
Fig. 15.8 Caseta Dialog Reveniți la Microsoft Excel
Înregistratorul macro înregistrează acțiunile de mai sus ca fiind următoarea macrocomandă:
Pentru a unifica modul de lucru cu bazele de date create prin diferite mijloace (de exemplu, Access, FoxPro, SQL Server etc.), Microsoft a dezvoltat o interfață de acces la date numită Open Database Connectivity (Open Database Connectivity). Intrarea, recuperarea și manipularea datelor au loc utilizând limba de interogare structurată (SQL, Structured Query Language). ODBC oferă un standard pentru transferul datelor de la o aplicație la alta.
În plus, vă permite să creați, să ștergeți, să editați, să sortați și să filtrați câmpuri, înregistrări și tabele.
Microsoft Jet - este motorul de baze de date, care oferă posibilitatea de a avea acces la date din orice aplicație care acceptă OLE Automation, în special VBA și Excel, indiferent de sistemele de gestionare a bazei de date specifice de interfață. Motorul Jet stochează informațiile sale implicite în fișiere cu baze de date care au extensia mdb. Aceste fișiere conțin tabele, module, formulare, rapoarte, interogări și indexuri. Desigur, formatul mdb nu este singurul format de bază de date cu care lucrează Microsoft Jet. Acesta acceptă formatele bazelor de date create cu FoxPro, dBASE și așa mai departe.
DAO - obiect acces la date
Obiectul de acces la date (DAO, Data Access Objects) a fost creat ca o interfață orientată pe obiecte a motorului bazei de date Jet, adică pentru a oferi interacțiunea între aplicație, de exemplu VBA, și motorul bazei de date Jet. Office 97 include o nouă versiune a DAO - DAO 3.5, care vă permite să manipulați datele ocolind miezul Jet. În DAO 3.5, puteți comunica direct cu sursele de date prin ODBCDirect, ceea ce face ca aplicațiile să fie mai rapide.
Obiectele de acces de date reprezintă o reprezentare logică a unei baze de date relaționale: tabele, înregistrări, câmpuri, indexuri etc. incluse în ea.
Există 17 tipuri de obiecte de acces la date în total. În Fig. 15.10 prezintă obiecte de acces la date pentru primele patru nivele ierarhice. În partea de sus a ierarhiei obiectelor de acces este obiectul DBEngine, direct motorul bazei de date Jet. Obiectul Error, care este un element al familiei Erori, stochează informații despre erorile care apar în timpul accesului obiect la date. Obiectul DBEngine conține, de asemenea, familia de spații de lucru a obiectelor de spațiu de lucru care stabilesc sesiunile de utilizator numite pentru utilizator. Fiecare obiect spațiu de lucru include familia de baze de date, care constă dintr-unul sau mai multe obiecte baze de date care sunt baze de date publice. TabieDef, membrul familiei TabieDefs, reprezintă definiția stocată a tabelului principal sau atașat. Object QueryDef, membru al familiei QueryDefs, acesta este stocat în baza de date cu definiție interogarea bazei de date Microsoft Jet sau solicitarea de identificare temporară în spațiul de lucru ODBCDirect. Obiectul Recordset, membru al familiei Recordsets, reprezintă setul de înregistrări din tabelul principal sau setul de înregistrări care rezultă din interogare. În obiectele Container, aceleași obiecte sunt grupate, iar obiectul Relation reprezintă o legătură între câmpurile tabelelor sau interogărilor.
Procedură pentru accesarea obiectelor la date
Când preluați informații utilizând accesul obiect la date, aveți nevoie de:
- Creați un spațiu de lucru (un obiect spațiu de lucru)
- Deschideți baza de date (sursă) de date (obiect bază de date)
- Creați un set de înregistrări (obiect Recordset)
- Pentru a lucra direct cu înregistrări și câmpuri specifice
Creați un spațiu de lucru
Puteți crea un spațiu de lucru utilizând metoda CreateWorkspace a obiectului DBEngine.
Setați zona de lucru = CreateWorkspace (Nume, Nume utilizator, Parolă, UseType)
De exemplu, pentru a crea un spațiu de lucru Microsoft Jet, puteți utiliza următoarele două instrucțiuni:
Dim zona de lucru ca CreateWorkspace
Set RabochayaOblast = DBEngine.CreateWorkspace (Name: = "MoyaOblast", NumeUtilizator: = "admin", Parola: = "", UseType: = dbUseJet)
Dim zona de lucru ca CreateWorkspace
Setați zona de lucru = CreateWorkspace (Nume: = "Zona mea", UserName: = "UID'V Password: =" ", UseType: = dbUseODBC)
Deschiderea bazei de date (sursă) de date
Puteți deschide baza de date utilizând metoda OpenDatabase a obiectului Workspace.
Setați DatabaseDatabase = Work Area.OpenDatabase (nume, opțiuni, readonly, connect)
O variabilă de obiect reprezentând un obiect Baze de date deschis
O variabilă de obiect care reprezintă un obiect spațiu de lucru existent care va conține baza de date. Dacă opțiunea Zona de lucru nu este specificată, metoda OpenDatabase utilizează spațiul de lucru standard
Returnează valoarea reală dacă indicatorul de înregistrare curentă este înainte de prima înregistrare a stabilit un record, și fals, apoi în cazul în care înregistrarea curentă este prima înregistrare stabilit sau orice înregistrare după ce returnează adevărat dacă indicatorul de înregistrare curentă este poziționat după ultimul set de înregistrare, iar valoarea Fals dacă indicatorul curent de înregistrare se află pe ultima intrare din set sau pe orice înregistrare din fața acestuia
Luați în considerare lucrul cu baza de date pe exemplul următoarei aplicații simple, care utilizează toate operațiile de bază cu înregistrări. Baza de date este localizată în fișierul student.mdb, creat în Access, și este format dintr-o tabelă FirstCourse. În tabel există patru câmpuri: Nume, Grup, Subiect și Rating. Când porniți aplicația, se afișează caseta de dialog Primii ani de studenți.
Fig. 15.11.Fișa dialogului Studenți în primul an
Următorul program:
- Când caseta de dialog este activată, informațiile despre primul student sunt afișate în câmpurile de introducere și în inscripția întregii înregistrări se indică numărul total de înregistrări din tabel.
- Când apăsați butoanele> și <происходит перемещение на одну запись вперед и назад соответственно, а при нажатии кнопок>> și <<— перемещение в конец и начало таблицы соответственно.
Când se apasă butonul de căutare, se caută prima înregistrare din tabel cu numele specificat (dacă nu există o astfel de înregistrare, apoi folosind proprietatea Bookmark, pointerul revine la aceeași poziție în care a început căutarea). Când faceți clic pe butonul Găsiți Next, veți găsi o intrare ulterioară cu același nume.
- Dacă faceți clic pe butonul Ștergere, se șterge intrarea.
- Când faceți clic pe o nouă înregistrare, se creează o nouă înregistrare pe baza datelor introduse în câmpurile de introducere.
- Când faceți clic pe butonul Editare, se fac modificări la înregistrarea din baza de date.
- Când faceți clic pe Închidere, baza de date și caseta de dialog sunt închise.
- Când se selectează comutatorul, bunurile și persoanele excelente sunt afișate în caseta de dialog numai despre bunele persoane și cei mai buni studenți, iar când selectați comutatorul - afișează informații despre toți elevii.
"Variabile de nivel al modulelor
Zona de lucru Dim ca spațiu de lucru
Baza de date de date ca bază de date
Dim înregistrare ca înregistrări
Dim înregistrare ca înregistrări
Ștergeți ultimul nume ca șir
Dim criteriu ca șir
Dim Tabul Varianta
Private Sub CommandButton1_Click ()
'Găsiți o înregistrare după numele de familie
'Înregistrarea curentă este reținută în marcaj
"Se citește ultimul nume din câmpul Prenume, pe baza sa
"creează un criteriu de căutare și caută prima înregistrare cu
Criterion = "[Nume] =" " Nume de familie „„“
'Dacă este găsită o înregistrare cu numele de familie specificat, este afișată
"în caseta de dialog.
'Dacă nu sa găsit o înregistrare, este afișat un mesaj și
"folosind marcajul, reveniți la
'a început o căutare
Dacă Record.NoMatch = False Apoi
MsgBox "Înregistrare nu a fost găsit", vblnformation, "Students"
Afișează End End Dacă
Private Sub CommandButtonlO_Click ()
"Du-te la ultima înregistrare