Visual Basic te Acces Veritabanı Yedekleme Tarihli
Tarih
08/04/2011 19:02
Konu Sahibi
azul20
Yorumlar
13
Okunma
8411
Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 5
  • 4
  • 3
  • 2
  • 1

Derecelendirme: 0/5 - 0 oy



azul20
Üye
Kullanici Avatari
Üye
9
3
17/02/2011
3
Denizli
Ofis 2003
10/02/2016,06:57
Arkadaşlar Merhaba,
İşin Gerçeği Sizlere Bir Vefa Borcumu Bİr Nebzede Olsa Ödemek İstedim.
Geçenlerde Son Yazdığım Program Üzerinde Aldığım Bir Hata Mesajı Üzerine Site Sİte Dolaşmaya Başladım.Sizin Sitenizde Basitte Olsa Bir Çözüm Buldum ve Bunu Geliştirdim. Neyse Forumu Uzun Süre İnceledikten Sonra Veritabanımızın Yedeğini Belirli Bir yere Tarihiyle Alıp Sonrada Aynı Veritabanını Programa Çağıracak KodlarıYazacağım Sizlere.
Arkadaşlar Kullandığım Yazılım Visual Basic 2008 Versiyonu.
Veritabanı Olarak Access kullandım.


arkadaşlar Formumuza Sytem.IO yu import etmemiz lazım yoksa çalışmaz
ve Formumuza Bir adet "openfiledialog" nesnesi atacağız.

Imports System.IO

Arkadaşlar Formumuza Sadece Bir Buton Ekliyoruz.
Butonunuzun İsmini "Veritabanı Yedekle" Olarak Değiştiriniz.
Ve Form Click Olayımıza Aşşağıdaki Kodu Yazıyoruz.

Code:

Visual Basic Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
'veritabanı yedekle
Dim zaman As New Date  'burada zaman değişkenimizi atadık
        Dim uzanti As String 'burada ise  uzantısını atadık "Kayıt.mdb" gibi
        zaman = DateTime.Today 'zaman isimli değişkenimize "today" ile bugünün tarihini verdik
        uzanti = (".mdb") 'uzanti isimli değişkenimizde ise Uzantımızı 
        Select Case File.Exists("D:\EVRAK TAKİP yedek\database\" & (zaman) & (uzanti))
            'bakınız bu bölümde aynı tarih isimli dosya var mı ona bakıyoruz.
            Case True
                MsgBox("Bugün Zaten yedek Alınmış", MsgBoxStyle.Information, "Dikkat !")
                'eğer aynı gün aldığımız yedek varsa yedeği tanıdı ve uyarı verdi
            Case False
                'bu bölümde ise eğer aynı gün yedek yoksa dosyayı kopyalayacak.
                FileCopy("kayıt.mdb", "D:\EVRAK TAKİP yedek\database\" & Path.GetFileName(zaman) & uzanti)
                'buradaki "zaman" ve "uzanti" değişkenlerine dikkat edin zaman dosya adını değiştirdi.
                'uzantı ise dosya uzantımızı atadı.
                MsgBox("Veritabanı Yedekleme İşlemi Tamamlanmıştır, Veritabanı D:\EVRAK TAKİP yedek\database\ Klasörünün İçindedir", MsgBoxStyle.Information, "İşlem")
                'işlem bitti ve dosyamız ydeklendi mesajını aldık.
            Case Else
                MsgBox("İşlemi tekrar deneyiniz.", MsgBoxStyle.Information, Me.Text)
        End Select


Arkadaşlar bakınız yukarıda Programımızdan Veritabanını aldık ve dosya adını o günün tarihiyle değiştirdik. ve dosya uzantısınıda atayarak istediğimiz klasöre kopyaladık.
yani Programı yazdığımız yerde ki veri tabanı adımız "kayıt.mdb" olmasına rağmen dosyayı kopyaladıktan sonra "01.02.2011.mdb" olarak atadı. hem hangi gün kayıt aldığımızı yazdık hemde eğer o gün kayıt alındıysa kullanıcıya haber verdi.


Şimdi Yedek aldığımız veritabanını Porgram ana dizinine geri çağıracağız. "Yedeği geri Yükle" döngümüzü alacağız.
Şimdi bakın burada en dikkat edilecek husus şudur arkadaşlar. Bizim Programa tanıttığımız veritabanı "kayıt.mdb" peki yedeklediğimiz dosya ise "01.02.2011" dir.
geriye kopyalarsa tarih isimli yedeği alacak ve programımız görmeyecek. O Zaman Demin ki işlemi Ters Çevireceğiz.Arkadaşlar Yine Formumuza Bir buton Ekleyerek Adınıda "yedeği Geri Al" olarak değiştirdik.
Ve Button Click Olayına Şu kodu yazacağız.


code:


Visual Basic Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
Dim uzanti As String
        've sürekli olarak kullanıcıdan dosya ismi değiştirmesini ister.
        Dim dosyadi As String
        Dim zaman As New Date
        dosyadi = ("kayıt")
        uzanti = (".mdb")
        Dim dosya As New FileInfo("\kayıt.mdb")
        Dim Ac As New OpenFileDialog
        'bakın Burada ac diye bir değişken atadık 
        Ac.FileName = vbNullString
        Ac.Filter = "Tüm Dosyalar (*.*) |*.*"  'Hangi Tip Dosyalar Açacağımızı soruyor
        Ac.InitialDirectory = ("D:\EVRAK TAKİP yedek\database\") 'burada nereden açılacağı
        If Ac.ShowDialog = Windows.Forms.DialogResult.OK Then
            Select Case File.Exists("C:\Program Files\Proje Takip\" & (dosyadi) & (uzanti))
                Case True
                    'arkadaşlar kill silme kodudur. yedeğimiz dosyaya alırken aynı dosya olduğu için hata verecektir.
                    'eski veritabanını siliyoruz.
                    Kill("C:\Program Files\Proje Takip\kayıt.mdb")
                    File.Copy(Ac.FileName, "C:\Program Files\Proje Takip\" & (dosyadi) & (uzanti))
                    'bakın işte burada az önce yedeklede yaptığımız işlemi ters çevirerek yaptık

                    MsgBox(Path.GetFileName(Ac.FileName) & " dosyası başarı ile taşındı", MsgBoxStyle.Information, "Uyarı")
                Case False

                    File.Copy(Ac.FileName, "C:\Program Files\Proje Takip" & (dosyadi) & (uzanti))

                    MsgBox(Path.GetFileName(Ac.FileName) & " dosyası başarı ile taşındı", MsgBoxStyle.Information, "Uyarı")
                Case Else
                    MsgBox("İşlemi tekrar deneyiniz.", MsgBoxStyle.Information, Me.Text)
            End Select

        End If


Arkadaşlar takıldığınız Noktada Sorularınızı Cevaplayabilirim.
Bu kodun İlk halini İnternet Üzerinden Aldım(YAzması Zor geldi deImg-grin))
Daha Sonra geliştirerek sizlere Sunuyorum.
Arkadaşlar Çok Fazla Vaktim Olmadığından Dolayı nete Çok Fazla Giremiyorum.
Ama Arada Birde Olsa Siz Değerli Accesstr.net Ailesini Ziyaret Edeceğim.

Not: Alıntı Değildir.
Ümit Tombalak

Cevapla


ercansahin
BlackEagle
Kullanici Avatari
Uzman
E.... Ş....
3.739
14/11/2008
Ankara
Ofis 2010 32 Bit
07/12/2016,23:51
Paylaşım için teşekkürler.

Bu arada kodların sayfaya yerleşimini sizin için ayarladım. İzninizleImg-grin
Cevapla


life_exciting
Aktif Üye
Kullanici Avatari
Aktif Üye
837
28/12/2009
361
Ankara
Ofis 2003
18/11/2010,00:42
Paylaşım İçin Teşekkürler.
Cevapla


C*e*l*o*y*c*e
Celosoft Yazılım
Kullanici Avatari
Uzman
M.... B....
2.813
29/10/2008
899
Ankara
Ofis 2010 32 Bit
Bugün,17:28
Paylaşım için teşekkürler
Cevapla


azul20
Üye
Kullanici Avatari
Üye
9
3
17/02/2011
3
Denizli
Ofis 2003
10/02/2016,06:57
(08/04/2011, 20:07)BlackEagle Adlı Kullanıcıdan Alıntı: Paylaşım için teşekkürler.

Bu arada kodların sayfaya yerleşimini sizin için ayarladım. İzninizleImg-grin

Ne Demek Efendim Teşekkür Ederim
Cevapla


emremzrk
Üye
Kullanici Avatari
Üye
19
4
03/01/2012
0
Ankara
Ofis 2007
20/05/2012,22:06
Paylaşım İçin Teşekkürler Benim İki sorum olacak burda kaydetme yerini kullanıcıya sorması için hangi kodu eklememiz gerekir. ikinci Sorum İse veri tabanını yedekten alırken C:\Program Files\Proje Takip\ şeklinde değilde program hangi klasörler altındaysa otomatik uzantısını aldırıp yazdırabılırmıyız?
Cevapla







Konuyu Okuyanlar: 1 Ziyaretçi


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Tarih Son Yorum
  Visual Basic 'te hesaplama işlemleri (Yeni Başlayanlar için) azul20 5 5.596 05/12/2015, 14:38 senatorlord
  Visual Studio 2010 Video Türkçe Eğitim Seti steeel 5 3.038 17/03/2014, 16:56 drummers
Çözüldü Visual Studio 2010 da Programlarımızın Kurulum ( Setup ) Dosyalarını Oluşturma kanka07 9 9.398 02/06/2011, 09:15 alpeki99


Türkçe Çeviri: MCTR, Forum Yazılımı: MyBB, © 2002-2016 MyBB Group.
DMCA.com Protection Status
© Desing by XSTYLED| Develops by ozanakkaya