Yedekleme İşlemi

Katılım
4 Eylül 2006
Mesajlar
109
Excel Vers. ve Dili
Access 2002-2003 tr
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
 
Katılım
16 Kasım 2005
Mesajlar
1,090
Excel Vers. ve Dili
Access 2002
Valla ne diyem sayın Hızır , hızır gibi yetiştiniz bu konuya örnek görmüştüm ancak kodları açamadım mde olduğundan ,
siz yaptığınız örneği sakıncası yoksa (en azından bu anlattıklarınızı içeren kısmını) foruma PAYLAŞMAK adına eklerseniz iki kere memnun kalacam


şimdiden teşekkürler hızır kardeş
 
Katılım
6 Ekim 2006
Mesajlar
371
Excel Vers. ve Dili
2010
yedekleme örnek

sayın karaayhan yedekleme örneği uygulama içindeki tblyedek, modül yedek, frmyedek, ayrıntılarına gözat ayrıca diğer modüller içinden de fonksiyon kullanmakta örneğin getfilename opendialog olayına dikkat et sorunu çözersin iyi çalışmalar umarım işine yarar
 
Katılım
4 Eylül 2006
Mesajlar
109
Excel Vers. ve Dili
Access 2002-2003 tr
Sayın Karaayhan, yukarıda bahsettiğim yedekleme konusuyla ilgili örneği hazırladım, ektedir. Sayın attila52 güzel bir örnek gönderdi sağolsunlar. Bir veritabanının kopyasını tarihe göre oluşturmada mükemmel bir örnek. Ancak bu tekniği bütün programın kopyası değil de bilgilerin yedeklenmesi üzerinde de kullansak bilgisayarda daha az yer kaplaması açısından daha iyi olacağı kanaatindeyim.

Ekteki örnekte olay yordamıyla yeni oluşturulan boş access veritabanına programın sadece tabloları aktarılıyor. İlk çalıştırırken yedeklemede hata yok. Diğer çalıştırmalarda "dosya zaten var" hatasını verecektir. Bir yerde yeni mdb dosyası oluştururken dosya varsa üzerine yazsın, veya aynı isimli dosya yoksa oluştursun şeklinde olay yordamına ilave etmek gerekir. Ben uğraştım sadece o kısmı yapamadım. Gerçi manuel olarak C:\Yedek.mdb dosyasını oluşturup, olay yordamındaki hata satırını silerseniz problem kalmaz ama boş "Yedek.mdb" dosyasını kendi oluştursun istiyoruz. Umarım Sayın attila52 ve diğer arkadaşlar da bu konuda görüşlerini bildirecektir.

Yedekleme Formunda ikinci bir yedekleme şekli olan ve Excele Elektronik tablo aktarma eylemiyle tabloları kopyalamak. Ekte de göreceğiniz gibi bu da kullanışlı bir yöntem. Yedek dosyasını otomatik oluşturuyor. Zaten dosya var diye de bir mesaj vermiyor. Yedekleri geri yükleme de iyi. Bir de yedek.xls dosyasının sonuna veritabanı dosyasının kopyasını oluştururken tarih eklendiği gibi tarih eklenebilse mükemmel olacak. Yorumlarınızı bekliyorum.
 
Son düzenleme:

akd

Destek Ekibi
Destek Ekibi
Katılım
14 Ağustos 2004
Mesajlar
1,114
Excel Vers. ve Dili
2003
Merhaba arkadaşlar,
Bence yedegi geri alırken, mevcut bilgileri silip yerine yedegi yazması
doğru degil.
Yedegi alırken o günün tarihi ile oluşturmalı ve geçmiş yedekleri seçenekli olarak açıp içine bakılabilinmeli.
Örneyin 10 gün önceki yedegimde neler vardı onu bir combobox'un içinden seçip proğrama alıp inceleye bilmeliyim, tabi şu anki mevcut kayıtlarımı silmeden.
sizcede bu daha mantıklı degilmi.?
Böyle bir çalışmayı ben ecelde yapmıştım, ADO ile access mdb ye bağlanıp comboboxdaki seçmiş olduğum yedegi açarak görebiliyordum.
İyi akşamlar...
 
Katılım
4 Eylül 2006
Mesajlar
109
Excel Vers. ve Dili
Access 2002-2003 tr
Sayın akd, siz görüşünüzü beyan ettiniz olabilir. Yedekleri Geri yükleme işlemi ihtiyaç duyulursa yapılır. Hatta Geri Yükleme düğmesini Form üzerinde görünmez yapıp klavyede tuş kombinasyonuna ayarlamak dada doğru olur. Bir ay önceden yedekleme yapmış bir kişi bu gün yedekleri geri alırsa tabiki bir ay zarfında bilgi girişleri yok olacaktır. Yani bir ay önceki bilgilere dönecektir. O zaman sık sık sağlam olan bilgileri yedek dosyasına yedeklemek gerekir. Amaç ne:

1- Programınızı geliştirirken, tasarımlarına müdahale ederken size bilgiler sık sık lazım olacaktır. Silme , ekleme gibi. Yedeklediniz , denemenizi yaptıktan sonra önceki bilgilere ihtiyaç duyup tekrar bilgileri geri aldınız. Bu kullanıcı için de bir ihtiyaçtır.

2- Yaptığınız programın yapısına ilaveler yaptınız . Yani yeni versiyon hazırladınız. Eski programdaki bilgileri tek düğme yerine dış veri alı kullanarak mı dataları yeni programa aktaracaksınız. Mevcut tabloları da yok etmeniz zaten olmaz.
3- Programı bir çok kişinin kullandığını düşünün. Yeni versiyonu onlara yüklediğiniz zaman saatlerce uğraşmamak isterseniz, eski versiyonun datalarını yedekle düğmesiyle yedek dosyasına atarsınız. Sonra yeni versiyonu kaydedersiniz ve Geri yükleme yaparak yedekleri yeni programa yüklemiş olursunuz.

Sizin bildiğiniz başka bir yöntem varsa bilgi verin veya örnek ekleyin. Bahsettiğim yedekleme aynı zamanda yapılırsa bilgi kaybına sebebiyet vermemektedir. Umarım buradaki mantık anlaşılmıştır.

Arkadaşlar, yukarıdaki progyedek dosyasındaki, access dosyasına yedekleme olay yordamına bir ilave yapılmasını istirham edeceğim."Dosya zaten var" mesajı veriyor . C: sürücüsünde Yedek.mdb dosyası varsa oluşturmasın şeklinde kod'a bir ilave yapılırsa sorun kalmayacak .Ben uğraştım olmadı. İlgileneceklere şimdiden teşekkürler.
 
Son düzenleme:

akd

Destek Ekibi
Destek Ekibi
Katılım
14 Ağustos 2004
Mesajlar
1,114
Excel Vers. ve Dili
2003
Merhaba arkadaşlar,
Benim excelle ADO sistemi ile yaptığım,
örnek çalışmamı gönderiyorum.
Klasörü C:\ içine yerleştirip öyle deneyin lütfen.
Yedek pagesinde listboxda yedekleri göreceksiniz.
Hangi yedegi tıklayıp çalıştır derseniz o yedek çalışıyor.
Zaten çalıştırınca siz anlarsınız.
Bende Accessde böyle bir yedekleme yapmak istiyordum,
Accessde yapınca lütfen banada yollarsanız çok sevinirim...
İyi akşamlar...
 

akd

Destek Ekibi
Destek Ekibi
Katılım
14 Ağustos 2004
Mesajlar
1,114
Excel Vers. ve Dili
2003
Pardon arkadaşlar eki ekleyememişim.
 

akd

Destek Ekibi
Destek Ekibi
Katılım
14 Ağustos 2004
Mesajlar
1,114
Excel Vers. ve Dili
2003
İyi akşamlar arkadaşlar,
Sayın hızır örnek proğram varsa gönder demiştiniz gönderdim,
ama sizden bir cevap alamadım,
Sayın atilla52 sizin örnegi ben bir türlü çalıştıramadım, hep hata veriyor,
ve ayrıca benim gönderdigim gibi bir yönten yapsanız daha iyi olur.
Benim örnek gibi bir çalışmayı accessde yaparsanız çok sevinirim.
Çünkü benimde ihtiyacım var...
İyi akşamlar...
 
Katılım
6 Ekim 2006
Mesajlar
371
Excel Vers. ve Dili
2010
Sayin Akd Benİm GÖnderdİĞİm Örnek İnanin Zaten Uyduruk Bİr Örnek Ben O Dosyaya Gİr Ordan SaĞtuŞa Bas Sonra Gİt DİĞer Dİzİne Kopyala Mevzuati İle UĞraŞmamak İÇİn KullandiĞim ProĞrami Da Öyle Tarİhe GÖre Ayirmayan SÜreklİ ÜstÜne Yedekleyen Bİr ModÜl Uyguladim Ayrica BaŞka Şeylerİde Yedeklİyor Sadece Access DeĞİl Dİkkat Edersenİz Ben Sİzİn ÇaliŞmanizi İncelemedİm Ayrica Eccell Konusunda Pek Fazla Bİlgİm OlduĞu SÖylenemez O YÜzden Bİr Bakayim Yapilamayacak BİrŞey DeĞİldİr EĞer Bu Bİlgİsayarla Oluyorsa Ve Kodla Oluyorsa Babami Bİle Kodlarim. Saygilar
 
Katılım
4 Eylül 2006
Mesajlar
109
Excel Vers. ve Dili
Access 2002-2003 tr
Sayın akd, eklediğiniz dosyayı işlerimin yoğunluğundan fırsat bulup inceleyemedim. İncelemeye çalışacağım.
 
Katılım
4 Eylül 2006
Mesajlar
109
Excel Vers. ve Dili
Access 2002-2003 tr
Sayın akd, maalesef kodlara ulaşamadım. ADO sistemiyle yaptığınızı söylüyorsunuz. Ben Accessle ilgileniyorum. dosyanın tarihe göre yedeğini alıyor. Ancak geri yükleme yok. Bulmaca gibi. Siz yaptıysanız nasıl yaptığınızı bilirsinizdir.
 
Üst