dbgrid den başka bir dbgrid e verinin tamamını aktarma

Delphi .net ve .net ile ilgili konuları buraya yazabilirsiniz.
Cevapla
erbedas
Üye
Mesajlar: 14
Kayıt: 23 Tem 2018 05:34

dbgrid den başka bir dbgrid e verinin tamamını aktarma

Mesaj gönderen erbedas » 23 Tem 2018 05:37

değerli bilgi sahileri

elimde 2 dbgrid var birinden diğerine tüm verileri aktarmak isrtiyorum. elimdeki kod ile sadece ilk satır aktarılıyor. bilen varsa lütfen

var
a,b,c,d:string;
begin
With dbgrd26,dbgrd27 do begin

DataModule2.bon_satir.insert;
// a := DataModule2.satinalma_sat_s.DataSet.FieldByName( Columns[0].FieldName ).AsString;
// DataModule2.bon_satir_s.DataSet.FieldByName( Columns[0].FieldName).AsString;

b := DataModule2.satinalma_sat_s.DataSet.FieldByName( Columns[1].FieldName ).AsString;
DataModule2.bon_satir_s.DataSet.FieldByName( Columns[1].FieldName).AsString:=b;

c := DataModule2.satinalma_sat_s.DataSet.FieldByName( Columns[2].FieldName ).AsString;
DataModule2.bon_satir_s.DataSet.FieldByName( Columns[2].FieldName).AsString:=c;

d := DataModule2.satinalma_sat_s.DataSet.FieldByName( Columns[3].FieldName ).AsString;
DataModule2.bon_satir_s.DataSet.FieldByName( Columns[3].FieldName).AsString:=d;
DataModule2.bon_satir.post;

Kullanıcı avatarı
greenegitim
Üye
Mesajlar: 705
Kayıt: 28 Nis 2011 09:33
Konum: İstanbul

Re: dbgrid den başka bir dbgrid e verinin tamamını aktarma

Mesaj gönderen greenegitim » 24 Tem 2018 10:43

Kodlarınızı code tagı içerisine alın sizin yazdığınız kod'a bakıldığında zaten sadece bir kayıt aktarım kodu var özellikle ilk kayıt aktarım için bir kod görünmüyor datasete seçili olan kaydı aktarıyor görünüyorsunuz

döngü kullanmanız gerekir for yada while döngüsü ile kayıtlarda ilerlerken diğer datasetinize aktarmanız gerekir
şu şekilde yazmanız gerekir
ilk kayda konumlan dataset.first
1 den datasete bulunsn kayıt sayısı kadar döngü oluştur
döngü içerisinde kayıtları aktar gibi
Mücadele güzelleştirir!

Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7494
Kayıt: 09 Haz 2003 11:26
Konum: İstanbul
İletişim:

Re: dbgrid den başka bir dbgrid e verinin tamamını aktarma

Mesaj gönderen mussimsek » 25 Tem 2018 09:52

Aktarımı dbGrid'ler üzerinden değil, bağlı oldukları datasetler üzerinden yapmanız lazım.

dbGrid'in biri QRY_URUN1, diğeri de QRY_URUN2 isimli iki query'e bağlı ise, bu 2 query arasında aktarım yapmanız lazım.

Kod: Tümünü seç


QRY_URUN2.First; //ilk kayda git
while not QRY_URUN2.Eof do //son kayıda (Eof=End of file) kadar döngü ile işlem yap
begin
  QRY_URUN1.Append;
  QRY_URUN1.FieldByName('URUN_NO').AsString := QRY_URUN2.FieldByName('URUN_NO').AsString;
  ....
  QRY_URUN1.Post;
  
  QRY_URUN2.Next;  //Bir sonraki kayıta geç
end;
Kolay gelsin.

erbedas
Üye
Mesajlar: 14
Kayıt: 23 Tem 2018 05:34

Re: dbgrid den başka bir dbgrid e verinin tamamını aktarma

Mesaj gönderen erbedas » 25 Tem 2018 12:35

greenegitim
mussimsek
İkinize de çok teşekkür ediyorum
yüreğinize sağlık. kaç gündür uğraşıyordum. yabancı sitelerde bile bulamamıştım.
örnekle göstermeniz daha iyi oldu
başkasının işine yarayacaksa, eklenecek sütun sayısı artar ise

QRY_URUN1.FieldByName('URUN_NO').AsString := QRY_URUN2.FieldByName('URUN_NO').AsString;

kodu çoğaltarak kolon isimlerini ekledim.

Cevapla