Deschideți setul de înregistrări în Ado

Deschiderea Recordset-ului, metoda Open (), trecând interogarea când Recordset-ul este deschis

De obicei, următorul pas după stabilirea conexiunii este de a crea obiectul Recordset și de a lucra cu acesta.







Ce este un obiect Recodrset? Cuvântul Recodrset este un set de înregistrări, adică un set de înregistrări. Cea mai simplă modalitate de ao imagina ca tabletă (similară tabelelor din Excel), care se află în memoria RAM a calculatorului. Cu toate acestea, Recordset are diferențe fundamentale față de tabelele Excel:

  • Excel nu respectă "strictețea" tabelelor. La întreprinderi găsiți adesea tabele, în mijlocul cărora se introduc, de exemplu, rezultate intermediare pe grupuri sau note. Un set de înregistrări este un tabel "strict". Definește în mod clar coloanele și rândurile și pauzele pe care nu le permite (deși unele valori la intersecția rândurilor și coloanelor ar putea fi goale);
  • În tabelul Excel într-o coloană, fără probleme, puteți utiliza diferite valori - numerice, date, șir, formule etc. În setul de înregistrări, pentru fiecare coloană, tipul de date este determinat, iar valorile din această coloană trebuie să se potrivească cu acest tip de date.

Recordset creat de obicei, pe baza datelor primite de la sursa (dar pot fi create și completate manual), care sunt prevăzute în coloanele (Fields) și rând (Row). Crearea unui obiect Recordset și completați-l cu datele de la sursa în forma sa cea mai simplă arata ca acest lucru (presupunând că am deschis prin obiect cn legătură cu formarea bazei de date Northwind pe SQL Server):

Dim rs Ca nou ADODB.Recordset

rs.Open "clienți", cn

Pentru a vă asigura că setul de înregistrări este într-adevăr creat și există, puteți utiliza, de exemplu, șirul

Când deschideți setul de înregistrări, este posibil să aveți erori, deci este recomandat să utilizați instrumentul de eroare ca de obicei. Nu există o colecție specială de erori în setul de înregistrări, deci va trebui să obțineți obiectul standard Err.







În exemplul nostru, am deschis în totalitate tabelul Clienți. Cu toate acestea, aceasta nu este singura modalitate (și nu cea mai bună) de a extrage date dintr-o sursă. Pentru metoda Open (), este recomandat să utilizați o interogare în SQL. De exemplu, în cazul nostru, am putea folosi acest cod:

rs.Open "selectați * din dbo.customers", cn

De ce să folosiți o interogare mai bună:

  • Este posibil să specificați filtrul Unde (condiția este obligatorie în citate unică) și nu toate înregistrările din Setul de înregistrări, ci doar cele pe care le aveți;
  • există posibilitatea de a limita numărul de coloane returnate în același mod - reducerea din nou a cantității de date transferate și reducerea consumului de memorie;
  • Există posibilitatea de a utiliza funcțiile de îmbinare, funcțiile SQL, sortarea sursei de date și multe funcții suplimentare utile.

Foarte des, în aplicații reale, textul interogării este "blocat împreună" din piesele care provin din locuri diferite. De exemplu, utilizatorul a selectat în lista verticală numele clientului - și pentru schimbare eveniment pentru o listă drop-down, apoi a lucrat o procedură care a respectat o cerere SQL Server, pentru a obține date pentru acest client, și atribuiți valoarea altor controale. În cazul nostru, linia corespunzătoare de cod poate arăta astfel:

rs.Open "selectați * din dbo.customers În cazul în care CompanyName =" „„“ ComboBox1.Value _ "„". cn

Setul de caractere "" "este o singură cotație în interiorul a două dubluri. Este necesară o astfel de construcție, astfel încât textul cererii să poată fi privit, de exemplu, astfel:

selectați * din dbo.customers În cazul în care CompanyName = 'Alfreds Futterkiste'

Motivul este simplu: în SQL, valorile șirului trebuie să fie închise în ghilimele simple.

Dacă sunteți responsabil nu numai pentru crearea unei aplicații client, ci și pentru proiectarea unei baze de date, poate fi foarte convenabil să furnizați o interogare de date numai prin vizualizări. Acest lucru va permite o mai mare flexibilitate pentru a gestiona sistemul de securitate și, dacă este necesar, remodelarea bazei de date (de exemplu, divizarea tabelul principal pentru curent și arhiva) a salva o mulțime de timp.

Și încă un moment practic. Desigur, este foarte util să lucrezi cu bazele de date pentru a cunoaște limba interogărilor SQL. Literatura despre ea este foarte mult și este destul de realistă să o stăpâniți în câteva zile. Cu toate acestea, dacă sunteți un utilizator obișnuit și nu aveți nicio idee despre SQL, nu vă faceți griji. Doar deschideți mesele întregi fără întrebări - tot ce se poate face cu instrumentele VBA.







Articole similare

Trimiteți-le prietenilor: