Adoquery ile bir tablodaki bilgileri bir butona basarak diğer tabloya nasıl aktarabilirim?

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
hasansavci
Üye
Mesajlar: 9
Kayıt: 23 Eyl 2010 05:42
Konum: Muğla

Adoquery ile bir tablodaki bilgileri bir butona basarak diğer tabloya nasıl aktarabilirim?

Mesaj gönderen hasansavci » 18 Eki 2019 09:44

Arkadaşlar merhaba,

ben iş yerinde posta listesi hazırlamak için ufak bir program hazırladım. işyerinde sadece bu çalıştığı için(sistem engelliyor).verileri access te hazırlamış olduğum veritabanımda bulunan tablo1 isimli dosyaya kayıt ediyorum.raporunuda alıyorum. buraya kadar herşey tamam.
işim bitince depoya aktar butonuna basarak bu verileri aynı dosyada bulunan depo isimli tabloya aktarmak istiyorum. yani tablo1 isimli dosyadaki verileri depo isimli tabloya ekliycem. orası depo alanı olucak yani.her aktarımda yeni verileri ilave edicek ve sonra tablo1 dekileri depo ya aktardıktan sonra silicek.

bunu nasıl yapabilirim bana yardımcı olabilirmisiniz.

Saygılarımla

ertank
Üye
Mesajlar: 1241
Kayıt: 11 Eyl 2015 11:45

Re: Adoquery ile bir tablodaki bilgileri bir butona basarak diğer tabloya nasıl aktarabilirim?

Mesaj gönderen ertank » 18 Eki 2019 10:04

Merhaba,

Kaynak database Access olduğunu bildirmişsiniz. Hedef database nedir?
Kaynak tablo ve Hedef tablo birbirinin tamamen aynısı mıdır?
Tablolarda PRIMARY KEY diye adlandırılan UNIQUE olarak ta bilinen aynı değerin iki defa kayıt edilemediği bir kolon var mıdır? Adı nedir?
Tablolarda MEMO, BLOB diye bilinen kolon var mıdır? Adı(ları) nedir?

Bu bilgileri paylaşabilir iseniz yardımcı olmaya çalışılabilir.

hasansavci
Üye
Mesajlar: 9
Kayıt: 23 Eyl 2010 05:42
Konum: Muğla

Re: Adoquery ile bir tablodaki bilgileri bir butona basarak diğer tabloya nasıl aktarabilirim?

Mesaj gönderen hasansavci » 18 Eki 2019 01:34

oluşturduğum dosyanın adı veriler.mdb bunun içindede 2 tane tablo oluşturdum

Tablo1 ve depo isimli 2 adet tablo oluşturdum. bunlar birbirinin aynısı isimleri değişik sadece.

Tablo1 içinde

No Nereye Tutar Barkot
1 Adana Nüfus Müdürlüğü 8,40 RR5445345345
2 Yozgat Nüfus Müdürlüğü 8,40 RR5445345345

bu alanlar mevcut.

NO KISMI OTOMATİK NUMARA VERİYOR. KAYIT ETTİKÇE.

BU VERİLERİ depo isimli tabloya yedeklemek istiyorum.

ertank
Üye
Mesajlar: 1241
Kayıt: 11 Eyl 2015 11:45

Re: Adoquery ile bir tablodaki bilgileri bir butona basarak diğer tabloya nasıl aktarabilirim?

Mesaj gönderen ertank » 18 Eki 2019 02:34

Eğer her zaman için depo tablosuna ekleme yapacak iseniz (mevcut kayıt kontrolü gerekli değil ise) direk olarak aşağıdaki gibi bir ADOQuery komutu çalıştırabilirsiniz.

Kod: Tümünü seç

INSERT INTO DEPO SELECT * FROM TABLO1
Database sistemi kopyalama işini yapacaktır.

hasansavci
Üye
Mesajlar: 9
Kayıt: 23 Eyl 2010 05:42
Konum: Muğla

Re: Adoquery ile bir tablodaki bilgileri bir butona basarak diğer tabloya nasıl aktarabilirim?

Mesaj gönderen hasansavci » 18 Eki 2019 06:19

Command text does not return a result set gibi bir uyarı veriyor. adoquery1 ekledim forma sonra tablo ile bağlantısını yaptım ve sql olarak

INSERT INTO DEPO SELECT * FROM TABLO1 komutunu ekledim adoquery1 active ini true yaptığımda bu hatayı veriyor. ancak verileri aktarıyor.

ertank
Üye
Mesajlar: 1241
Kayıt: 11 Eyl 2015 11:45

Re: Adoquery ile bir tablodaki bilgileri bir butona basarak diğer tabloya nasıl aktarabilirim?

Mesaj gönderen ertank » 19 Eki 2019 06:27

Aşağıdaki şekilde kullanır iseniz hata mesajı almıyor olmanız gerekli. Active := True veya Open sonucunda bir veri olması gerekiyor. ExecSQL ise sonucunda veri olmayan komutlar için kullanılabilir.

Kod: Tümünü seç

ADOQuery1.ExecSQL();
Alternatif olarak ADOCommand bileşenini kullanabilirsiniz.

Kod: Tümünü seç

ADOCommand1.CommandText := 'INSERT INTO DEPO SELECT * FROM TABLO1';
ADOCommand1.Execute();
Bu şekilde de çalışıyor olması gerekli.

Cevapla