Cxgrid kullanılarak tablodan tabloya kayıt kopyalama

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
guney_tosun
Üye
Mesajlar: 82
Kayıt: 19 Ağu 2005 09:34
Konum: Istanbul

Cxgrid kullanılarak tablodan tabloya kayıt kopyalama

Mesaj gönderen guney_tosun »

Selamlar;

:arrow: Mysql veritabanı ve Cxgrid'i beraber kulllanıyorum. Bir kayıt içinde adet bolumu var,bu kayıttaki 20 adet urun olduğu gozukuyor. Bunlardan 10 tanesini aynı bilgilerle başka bir table'a kopyalamak istiyorum.
:arrow: Aynı sekilde bazı tablolar arasındada kayıtları taşımak istiyorum

Nasıl bir yol izlemeliyim Teşekkür ederim..
Celebrating the past , Creating the Future
guney_tosun
Üye
Mesajlar: 82
Kayıt: 19 Ağu 2005 09:34
Konum: Istanbul

Kimse yokmu??

Mesaj gönderen guney_tosun »

Çok imkansız bişeymi istiorum :(
Celebrating the past , Creating the Future
fduman
Moderator
Mesajlar: 2749
Kayıt: 17 Ara 2004 12:02
Konum: Ankara

Mesaj gönderen fduman »

Bahsi çok fazla geçen bir konu. Sitede :ara arama yapınız.
ng
Üye
Mesajlar: 192
Kayıt: 01 Mar 2004 11:49
Konum: Bursa
İletişim:

Mesaj gönderen ng »

fazla değil ama muğlak bir şey istiyorsun ne istediğini anlayamadım.
bir tablodaki stok adedinin bir bölümünü başka tabloya kopyalamk istiyorum demişsin. diğer tabloda aynı bilgiler varmı yani sadece miktar alanı mı artacak yoksa yeni bir kayıt mı oluşacak. bunu elleme manuel mi yapacaksın yoksa belli bir miktar üzerine çıkınca otomayik mi yapacak ? daha net birşeyler söyle
guney_tosun
Üye
Mesajlar: 82
Kayıt: 19 Ağu 2005 09:34
Konum: Istanbul

Mesaj gönderen guney_tosun »

Bişraz açayım.. Delivery_Table 'da

Trailer Shipment Barcode Quantity alanları var
22222 11 99999 50

Ben burda Quantity(Adet) bolumunde seçtiğim adet kaparını,yeni bir kayıt olusturarak Hold_Table'a atmak istiyorum ordada aynı alanlar var. Mesela 30 tanesini çıkıcam hold table'a. Aynı kayıt kalıcak.

Trailer Shipment Barcode Quantity gibi olucak diğer tabloda da
22222 11 99999 20

Trailer Shipment Barcode Quantity olucak kayıtı bolucem yani..
22222 11 99999 30
Celebrating the past , Creating the Future
guney_tosun
Üye
Mesajlar: 82
Kayıt: 19 Ağu 2005 09:34
Konum: Istanbul

Kimse yok mu??

Mesaj gönderen guney_tosun »

:cry:
Celebrating the past , Creating the Future
Kullanıcı avatarı
selman
Üye
Mesajlar: 664
Kayıt: 04 Ara 2003 12:06
Konum: İzmir

Mesaj gönderen selman »

inş. yanlış anlamamışımdır
bİsmillah
şimdi sen sadece 10 kayıtı mı atmak istiyon yoksa girilen kayıtların yaırısınımı bensana fulunu anlatayım kendine göre ayarlarsın kardeş

begin
Ibtable1.first;
while not ibtable1.eof do begin
Ibtable2.fieldbyname('Alan1).asstring:=Ibtable1.fieldbyname('Alan2').asstring;
//burada table 2 aktaracağın yere bağlı dbgrid olucak
ve sen burda alanlarını yazacaksın//
Ibtable2.append;
Ibtable1.next;
end;
end;

Kod: Tümünü seç

kolay gelsin
guney_tosun
Üye
Mesajlar: 82
Kayıt: 19 Ağu 2005 09:34
Konum: Istanbul

Mesaj gönderen guney_tosun »

üstad cevap geldiğinden beri ugrasıorum ama tam bi çözüme kavuşamadım henuz istediğim Adet(Quantity) e tıklayınca belirttiğim adedini ,aynı bilgiler ile diğer bir table'a tasıması.. Yani

(table1Quantity.value) - i := Table2Quantity.value gibi bir mantık yani bu koddan ziyade formul gibi oldu .. Tek eksiğim sorgu kullanmadan "secili olan" kayıtları kopyalamak.

İlgine teşekkürler
Celebrating the past , Creating the Future
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7604
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Mesaj gönderen mussimsek »

hocam öncelikle bu işlemler dataset bazında yapılır. DBGrid, cxGrid, DBEdit vs. ilgili değildir.

Bir de olayı önce bir kafanda kurman lazım. Mesela bir depodan depoya mal aktarıyorsan olay önce kafanda bir çalışmalı sonra dizayn edip kodlamalısın. Soruna gelince, tam istediğini anlayamadım ama şuna benzer birşey olması lazım :

Kod: Tümünü seç

Table1.Append;
Table1.FieldByName('alan1').AsInteger := Table1.FieldByName('alan1').AsInteger;
Table1.FieldByName('alan2').AsString := Table1.FieldByName('alan2').AsString;
....
Table1.FieldByName('Quantity').AsInteger := Table1.FieldByName('Quantity').AsInteger-i;
Table1.Post;
en klasik yöntem bu.

Kolay gelsin.
guney_tosun
Üye
Mesajlar: 82
Kayıt: 19 Ağu 2005 09:34
Konum: Istanbul

Mesaj gönderen guney_tosun »

Ustad bende farkındayım gerçek işlemin orda olduğunun benım anlatmak istediğim cxgridde cell'e tıklayınca bir arayuzle işi halletmek. table1 deki toplam adetten ayırmak istediğim kadarını çıkarıp. Aktif kayıdı table2 ye kopyalicak ve ayırdığım değeri yazıcak butun olay buydu ..İlginize Teşekkür Ederim.
Celebrating the past , Creating the Future
Cevapla