İki adet Access Veritabanında tabloları aktarma

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
adnansirca
Üye
Mesajlar: 135
Kayıt: 14 Kas 2005 12:24

İki adet Access Veritabanında tabloları aktarma

Mesaj gönderen adnansirca »

Merhabalar...

İki adet Access veritabanım var. Bir tanesi projenin içinde(yeni veritabanı da diyebiliriz. Çünkü sürekli değişiklikler yapıyorum.)
Diğeri ise programla dağıttığım aynı veritabanı. (Buna da kendi deyimimle (içindeki tablolar, alanlar ve veriler bakımından) eski veritabanı diyorum..)
Ado bileşenleri ile bağlanıyorum...
Delphi içerisindeki Datapump ihtiyacımı karşılamadığından kod yazmam gerekiyor...
SQL ile aşağıdaki gibi yaptım ancak bu kodlar yeterli değil.

INSERT INTO TABLO1
SELECT * FROM TABLO2
WHERE TABLO2.SICILI NOT IN (SELECT SICILI FROM TABLO1)
(Bu kod tek veritabanında yer alan tablolar arası aktarma ypıyor.)

Yapmak istediğim şu..
Program yazarken baştan herşeyi hesaplayamıyoruz ne yazıkki.
Bazen mevcut tabloya alan eklemek zorunda kalıyoruz.
İşte bu şekilde zorunluluklarla karşılaşınca yeni çareler bulmakla uğraşıyoruz.

Şimdi esas meseleye gelelim.
Projemde arasıra veritabanında değişiklik yapıyorum. yani tablolara yeni alanlar eklediğim oluyor. Bu durumda projedeki veritabanı ile programla birlikte dağıttığım veritabanı haliyle farklı oluyor.
Bu şekilde alan ekledikten sonra önceki verilerime erişebilmek için Accesin içinden kopyala yapıştır vasıtasıyla ekleme yapıyorum vs...

Yukarıdaki kodda yalnızca aynı alanlar varsa altına ekleme yaparak tek veritabanı içinden eski tablodan yenisine aktarma yapıyor. Benim istediğim ise şayet eski veritabanında olmayan yeni bir alan varsa bunu da eski veritabanına aktarayım(içindekilerle birlikte).. Ama iki veritabanı arasında(her ikisi de acces) bunu yapmam gerekiyor. Yani alan sayısına bağlı olmadan vertabanları arasında (her ikisi de access) aktarma yapmak istiyorum kısacası.
Çok uzattım biliyorum...

Yardımlarınız için şimdiden teşekkürler...
Cevapla