Skip to main content

AccessTr.neT


Veritabanı yedekleme kodu

emir ustaoğlu
emir ustaoğlu
10
5036

Veritabanı yedekleme kodu

#7
sayın ustaoglu,

ilgili butonun içeriğini aşağıdaki ile değiştiriniz lütfen.bilginize.

Kod:
'1-)klasör oluşturmak için

Dim klasoryeri As String
klasoryeri = CurrentProject.path & "\" & "ydk"
If Len(Dir(klasoryeri, vbDirectory)) = 0 Then
MkDir (klasoryeri)
MsgBox ("KLASÖR oluşturuldu"), vbInformation, "KLASÖR OLUŞTURMA BİLGİSİ"
End If

'2-)Dosyayı,oluşturulan klasöre kopyalamak için

Dim dosyakopyala As Object
If Len(Dir(CurrentProject.path & "\" & "ydk\" & "yedek-" & Format(Date, "dd.mm.yyyy") & ".accdb", vbDirectory)) = 0 Then
   Set dosyakopyala = CreateObject("Scripting.FileSystemObject")
   dosyakopyala.copyfile CurrentProject.path & "\" & "KlasoreYedekle-ATOZ.accdb", CurrentProject.path & "\" & "ydk" & "\yedek-" & Format(Date, "dd.mm.yyyy") & ".accdb"
   MsgBox ("DOSYA kopyalandı"), vbInformation, "DOSYA KOPYALAMA BİLGİSİ"
Else
   MsgBox ("DOSYA zaten mevcut"), vbInformation, "DOSYA KOPYALAMA BİLGİSİ"
End If

iyi çalışmalar,saygılar.
Herkes, kendisinin AR-GE'cisidir...


Konulara eklenen Uygulama içeriğine yönelik Tavsiyeler
Alt Form Denetim Değerlerine ulaşma ve Alt Form Güncelleme
Kapatırken Düzenle (Compact On Close) Seçeneğinin İşaretlenmesi Hakkında
Cevapla
#8
(02/09/2015, 18:12)atoz112 yazdı:
Kod:
'1-)klasör oluşturmak için

Dim klasoryeri As String
klasoryeri = CurrentProject.path & "\" & "ydk"
If Len(Dir(klasoryeri, vbDirectory)) = 0 Then
MkDir (klasoryeri)
MsgBox ("KLASÖR oluşturuldu"), vbInformation, "KLASÖR OLUŞTURMA BİLGİSİ"
End If

'2-)Dosyayı,oluşturulan klasöre kopyalamak için

Dim dosyakopyala As Object
If Len(Dir(CurrentProject.path & "\" & "ydk\" & "yedek-" & Format(Date, "dd.mm.yyyy") & ".accdb", vbDirectory)) = 0 Then
    Set dosyakopyala = CreateObject("Scripting.FileSystemObject")
    dosyakopyala.copyfile CurrentProject.path & "\" & "KlasoreYedekle-ATOZ.accdb", CurrentProject.path & "\" & "ydk" & "\yedek-" & Format(Date, "dd.mm.yyyy") & ".accdb"
    MsgBox ("DOSYA kopyalandı"), vbInformation, "DOSYA KOPYALAMA BİLGİSİ"
Else
    MsgBox ("DOSYA zaten mevcut"), vbInformation, "DOSYA KOPYALAMA BİLGİSİ"
End If


sayın attoz112;

çok teşekkür ederim yardımlarınız için sayenizde bir sorunum daha ortadan kalktı ve bu örnekleriniz sayesinde hem Access hemde kod bilgimi geliştiriyorum tekrar teşekkür ederim
Dünyada Yetirince Anlaşılır Dile Konuşan İnsanlar Var Birazcık da Anlaması İçin Düşünmesi Gerekiyor İnsanların
Son Düzenleme: 02/09/2015, 18:15, Düzenleyen: emir ustaoğlu.
Cevapla
#9
(02/09/2015, 18:12)atoz112 yazdı: sayın ustaoglu,

sayın atoz112;

öncelikle yapmış olduğunuz yardımlarınızdan dolayı çok teşekkür ederim.

bana vermiş olduğunuz yedekleme kodu çok işime yarıyor ve stabil olarak çalışıyor. Ancak dün yaşadığım bilgisayarla ilgili problem den dolayı firmaya ait ufak yedeklerin alındığı bulut sunucu mevcut (yandex disk) buraya yedeklerimi almak istiyorum ancak kodta yaptığım düzeltme olmuyor yaptığım düzeltme şu şekilde;

1-)klasör oluşturmak için

Dim klasoryeri As String
klasoryeri = CurrentProject.Path & "C:\Users\Muhasebe2\YandexDisk\STS" & "STS Yedekleri"
If Len(Dir(klasoryeri, vbDirectory)) = 0 Then
MkDir (klasoryeri)
MsgBox ("STS Yedekleri Klasörü Oluşturulmuştur."), vbInformation, "STS [Bilgi]"
End If

'2-)Dosyayı,oluşturulan klasöre kopyalamak için

Dim dosyakopyala As Object
If Len(Dir(CurrentProject.Path & "C:\Users\Muhasebe2\YandexDisk\STS" & "STS Yedekleri\" & "STS-" & Format(Date, "dd.mm.yyyy") & ".accdb", vbDirectory)) = 0 Then
Set dosyakopyala = CreateObject("Scripting.FileSystemObject")
dosyakopyala.copyfile CurrentProject.Path & "\" & "STS.accdb", CurrentProject.Path & "C:\Users\Muhasebe2\YandexDisk\STS" & "STS Yedekleri" & "\STS-" & Format(Date, "dd.mm.yyyy") & ".accdb"
MsgBox ("Programın Yedeği Başarıyla Alınmıştır."), vbInformation, "STS [Bilgi]"
Else
MsgBox ("Programın Bugün Yedeği Alınmıştır." & Chr(10) & "Yeni Yedek İçin Lütfen Önce Eski Yedeği Silin"), vbCritical, "STS [Uyarı]"
End If

kodunda orjinal hali şöyle;

'1-)klasör oluşturmak için

Dim klasoryeri As String
klasoryeri = CurrentProject.Path & "/" & "STS Yedekleri"
If Len(Dir(klasoryeri, vbDirectory)) = 0 Then
MkDir (klasoryeri)
MsgBox ("STS Yedekleri Klasörü Oluşturulmuştur."), vbInformation, "STS [Bilgi]"
End If

'2-)Dosyayı,oluşturulan klasöre kopyalamak için

Dim dosyakopyala As Object
If Len(Dir(CurrentProject.Path & "\" & "STS Yedekleri\" & "STS-" & Format(Date, "dd.mm.yyyy") & ".accdb", vbDirectory)) = 0 Then
Set dosyakopyala = CreateObject("Scripting.FileSystemObject")
dosyakopyala.copyfile CurrentProject.Path & "\" & "STS.accdb", CurrentProject.Path & "\" & "STS Yedekleri" & "\STS-" & Format(Date, "dd.mm.yyyy") & ".accdb"
MsgBox ("Programın Yedeği Başarıyla Alınmıştır."), vbInformation, "STS [Bilgi]"
Else
MsgBox ("Programın Bugün Yedeği Alınmıştır." & Chr(10) & "Yeni Yedek İçin Lütfen Önce Eski Yedeği Silin"), vbCritical, "STS [Uyarı]"
End If

nerde hata yapıyorum ?? klasör yolunu değiştirince click yordamı iptal oluyor kod görünüyor ancak tıklama da bir işlem yapmıyor.

yardımlarınız için şimdiden teşekkürler.
Dünyada Yetirince Anlaşılır Dile Konuşan İnsanlar Var Birazcık da Anlaması İçin Düşünmesi Gerekiyor İnsanların
Cevapla
#10
Sayın ustaoglu,

İlgili kodları aşağıdaki ile değiştiriniz.

Kod:
'1-)klasör oluşturmak için

Dim klasoryeri As String
klasoryeri = "C:\Users\Muhasebe2\YandexDisk\STS" & "\" & "STS Yedekleri"
If Len(Dir(klasoryeri, vbDirectory)) = 0 Then
MkDir (klasoryeri)
MsgBox ("STS Yedekleri Klasörü Oluşturulmuştur."), vbInformation, "STS [Bilgi]"
End If

'2-)Dosyayı,oluşturulan klasöre kopyalamak için

Dim dosyakopyala As Object
If Len(Dir("C:\Users\Muhasebe2\YandexDisk\STS" & "\" & "STS Yedekleri\" & "STS-" & Format(Date, "dd.mm.yyyy") & ".accdb", vbDirectory)) = 0 Then
   Set dosyakopyala = CreateObject("Scripting.FileSystemObject")
   dosyakopyala.copyfile CurrentProject.Path & "\" & "STS.accdb", "C:\Users\Muhasebe2\YandexDisk\STS" & "\" & "STS Yedekleri\" & "\STS-" & Format(Date, "dd.mm.yyyy") & ".accdb"
   MsgBox ("Programın Yedeği Başarıyla Alınmıştır."), vbInformation, "STS [Bilgi]"
Else
   MsgBox ("Programın Bugün Yedeği Alınmıştır." & Chr(10) & "Yeni Yedek İçin Lütfen Önce Eski Yedeği Silin"), vbCritical, "STS [Uyarı]"
End If

Bahsettiğiniz soruna maruz kalmanızın nedeni;

CurrentProject.path kod ifadesini hatalı kullanmanızdan kaynaklanmaktadır.çünkü;bu ifadenin anlamı,uygulama hangi klasörde ise o klasör içerisine kodlarda yer alan klasörün açılması ve bu klasördeki dosyanın kontrolünün yapılması demektir.

Fakat, CurrentProject.Path & "C:\Users\Muhasebe2\YandexDisk\STS" & "STS Yedekleri" şeklinde yazarsanız,hem uygulamanın olduğu klasör hem de c sürücüsündeki yol çakışacaktır.dolayısı ile de hata oluşacaktır.

bilginize…iyi çalışmalar,saygılar.
 
Herkes, kendisinin AR-GE'cisidir...


Konulara eklenen Uygulama içeriğine yönelik Tavsiyeler
Alt Form Denetim Değerlerine ulaşma ve Alt Form Güncelleme
Kapatırken Düzenle (Compact On Close) Seçeneğinin İşaretlenmesi Hakkında
Cevapla
#11
(09/09/2015, 19:40)atoz112 yazdı: Bahsettiğiniz soruna maruz kalmanızın nedeni;

CurrentProject.path kod ifadesini hatalı kullanmanızdan kaynaklanmaktadır.çünkü;bu ifadenin anlamı,uygulama hangi klasörde ise o klasör içerisine kodlarda yer alan klasörün açılması ve bu klasördeki dosyanın kontrolünün yapılması demektir.

Fakat, CurrentProject.Path & "C:\Users\Muhasebe2\YandexDisk\STS" & "STS Yedekleri" şeklinde yazarsanız,hem uygulamanın olduğu klasör hem de c sürücüsündeki yol çakışacaktır.dolayısı ile de hata oluşacaktır.

bilginize…iyi çalışmalar,saygılar.
 

Sayın atoz112;
cevabınız ve kodtaki düzenlemeniz için teşekkür ederim.

sayenizde bir bilgi daha öğrendim teşekkürler tekrar. +rep
Dünyada Yetirince Anlaşılır Dile Konuşan İnsanlar Var Birazcık da Anlaması İçin Düşünmesi Gerekiyor İnsanların
Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da
Task