AccessTr.neT
Otomatik Yedekleme - Baskı Önizleme

+- AccessTr.neT (https://accesstr.net)
+-- Forum: Microsoft Access (https://accesstr.net/forum-microsoft-access.html)
+--- Forum: Access Cevaplanmış Soruları (https://accesstr.net/forum-access-cevaplanmis-sorulari.html)
+--- Konu Başlığı: Otomatik Yedekleme (/konu-otomatik-yedekleme.html)

Sayfalar: 1 2 3 4


Otomatik Yedekleme - notrino - 02/12/2018

Merhabalar,

Bir VT uygulamasını otomatik olarak yedekleme ile ilgili sitede bir sürü bilgi buldum ancak kafam karıştı ve hiçbirini kendi uygulamama entegre edemiyorum. Özellikle kodun içine gömeceğim belli bir süre dolunca (örneğin saatte 1) sistem yedekleme yapsın istiyorum. Ama buna gelmeden önce ve çalışma mantığını anlayabilmem içinekteki örneğimdeki butona, "en basit hali ile (süreye falan gerek olmadan)" hangi kod eklenirse butona her basışımda yedek aldırabilirim? Şimdiden teşekkürler.


Cvp: Otomatik Yedekleme - berduş - 02/12/2018

en basit hali ile aşağıdaki kodları butona ekleyebilirsiniz ama önce 
  • Alt+F11 basım Araçlar- Tools > referanslar-References açıp
  • "Microsoft Scripting Runtime" eklemelisiniz 
[Resim: do.php?imgf=154376851095641.jpg]

Private Sub Komut11_Click()
strFrom = Application.CurrentProject.Path & "\" & Application.CurrentProject.Name
strTo = Application.CurrentProject.Path & "\yedek\" & Application.CurrentProject.Name
   
   Dim fso As FileSystemObject
       Dim sSourcePath As String
       Dim sSourceFile As String
       Dim sBackupPath As String
       Dim sBackupFile As String
       Dim DB As New Access.Application
If Len(Dir(Application.CurrentProject.Path & "\yedek", vbDirectory)) = 0 Then
  MkDir Application.CurrentProject.Path & "\yedek"
End If
       Set fso = New FileSystemObject
       fso.copyFile strFrom, strTo, True
       Set fso = Nothing
       Beep
       MsgBox "Backup was successful and Saved" & "Backup completed"
End Sub
dilerim işinize yarar


Cvp: Otomatik Yedekleme - notrino - 02/12/2018

(02/12/2018, 19:32)haliliyas yazdı: en basit hali ile aşağıdaki kodları butona ekleyebilirsiniz ama önce 
  • Alt+F11 basım Araçlar- Tools > referanslar-References açıp
  • "Microsoft Scripting Runtime" eklemelisiniz 
[Resim: do.php?imgf=154376851095641.jpg]

Private Sub Komut11_Click()
strFrom = Application.CurrentProject.Path & "\yedekleme_uygulamas?.accdb"
strTo = Application.CurrentProject.Path & "\yedek\yedekleme_uygulamas?.accdb"
   
   Dim fso As FileSystemObject
       Dim sSourcePath As String
       Dim sSourceFile As String
       Dim sBackupPath As String
       Dim sBackupFile As String
       Dim DB As New Access.Application
If Len(Dir(Application.CurrentProject.Path & "\yedek", vbDirectory)) = 0 Then
  MkDir Application.CurrentProject.Path & "\yedek"
End If
       Set fso = New FileSystemObject
       fso.copyFile strFrom, strTo, True
       Set fso = Nothing
       Beep
       MsgBox "Backup was successful and Saved" & "Backup completed"
End Sub
dilerim işinize yarar

Merhaba Halil Bey, evet iş görüyor. Yeri gelmişken şunu sorayım;
Elle manuel yaptığımız klasik yedekleme prosedüründe biliyorsunuz, belirttiğiniz yerde ayrı bir backup dosyası şeklinde tarih bilgisi ile birlikte bir dosya yaratılıyor. Bu verdiğiniz örnek ise, butona her basışta sanki aynı dosya üzerine yazıyor. Doğru anlıyorum değil mi? Yani bu kodlama mevcut dosyayı bir nevi copy-paste mi ediyor yoksa farklı bir şey mi yapıyor? Tşk.


Cvp: Otomatik Yedekleme - berduş - 02/12/2018

haklısınız copy past yapıyor
isterseniz isimlendirme aşamasında ismin başına
strTo = Application.CurrentProject.Path & "\yedek\" & date() & "_" & Application.CurrentProject.Name

şeklinde yazarsanız tarih ekleyerek kaydeder


Cvp: Otomatik Yedekleme - notrino - 02/12/2018

(02/12/2018, 20:02)haliliyas yazdı: haklısınız copy past yapıyor
isterseniz isimlendirme aşamasında ismin başına
strTo = Application.CurrentProject.Path & "\yedek\" & date() & "_" & Application.CurrentProject.Name

şeklinde yazarsanız tarih ekleyerek kaydeder

Evet oluyor o şekilde. Peki, butona her basışımda ayrı bir dosya olarak kaydettirmek mümkün mü? (tarih bilgisi ile birlikte)Yani klsik prosedüre doğru yol alıyorum...Img-grin


Cvp: Otomatik Yedekleme - berduş - 02/12/2018

strTo = Application.CurrentProject.Path & "\yedek\" & date() & "_" & Application.CurrentProject.Name

yukardaki kodda date yazan yer yerine aşağıdaki "zaman" fonksiyonunu tanımlardanız her yedeğin ömüne tarih ve zaman ekler
___________________________________________________________________________________
zaman = Format(Date, "yyyymmdd") & "_" & Format(Time, "hhmm")
strTo = Application.CurrentProject.Path & "\yedek\" & zaman  & "_" & Application.CurrentProject.Name
___________________________________________________________________________________