Arkadaşlar, daha önce bahsedilen yedekleme işlemini tekrar dile getirmek istiyorum. Bu konu aslında büyük önem taşıyor. Burada iki ayrı mantık yürütme var.
1- Veritabanı dosyasının bir kopyasını oluşturmak.
2- Veritabanındaki bilgilerin depolandığı tablolardaki mevcud bilgileri başka bir dosyaya kopyalayıp saklamak.
İkisi arasında programcılık açısından az değil bayağı fark var. Programın içindeki bilgiler öyle zamanlar gelir ki programdan çok daha hayati önem taşır.
Birinci madde belki bir yere kadar işinizi görebilir. Ancak bu kesin çözüm değil. Örneğin programınızı yenilediniz, yeni versiyon çıkardınız. Bilgileri önceki programdan veya kopyasından yeni programa aktarmanız gerekir.
İkinci maddede belirtilen sadece tablolardaki bilgilerin başka bir tabloda saklanması ve istendiğinde otomatik olarak geri yüklenmesi esastır. Örneğin programın yeni versiyonunu yüklediniz. Bilgileri sakladığınız(kopyaladığınız) dosyadan geri alacaksınız. Esas yedekleme işlemi, bilgileri başka bir dosyaya aktarma, istendiğinde de o dosyadan bilgileri geri yükleme işlemidir.
Benim uzun zamandır kullandığım yöntemi şu: Programın içinde bir yedekleme makrosu oluşturup daha önce oluşturduğunuz örneğin YEDEK.MDB dosyasına tabloları Nesne Kopyala eylemiyle kopyalamak. Bu şekilde bilgiler yedeklenmiştir. Sıra geldi Geri Yükleme işlemine. Programın içinde bir Geri Yükleme Makrosu oluşturup Veri Tabanı Aktar(Al) eylem satırını kullanarak hedef veritabanından tabloları geri alıyorsunuz. Bir tabloyu geri alırken tablodaki bilgileri programdaki mevcud tabloya aktarmak gerekir. Yoksa programdaki tabloyu tamamen silerseniz ilişkilerini de silmeniz gerekir. Şöyle anlatayım: Programda T_Personel tablosu var. Geri yükleme yaparken makroda veri tabanı aktar(al) ile YEDEK.MDB veritabanından T_Personel tablosunu değişik bir isimle örneğin: T_PersonelX olarak programa alsın diyorum. Diğer makro satırında Programın içinde mdaha önce mevcud T_Personel tablosunun içeriğini silen daha önce yaptığım silme sorgusunu yerleştiriyorum. diğer satıra T_PersonelX i T_Personel tablosuna içeriğini ekleyen daha önce yaptığım ekleme sorgusunu yerleştiriyorum. Diğer satırda Nesne Sil Eylemi yerleştirip yedek dosyasından aldığım T_PersonelX tablosunu tamamen siliyorum. Bu işleri makro mesaja ihtiyac duymadan otomatik yapıyor.
Excel'e aktarma ve geri alma da mümkün. Hangisi daha kullanışlı. tartışmaya açıyorum. Başka görüşleri olan arkadaşlar mutlaka olacaktır. İyi çalışmalar
1- Veritabanı dosyasının bir kopyasını oluşturmak.
2- Veritabanındaki bilgilerin depolandığı tablolardaki mevcud bilgileri başka bir dosyaya kopyalayıp saklamak.
İkisi arasında programcılık açısından az değil bayağı fark var. Programın içindeki bilgiler öyle zamanlar gelir ki programdan çok daha hayati önem taşır.
Birinci madde belki bir yere kadar işinizi görebilir. Ancak bu kesin çözüm değil. Örneğin programınızı yenilediniz, yeni versiyon çıkardınız. Bilgileri önceki programdan veya kopyasından yeni programa aktarmanız gerekir.
İkinci maddede belirtilen sadece tablolardaki bilgilerin başka bir tabloda saklanması ve istendiğinde otomatik olarak geri yüklenmesi esastır. Örneğin programın yeni versiyonunu yüklediniz. Bilgileri sakladığınız(kopyaladığınız) dosyadan geri alacaksınız. Esas yedekleme işlemi, bilgileri başka bir dosyaya aktarma, istendiğinde de o dosyadan bilgileri geri yükleme işlemidir.
Benim uzun zamandır kullandığım yöntemi şu: Programın içinde bir yedekleme makrosu oluşturup daha önce oluşturduğunuz örneğin YEDEK.MDB dosyasına tabloları Nesne Kopyala eylemiyle kopyalamak. Bu şekilde bilgiler yedeklenmiştir. Sıra geldi Geri Yükleme işlemine. Programın içinde bir Geri Yükleme Makrosu oluşturup Veri Tabanı Aktar(Al) eylem satırını kullanarak hedef veritabanından tabloları geri alıyorsunuz. Bir tabloyu geri alırken tablodaki bilgileri programdaki mevcud tabloya aktarmak gerekir. Yoksa programdaki tabloyu tamamen silerseniz ilişkilerini de silmeniz gerekir. Şöyle anlatayım: Programda T_Personel tablosu var. Geri yükleme yaparken makroda veri tabanı aktar(al) ile YEDEK.MDB veritabanından T_Personel tablosunu değişik bir isimle örneğin: T_PersonelX olarak programa alsın diyorum. Diğer makro satırında Programın içinde mdaha önce mevcud T_Personel tablosunun içeriğini silen daha önce yaptığım silme sorgusunu yerleştiriyorum. diğer satıra T_PersonelX i T_Personel tablosuna içeriğini ekleyen daha önce yaptığım ekleme sorgusunu yerleştiriyorum. Diğer satırda Nesne Sil Eylemi yerleştirip yedek dosyasından aldığım T_PersonelX tablosunu tamamen siliyorum. Bu işleri makro mesaja ihtiyac duymadan otomatik yapıyor.
Excel'e aktarma ve geri alma da mümkün. Hangisi daha kullanışlı. tartışmaya açıyorum. Başka görüşleri olan arkadaşlar mutlaka olacaktır. İyi çalışmalar