012 - EXEMPLU calcul totalul tabelul bazei de date Microsoft Access, fără a utiliza
Exemplu de calcul a sumei totale din tabelul de baze de date Microsoft Access, fără a utiliza SQL solicitant
Sunt momente când aveți nevoie de o tabelă de bază de date pentru a calcula suma valorilor numerice ale unor coloane. Pentru aceasta există diferite metode de calcul, dintre care unul se bazează pe utilizarea SQL corespunzătoare solicitant.
În această sarcină, exemplul unui tabel Microsoft Access. Acesta a calculat suma totală, fără a cere SQL. suplimentar calculat valorile medii aritmetice ale celulelor specificate in coloana.
Folosind acest exemplu, puteți crea orice fel de calcule numerice pe o mulțime de înregistrări ale coloanei specificate.
tabelul dat. Microsoft Access baze de date mijloace formate. Tabelul conține date cu angajații de salarizare.
Tabelul are următoarea structură.
Imediat după încărcare, cererea trebuie să calculeze valoarea totală evaluată și media aritmetică. ieșire Rezultatul în componente de tip nevoie TStaticText.
Puneți următoarele componente pentru a forma (figura 1.):
- din fila componenta TADOConnection „dbGo“. Se creează un obiect numit ADOConnection1;
- din tab-ul „date de acces“ componentă TDataSource. Se creează un obiect numit DataSource1;
- de la tab-ul "dbGo" de tip pentru componente TADOTable. Se creează un obiect numit ADOTable1;
- din tab-ul „Controale de date“ de tip pentru componente TDataGrid. Se creează un obiect numit DBGrid1;
- din fila trei TStaticText de tip „suplimentară“ componentă. Obiectele sunt create cu numele StaticText1, StaticText2.
În componenta StaticText1 va afișa suma totală.
În componenta StaticText2 din salariul mediu va fi afișat (media aritmetică).
Fig. 1. Componentele formează- Conectarea bazei de date. componentă de proprietate ConnectionString ADOConnection1.
Procesul de conectare aplicații la baza de date Microsoft Access este descris în detaliu aici.
Aceasta are ca rezultat o linie în componenta ConnectionString ADOConnection1 (Fig. 2). Această linie conține furnizorul de date și tastați calea completă către fișierul bazei de date.
Fig. 2. String component ConnectionString ADOConnection1- Setarea componentei ADOConnection1, ADOTable1, DataSource1, DBGrid1.
Pentru a afișa tabelul bazei de date, trebuie să configurați următoarele proprietăți ale componentei:
. - proprietatea componentei ADOConnection1 loginprompt = „false“ (Figura 3) (Anulare cerere numele de utilizator și parola pentru a accesa baza de date);
- componenta ADOTable1 proprietate Connection = "ADOConnection1" (Figura 4).
- componenta DataSource1 proprietatea DataSet = "ADOTable1" (Figura 5).
- componenta DBGrid1 proprietatea DataSource = "DataSource1" (Figura 6).
- componenta ADOTable1 proprietatea tabelanume = "lucrător" (Figura 7).
- în proprietățile componentei opțiunii Opțiuni DBGrid1 set dgEditing = false (intrare ban de date într-o celulă de tabel direct din grila DBGrid1) (figura 8.).
Fig. Componenta 3. Proprietate loginprompt ADOConnection1
Fig. 4. Proprietatea Conexiune componentă ADOTable1 Fig. 5. Proprietatea a DataSource1 componente DataSet Fig. componenta 6. DataSource DBGrid1 Fig. 7. Proprietatea Nume_tabelă componenta ADOTable1 Fig. 8. Opțiunea componentă dgEditing proprietăți Opțiuni DBGrid1Pentru a afișa datele din tabel necesită următoarele etape (Figura 9) .:
- selectați un tabel ADOTable1;
- Activ = proprietate adevărat.
Datele sunt afișate în tabelul DBGrid1.
Fig. 9. proprietate componentă activă ADOTable1
Următorul pas este de a ajusta dimensiunea și poziția componentei pe un formular, așa cum se arată în figura 10.
Fig. 10. Forma principală a aplicațieiPentru a afișa tabelul avut vizualizarea corectă, aveți nevoie pentru a ascunde un ID_Worker câmp, care este un domeniu-cheie. În tabel, acest câmp este un contor. Când se adaugă o nouă valoare de înregistrare în acest domeniu este generat automat (a crescut cu 1).
Form1.ADOTable1 fereastra deschisă. În această fereastră, folosind mouse-ul, aveți nevoie pentru a aduce meniul contextual. selectați comanda «Adăugați toate câmpurile» din meniul contextual.
Ca rezultat, doar două câmpuri sunt afișate în tabelul DBGrid1 (Fig. 13).
Fig. Tabel 13. Lucrător cu două câmpuri Afișează
- Stabilirea filtru de ieșire cu două caractere după virgulă în câmpul Salariu.
Pentru a afișa corect valoarea câmpului Salariul a sumei (2 zecimale), urmați acești pași.
Următorul pas este necesar în Object Inspector în „Format Display“ pentru a seta „0.00“ valoare (Fig. 14).
Fig. 14. Stabilirea unui format de ieșire în ADOTable1 obiect SalariuDupă acțiunile realizate, câmpul Salariu în tabel vor fi afișate cu o precizie de 2 zecimale.
Pentru a salva cantitatea de date și media aritmetică trebuie să introduceți text în clasa forma TForm1 variabile interne numită sumă și avg.
Variabilele sunt introduse în secțiunea privată. clasa Fragment TForm1 cod formular este după cum urmează:
- Evenimente de programare formular de activare.
Odată ce un utilizator descarcă un program, trebuie să calculeze imediat valoarea sumei și media aritmetică în tabel.
Prin urmare, este necesar să se programeze evenimentul OnActivate forma Form1. eveniment OnActivate va fi cauzată în momentul activării formei, după programul de execuție.
EXEMPLUL de programare Delphi evenimente descrise în detaliu aici.
În acest caz, de tratare a evenimentelor este după cum urmează:
Explicați unele fragmente de cod.
DisableControls și EnableControls metode responsabile de deschidere și de închidere sunt conectate la un set de date (baze de date) controale vizuale. Metoda DisableControls apel poate accelera în mod semnificativ procesul de înregistrări de enumerare, deoarece cererea nu face timp cheltuielile pentru redesenarea controlul conținutului DBGrid1 cu fiecare schimbare a înregistrării.
indică numărul de înregistrări din tabel.
stabilește o foaie de calcul prima înregistrare activă.
Acesta permite obținerea de tip TField obiect pentru câmpul dat. Apoi, acest site puteți obține informații de la înregistrarea curentă. Programul pentru a accesa valoarea salariului câmp de scriere, utilizați variabilă suplimentară f de tip TField. Pentru a citi valoarea câmpului Salariul în înregistrarea curentă este suficient pentru a determina operatorul
Devine adevărat, dacă ajungi la capătul mesei.
pune în aplicare trecerea la următoarea intrare în tabel.
rezultatul este suma afișată în proprietate componenta Legendă StaticText1.
Media aritmetică valoare este afișată în proprietate componenta Legendă StaticText2.
Puteți rula acum aplicația pentru a rula.