Răspunsul la întrebarea nr. 41143

MS Access | Master - detalii | Ștergerea înregistrărilor dintr - un tabel

Ziua de seară!
există 2 mese de acces
Comunicarea One-to-One în câmpul Key-Key1
pe butonul "delete" scriu ADOTable.Delete;






În DBGrid selectați intrarea și apăsați Ștergere.
Dar eroarea de zbor afară nu există suficiente informații cu privire la câmpul cheie pentru a actualiza.
Cum să ștergeți înregistrarea selectată astfel încât toate datele din această înregistrare să fie șterse și din al doilea tabel?
Vă mulțumim anticipat.

Urmăriți răspunsurile la această întrebare prin RSS

la _MaSteR_NN_: Nu, nu vreau să demonstrez că metoda mea este ludshe. Vreau să spun că are un mod de viață. Orice sarcină pornind de la condiția ca este investigator are server de SGBD trebuie să își folosească puterea cât mai mult posibil, există posibilitatea ca baza de date va repozitoriu numai și toate logica pe client folosind Delphi și. Și chiar și o ștergere poate avea un bloc excepțional de încercare. Mai ales că tabelele au un handler de evenimente speciale pentru erori. și cu toții știm deja fraza de captură "Artă de gestionare a greșelilor".

În ceea ce privește predarea programatorilor. Predă cărți inteligente la școală. Aici puteți oferi sfaturi și sugerați o idee. învățați trei rânduri de scriere este imposibilă. de formare zneteli proces mai complex. și începe de la simplu la complex. cuibul care încă mai "Plozo vede" să învețe să zboare este "crimă".

2 Alexey Khokhlenok
Deisvia în variația propusă de la _MaSteR_NN:

0. Luați cheia.
1.Probați o cerere
2. Completați
3. Pregătește a doua cerere
4. Executați.

Am fost corectat.

"Literatura te va salva."

la DBGrid DataSource este conectat, care este cuplat la ADOtable
Deschid masa ca la bgrid

Schimbați actuala înregistrare, de exemplu, Ivanov la Petrov. Dar pentru a vedea modificările trebuie să reporniți programul.
table.close;
table.open;
nu este capabil.

Și nu ați încercat să reporniți computerul?






Am deja programul în curând pentru a fi visat în coșmaruri. La rețea aveți ce? Redescoperiți masa respectivă sau orice altceva? Câte mese ai pe uniformă, îți dai seama de ce ai pus atât de mulți pe ei.
Și, în general, ceea ce un pervert - re-deschide masa. Pentru a face acest lucru, componentele accesului la date sunt făcute, astfel încât să fie necesare imediat modificări în rețea. Ce fel de moda este aceasta: un set de date pentru a prinde cârligul, alte schimbări de făcut și apoi gândiți-vă cum să vedeți aceste schimbări.
Și în sfârșit puneți în minte caseta de selectare "Activați gândirea logică" :-)

Alexey Khokhlenok
Da, ai dreptate.
Schimbați actuala înregistrare, de exemplu, Ivanov la Petrov. Dar pentru a vedea modificările trebuie să reporniți programul.
table.close;
table.open;
nu poate!
cum să actualizați?

în plus, în lista de re-operații pentru opțiunea _MaSteR_NN_ adăugăm
Închideți masa
Deschideți masa
Ei bine și pentru frumusețe
returnați cursorul la cel precedent la înregistrarea ștersă.
Faceți totul pentru ca grila să nu clipească.
care este, opriți comenzile și apoi activați-le când operația a fost terminată.

la Shabal:
Dacă nu vedeți ceva de genul Început și sfârșitul sau fapta de atunci distorsionată. Această metodă va funcționa indiferent de ce. sub o condiție, căpitanul mesei subordonate este deschis și în același timp legat prin chei într-un mod uman. și de a împinge în sorsky cererile dashche cele mai simple, chiar mai mult nas. iar întreaga epică ulterioară este o confirmare directă a acestui lucru.
Deisvia în variația propusă de la _MaSteR_NN:

0. Luați cheia.
1.Probați o cerere
2. Completați
3. Pregătește a doua cerere
4. Executați.

În perversiunea mea.
0.
1. Cucerirea.

O încercare de a introduce sau de a integra o tranzacție fără a începe mai întâi tranzacția.
Pentru a evita astfel de erori, vă sfătuiesc să utilizați întotdeauna astfel de tranzacții:

încerca
//.
datamodule2.ADOConnection1.BeginTrans;
//.
datamodule2.ADOConnection1.CommitTrans;
cu excepția
dacă datamodule2.ADOConnection1.InTransaction apoi datamodule2.ADOConnection1.RollbackTrans; //.
se încheie;

dacă am adăugat o intrare nouă și am făcut clic pe ștergeți, atunci nu a fost găsită o eroare a tipului de tip cheie în ADOTable.
sau
O încercare de a introduce sau de a integra o tranzacție fără a începe mai întâi tranzacția.
Cum să facem acest lucru?

Ivanov - o înregistrare pe care o șterg.

Ivanov - o înregistrare pe care o șterg.


Câmpul cheie - contor, cheie1-numeric.

eroare - "Parametrul Ivanov nu are o valoare implicită".
Ce Ivanov?

Comunicarea One-to-One în câmpul Key-Key1
ce tip de câmp este Key and Key1?

Arătați exact ce ați scris, cum a fost folosită interogarea?

2 verde
O mică clarificare a răspunsului _MaSteR_NN_ - puteți combina comenzile într-o singură interogare:
vă mulțumesc.







Articole similare

Trimiteți-le prietenilor: