[ popmilan76 @ 20.02.2018. 09:34 ] @
Opet imam problem,koji ne znam,verujem da će mi neko pomoći...
Imam bazu u kojoj imam sirovine i proizvode,kao i sastavnicu,tj od čega je neki proizvod sastavljen sa merama i slično..Meni treba da izaberem proizvod,a da mi povuče sirovinu u neki dbgrid,i posle svega toga(pošto bih birao više proizvoda) da mi složi po svim sirovinama i količinama,šta mi svega treba,nešto kao trebovanje robe,i kada mi to uradi,pošto imam kolonu ugovor i rešenje,da u sve te sirovine upišem taj broj ugovora i broj rešenja...
[ savkic @ 20.02.2018. 14:44 ] @
To sve zvuci OK, prikazes listu proizvoda, kako korisnik selektuje koji ti u bazi potrazis sastavnicu i prikazes artikle potrebne za proizvod. Kad se sve potvrdi to sto je prikazano kopiras u novi dokument (radni nalog pretpostavljam) i upisujes u bazu.
[ popmilan76 @ 23.02.2018. 20:18 ] @
Ja kada izaberem proizvode,i povucem sirovine,i prikazem u dbgridu,one su mi u tabeli,i racunam ih u stanju iako ih jos nisam dobio.Dakle,ja ih trebam prikazati ali samo kao neku ponudu,
I trebam ih obeleziti u dve kolone sa brojem ugovora i resenja,nesto kao update set...Posle kada mi stigne roba,obelezim ih sa jos jednim brojem i tek tada su na stanju a zatim preko radnih naloga idu u prozvodnju i tada mi se skidaju sa stanja.
[ savkic @ 23.02.2018. 22:29 ] @
Ne razumem sta tacno pitas, kako da tehnicki izvedes...? Pretpostavljam da ti prikaz u gridu nije problem, a ni update query nije komplikovan?
[ popmilan76 @ 24.02.2018. 21:00 ] @
Imam tu formu,iz koje bi to radio,i ja je prikazem u dbgridu,ali taj dbgrid ima svoj datasource,i ja kada ih prikazem u njemu meni su oni vec u tim tabelama,...Mislio sam da napravim dbgrid koji ce vuci iz druge tabele koja bi bila ista kao ova originalna,i tu mogu da radim sve to,i kada zavrsim da je prebacim u tu originalna i promenim datasource od tog dbgrida,da prikaze originalnu i tu iznad bih imao dva edita,sa ugovorima i resenjima,gde bi u originalnu prikazao sa tim editima,ne znam kako bih to uradio,da kada je povlacim iz druge,pokupi i ta dva edita i ubace se tako u prvi dbgrid.
[ savkic @ 25.02.2018. 18:28 ] @
U toj konfiguraciji ne mozes koristiti varijantu da se podaci odmah upisuju u tabelu (tj. mozes ali ti onda treba neka dodatna tabela u bazi).
Bolje je da te privremene izmene cuvas u lokalu i tek kad je sve gotovo posaljes u bazu (server).
Pogledaj TClientDataSet koji dolazi uz Delphi ili pogledaj neku od third party memorijskih tabela poput kbmMemTable.

Za pocetak pogledaj http://www.drbob42.com/examines/examin64.htm, tu se daje prikaz tog tzv. briefcase ili cached updates modela rada gde su DBAware kontrole (DBGrid, DBEdit...) kontrole povezane sa memorijskih datasetom (ClientDataSetom) koji nije direktno povezan sa bazom.
[ popmilan76 @ 25.02.2018. 19:00 ] @
Pa to sam mislio,da je ,bar za mene , bolje da napravim nove tabele,jer program je lokalnog tipa,sve je na jednom računaru,on je i server i program....Jos nisam stigao do tog dela,ali ce mi trebati taj update ili insert za tu novu tabelu,pa kada sve zavrsim,i znam da ce ta roba stici,onda ih upisujem u bazu tj,na stanje....
[ popmilan76 @ 02.03.2018. 10:51 ] @
Kako da prenesem podatke iz jedne tabele u drugu,a da prethodno obelezim dbgrid sa redovima koje hocu da prenesem?I jedna i druga tabela su iste.
[ savkic @ 02.03.2018. 13:26 ] @
> Kako da prenesem podatke iz jedne tabele u drugu,a da prethodno obelezim dbgrid sa redovima koje hocu da prenesem?

Setujes MultiSelect i RowSelect u source gridu, kada korisnik selektuje zeljene recorde onda prodjes kroz selektovanu listu i jedan po jedan ubacujes u drugu tabelu.

Evo primera za kretanje kroz listu svih selektovanih slogova: https://www.thoughtco.com/mult...t-in-the-delphi-dbgrid-4077282
[ popmilan76 @ 02.03.2018. 21:39 ] @
Može li multi select da radi da samo povucem misem redove koje hocu,ili mora sa ctrl + alt?I kada ih obelezim,da predju u tabelu 2 iz tabele 1 nekim klikom?
[ savkic @ 02.03.2018. 21:46 ] @
> Može li multi select da radi da samo povucem misem redove koje hocu,ili mora sa ctrl + alt?

Kod DBGrida mislim da moras drzati ctrl.

> I kada ih obelezim,da predju u tabelu 2 iz tabele 1 nekim klikom?

Mogu ako isprogramiras u tom klik handleru metodu koja ce to raditi.
[ popmilan76 @ 03.03.2018. 16:45 ] @
i: Integer;
sum : Single;
begin
if DBGrid1.SelectedRows.Count > 0 then
begin
sum := 0;
with DBGrid1.DataSource.DataSet do
begin
for i := 0 to DBGrid1.SelectedRows.Count-1 do
begin
GotoBookmark(Pointer(DBGrid1.SelectedRows.Items));
sum:= sum + AdoQuery1.FieldByName('Size').AsFloat;
end;
end;
edSizeSum.Text := FloatToStr(sum);
end

Ok,primenio sam ovo sto si mi dao,i to sabira selektovano,ali kako da pomocu adoquery prebacim u drugu tabelu te selektovane...
[ savkic @ 03.03.2018. 18:08 ] @
> Ok,primenio sam ovo sto si mi dao,i to sabira selektovano,ali kako da pomocu adoquery prebacim u drugu tabelu te selektovane...

Kako inace dodajes recorde u neku tabelu, Append pa Post na table komponenti ili preko parametara na Query komponenti. Nesto ovako:

Code:

var
  i: Integer;
begin
  with DBGrid1.DataSource.DataSet do
  begin
    for i := 0 to DBGrid1.SelectedRows.Count-1 do
    begin
      GotoBookmark(Pointer(DBGrid1.SelectedRows.Items));
      DestTable.Append;
      DestTable.Fields[1].AsString := SrcTable.Fields[1].AsString;
      DestTable.Fields[2].AsString := SrcTable.Fields[2].AsString;
      ...
      DestTable.Post;
    end;
  end;
end



[ popmilan76 @ 03.03.2018. 18:15 ] @
Da , to znam,ali sam mislio da ne pravim svako polje posebno,vec sve,jer su tabele iste...nesto tipa append all,sada izmisljam komande...ha,ha,ha...Jel tako nesto postoji?
[ savkic @ 04.03.2018. 01:17 ] @
Neke komponente imaju takvu mogucnost, ako ADO (ili sta koristis) nema onda moras polje po polje.
[ popmilan76 @ 04.03.2018. 21:15 ] @
Da li postoji mogucnost da posle appeend se uradi i delete u prvoj tabeli...ili mogu prvo append pa posle delete...Mislim postoji li neka komanda u smislu cut and paste?
[ savkic @ 04.03.2018. 22:03 ] @
> Da li postoji mogucnost da posle appeend se uradi i delete u prvoj tabeli...ili mogu prvo append pa posle delete...
> Mislim postoji li neka komanda u smislu cut and paste?

Ne, RDBMS baze poznaju samo INSERT, UPDATE i DELETE u osnovi, brisanje moras sam uraditi.