Pentru început, avem nevoie pentru a crea o bază de date și cel puțin două din tabel, pe care o vom comunica unele cu altele.
În baza mea de date cu numele celor două tabele - Table1 și Table2. Voi crea un tabel cu numele, iar al doilea tabel va fi cu nume de automobile. Asta este, fiecare proprietar poate avea mai multe mașini (toată lumea ar fi așa). Asta e modul în care ne asociem masa noastră. Raportul de comunicare, apoi se dovedește, una la mai multe. După cum îmi amintesc, există următoarele tipuri de relații:
Deci, ceea ce este acum amintit. Acum, uita-te la structura tabelelor noastre.
Acum, trebuie să conectăm aceste două tabele în MS Access. câmp name2 ID-ul este pentru stocarea identificatorii de înregistrări ale name1. Pe acestea vor fi recunoscute, orice înregistrare din registrul aparține nume2 în SET1.
Pentru a lega masa noastră, trebuie să mergeți la schema de date. adăugați mesele noastre, și asociază următoarele câmpuri, raportul - una la mai multe:
În cazul în care baza de date MS Access Acum adăugați intrări, puteți adăuga orice număr de vehicule pentru fiecare familie, iar dacă selectați o anumită intrare, se afișează o listă de vehicule pentru o anumită persoană.
În proiectul nostru va fi ceva de genul, hai să trecem la treabă. Pe formularul am următoarele componente:
Despre conectarea la baza de date, a se vedea articolul. Oh, și apoi distracția. Avem nevoie de a lega componentele noastre. Selectați componentele TADOTable și fiecare, în proprietate Connection, indică componenta TADOConnection. Apoi selectați DBGrid1 și să o asociați cu DataSource1. în DataSource. componenta DataSource1. în proprietatea DataSet. specificați AdoTable1. Totul este gata, doar un singur tabel este conectat, acesta va fi masa noastră principală, ci mai degrabă cu numele proprietarilor de vehicule.
Apoi, masa noastră principală pentru a activa. Selectați AdoTable1. Nume_tabelă proprietăți în tabelul 1 și selectați proprietatea activă setată la Adevărat.
Neaparat, Connected componenta TADOConnection de proprietate. Acesta va fi setat la True
Totul este acum gata să stăpânească pe deplin de masă. Acum vom trece la slave.
Selectați componenta DBGrid2 și sursa de date de proprietate asociat cu componenta îl DataSource2. și DataSource2 componente. în proprietatea DataSet. Noi asociem cu componenta AdoTable2.
Totul este acum să aloce componentă AdoTable2 și proprietăți Nume_tabelă selectați Tabelul2. în proprietăți MasterSource selectați DataSource1 (în acest caz, trebuie să selectați tabelul de aici TDataSource principal, care este masa principală).
Mai mult, în proprietatea MasterFields. AdoTable2 componenta (tabelul copil), indicăm cuplarea câmpului, după cum urmează:
Tot ceea ce suntem pregătiți și să activați acest tabel, proprietatea activă este setată la Adevărat.
Tot în cazul în care aveți unele date în tabele, puteți rula proiectul și selectați o intrare din tabelul principal, și veți găsi că DBGrid2 automat pentru această intrare din tabelul principal prezintă intrările din tabel subiect. Este foarte convenabil. Adăugați intrări după cum este necesar, selectați o intrare din tabelul principal, și numai atunci, trebuie să adăugați o intrare în acest tabel.
În ceea ce privește o altă metodă, tabelul de legare, atunci există și simplu. Este necesar să se țină evidența tuturor: cum se înregistrează de la intrarea tabelul principal se adaugă la masa de copil care se adaugă și să înregistreze identitatea tabelul principal în subiect, și apoi, la intrarea evidențiată (obtinerea ID-ul ei), face o selecție de înregistrări din tabelul copil.
Codul sursă poate fi descărcat de aici
înregistrări similare
Oamenii îmi spun că au 3 forme cu DbGrid am nevoie pentru a aduce în fiecare tabel separat, care sunt stocate în baza de date cu datele acess ms (de exemplu, există 3 tabele) .Podskazhite cum se face, dar este necesar ca comunicare a lucrat. avertizează imediat că restul programului a fost deja pusă în aplicare prin intermediul ADOQuery și este de dorit să-l facă prin intermediul, dar cum?
Trebuie doar AdoQuery se conectează la masa dorită și să o asociați cu DbGrid dorită și tot ce ați va fi afișat
acest blog și a fost creat special pentru incepatori
Bună ziua, ați vorbit despre componenta Tadoquery nu se poate găsi în Delphi 7, am avut rău în căutarea sau nevoie de descărcare suplimentare?
Am nevoie doar pentru a interoga ...
el ADO file, astfel încât uita cu atenție, în versiunile mai noi de Delphi au dbGO fila, descărcare nu este necesar, acestea vin cu un pachet de Delphi
Ce să folosească în loc să ADOQuery proprietăți MasterSource. Te rog spune-mi ... Și totuși, ce se întâmplă dacă am câteva tabele legate, și în funcție de alegerea, am nevoie pentru a aduce unul sau altul legat de masă cu principalele ..
Buna ziua. Într-adevăr nevoie de ajutorul tau. Cum să pună în aplicare componenta listă dbGrid drop-down pe exemplul a două tabele legate de accesul 1-la-mulți. Și cum putem face acest lucru cu mai multe domenii? Am scotocit printr-o grămadă de forumuri deja, dar rezultatul dorit nu este atins. Sper foarte mult pentru ajutor. Multumesc anticipat.