Cum se utilizează corect dblookupcombobox pentru a prelua date dintr-o masă (delphi 7)

  • Delphi

Există o aplicație cu bd privind accesul din două tabele. Există două forme în cerere, fiecare dintre ele referindu-se la un tabel.
Primul tabel stochează informațiile de bază (ID) cu o decriptare (Nume).






Al doilea tabel este subordonat. Stochează informații despre datele suplimentare descrise în tabelul 1.

Este necesar să vă asigurați că în cea de-a doua formă câmpul "ID" nu este completat manual, dar a luat valoarea câmpului "ID" din primul tabel.
Pentru această componentă utilizare DBLookupComboBox umplute pentru a forma în continuare ADOTable2 DataSource2 și pentru comunicarea cu primul tabel.

S-a confruntat cu o problemă. Când așez câmpul DBLookupComboBox în lista derulantă, programul din tabel creează o înregistrare nouă cu acest ID. Și celelalte trei câmpuri în care doar textul mergeți la linia următoare, adică în numărul record 2. Din acest motiv, nu pot face conexiuni la baza de date (deoarece câmpul cheie este gol).

Se transformă o trecere la o linie. Cum se face astfel încât înregistrarea tuturor câmpurilor să apară DOAR apăsând butonul pentru a adăuga?

codul de umplere este înregistrat:


Am atașat ecranul și aplicația.
P.S. Aplicația a fost pregătită în grabă, probabil că va trebui să remediați căile din componentele AdoTable.






cerere

Problema a fost rezolvată după cum urmează:

1. Crearea unui buton separat care creează un șir nou (gol) și în același timp scrie o valoare din acest câmp.
2. În al doilea buton a lăsat o înregistrare a câmpurilor rămase. Iată codul de genul:


Principiul de funcționare:
1. adăugați un șir gol;
2. selectați valoarea din câmpul DBLookupComboBox1;
3. completați câmpurile rămase;
4. Apăsați butonul "Înregistrare". și obțineți ceea ce era necesar.

Minus doi:
1. A fost adăugat un nou buton. Acum, pentru a face o înregistrare nouă, trebuie să faceți clic pe două butoane de fiecare dată, în loc de una:
2. Dacă ați introdus date noi în Tabelul 1, pentru a fi preluate de componenta DBLookupComboBox1, trebuie să reporniți programul.

Răspunsul dvs. la întrebare

Conectați-vă pentru a scrie un răspuns

  • Delphi
  • Delphi
  • Delphi
  • Delphi
  • Moscova
  • Cu normă întreagă
  • de la 80 000 la 120 000 de ruble.
  • Moscova
  • Cu normă întreagă
  • de la 60 000 la 100 000 de ruble.
  • Moscova
  • Cu normă întreagă
  • de la 60 000 la 100 000 de ruble.
  • Moscova
  • Cu normă întreagă
  • de la 150 000 la 240 000 de ruble.
  • Sankt-Petersburg
  • Cu normă întreagă
  • de la 60 000 de ruble.

5000 ruble pe proiect

50000 RUR / pe proiect

6000 ruble pe proiect

Conectați-vă la site

Pentru a pune o întrebare și pentru a primi un răspuns calificat la aceasta.







Articole similare

Trimiteți-le prietenilor: