câmp calculat

Cum de a actualiza un câmp calculat?

Ce este un „câmp calculat“?
Ce înseamnă să „upgrade“?

dacă # XA0, în DataSete, domeniul în schimbare, care participă la vyshislenii
în cazul în tabelul de pe server, actualizați înregistrarea







Faptul că valoarea unui name1 câmp calculat (TADODataSet) este suma stabilită la cererea unui alt name2 (în termeni de schemă1 câmp calculat nu ia parte, nici unul dintre domeniile sale). În cazul în care valoarea în string2 trebuie să fie recalculate valorile calculate câmp de înregistrare curent SET1.

Determina momentul schimbării și redeschide name2 cerere tablitsu1.
Și atunci de ce câmp calculat. Am putea solicita sume de la un alt tabel pentru a conta.
Apropo, în cazul în care un alt utilizator în rețea tablitsu2 variază. Apoi, mai bine să nu se actualizeze la, după cum chin utilizator de vizionarea clipească.

PS. O ramură nu este formalizat.


> Cererea de redeschidere a tabelelor

Pentru prea mult timp, sa schimbat doar o singură intrare


> Și dacă un alt utilizator în rețea se va schimba tablitsu2

Aceasta este o altă întrebare, în acest caz, doar un singur utilizator schimbă tablitsu2


> IMHO aici cu terminologia o problemă

Nu, eu vorbesc în calculul câmpului calculat

P.S. Voi face Tablitsa1.Edit; Tablitsa1.Post de a provoca OnCalcFields







cererea
Selectați t1.f1, suma (t2.f1) în cazul în care.
Domeniul t2.f1 - deși calculat, ci un câmp calculat (în termeni de Delphi și serverul de baze de date) nu este. Iată un paradox. 8-)

Vreau să spun Tablitsa1Pole1.FieldKind = fkCalculated

Și nu există nici o contradicție?

Procedura Tablitsa1CalcFields (DataSet: TDataSet);
var qt: tadoquery;
...
începe
...
qt.sql.tex: = 'select sum (pole1) ca SSS din Tabelul2' // poate fi interogare mai complexă
qt.open;
Tablitsa1Pole1.asFloat: = qt.fieldbyname ( 'sss') asFloat ;.
...

Dar pentru a calcula așa - pervertirea totală, IMHO.
În primul rând - nu există nici o referire la înregistrarea curentă. Nafig cifre în toate înregistrările?
În al doilea rând. Încercați să puneți această procedură, cum ar fi un punct de întrerupere sau un mesaj de avertizare și conta cât de des funcționează.

De ce nu se poate acest domeniu vkyuchit setul de date de interogare?

> // poate fi interogare mai complexă
Acesta este tipul mă sperii? 8-)


> Apoi, probabil, să fie suficient pentru a elimina înregistrarea curentă din
> O parte vizibilă a rețelei și din spate.

Dacă am înțeles corect Tablitsa1Pole1.visible: = false; Tablitsa1Pole1.visible: = true;
care nu ajută

> numere Nafig în toate înregistrările

Scuze, am vrut sa spun
qt.sql.tex: 'select sum (pole1) ca sss din Tabelul2 unde tyry-Pyry' =


> Și conta cât de des funcționează

Sunt încă extrem de simplificat, puteți crea separat DataSet, păstrați-l toate rezultatele selectați toate înregistrările name1 și actualiza Tablitsa2.post. Nu e vorba de asta. Trebuie să actualizez doar câmpul calculat al înregistrării curente, restul nu atingeți! Dacă nu se poate pe de altă parte, se va folosi Edit-Post.


> De ce nu se poate acest domeniu vkyuchit setul de date de interogare?

Apoi, va trebui să actualizați întregul set de date, care nu este de dorit.

A fost o săptămână în urmă. Subiectul a fost relevant. Urca in sine - nu am timp.

În sensul unei sucursale în cadrul aceleiași conferințe.
PS. Când căutarea este reparat?