Veritabanı yedekleme kodu

1 2
30/08/2015, 12:58

emir ustaoğlu

herkese merhaba;
elimde veritabanını yedeklemeye yarayan bir kod var ancak biraz çekrefilli uğraştırıyor tüm tabloları formları vb tek tek yazmak gerekiyor.
kod şu şekilde;
Private Sub yedek_al_Click()
On Error Resume Next
Dim vt As Object
Dim ydk As String
ydk = "C:\STS Yedek.mdb"
Set trz = CreateObject("Access.Application")
trz.NewCurrentDatabase ydk
Set vt = appaccess.CurrentDb
trz.CloseCurrentDatabase
trz = Nothing
With DoCmd
.SetWarnings False
.CopyObject "c:\STS Yedek", "calisanlar", acTable, "calisanlar"
.CopyObject "c:\STS Yedek", "ba_formu", acTable, "ba_formu"
.CopyObject "c:\STS Yedek", "bs_formu", acTable, "bs_formu"
.CopyObject "c:\STS Yedek", "yapilacak_islemler", acTable, "yapilacak_islemler"
.CopyObject "c:\STS Yedek", "Giriş", acForm, "Giriş"
.CopyObject "c:\STS Yedek", "ba_formu", acForm, "ba_formu"
.CopyObject "c:\STS Yedek", "bs_formu", acForm, "bs_formu"
.SetWarnings True
End With

MsgBox "Programın Yedeği Başarıyla Alınmıştır..", vbApplicationModa, "STS"
End Sub
şeklinde ve bu kodun daha yarısı bile deil elimdeki bu kodla yenin eklenen bir işlem olduğunda forum, tablo gibi buraya gelip eklemek gerekiyor ve vakit kaybı oluyor. taha hızlı bir şekilde nasıl yapa bilirim. yardımcı olursanız çok sevinirim.
30/08/2015, 19:07

ozanakkaya

30/08/2015, 19:27

emir ustaoğlu

(30/08/2015, 19:07)ozanakkaya yazdı: Veritabanı Yedekleme ve Bakım Uygulaması V3 örneğini inceleyiniz.

sayın ozanakkaya cevabınız ve göstermiş olduğunuz örnek için teşekkür ederim

uygulamayı kompile değilde sadece yedekleme komutunu almak istiyorum
kendi oluşturmuş olduğum komutun tıklama yordamına bu kodu eklesem yeterli olur mu ?
Kod:
Public Function CopyFile(strSource As String, strDestination As String) As Boolean
  Const BufferSize = 4096
  Dim strBuffer As String * BufferSize
  Dim strTempBuffer As String
  Dim intSourceFile As Integer
  Dim intDestinationFile As Integer
  Dim lngCounter As Long
  On Error GoTo PROC_ERR
  intSourceFile = FreeFile
  Open strSource For Binary As #intSourceFile
  intDestinationFile = FreeFile
  Open strDestination For Binary As #intDestinationFile
  For lngCounter = 1 To LOF(intSourceFile) \ BufferSize
    Get #intSourceFile, , strBuffer
    Put #intDestinationFile, , strBuffer
  Next lngCounter
  lngCounter = LOF(intSourceFile) Mod BufferSize
  If lngCounter > 0 Then
    Get #intSourceFile, , strBuffer
    strTempBuffer = Left$(strBuffer, lngCounter)
    Put #intDestinationFile, , strTempBuffer
  End If
  Close #intSourceFile
  Close #intDestinationFile
  CopyFile = True
PROC_EXIT:
  Exit Function
PROC_ERR:
  CopyFile = False
  Resume PROC_EXIT
End Function

#Edit: programım şuan yanımda olmadığı için deneme yapamıyorum
30/08/2015, 19:35

ozanakkaya

Uygulamanız malesef benimde yanımda değil, önce deneyin, çalıştıramazsanız yazın.
02/09/2015, 17:36

atoz112

sayın ustaoglu,


EK'te;
bahsettiğiniz talebinize yönelik olarak hazırlanmış örnek uygulama mevcuttur.inceleyebilirsiniz.bilginize.

NOT:
örnekteki klasör ve dosya adı tanımlamalarını,kendi uygulamanıza ya da tercihinize yönelik olarak değiştiriniz.

iyi çalışmalar,
saygılar.
02/09/2015, 17:51

emir ustaoğlu

(02/09/2015, 17:36)atoz112 yazdı: sayın ustaoglu,


EK'te;
bahsettiğiniz talebinize yönelik olarak hazırlanmış örnek uygulama mevcuttur.inceleyebilirsiniz.bilginize.

NOT:

sayın attoz112;

örnekteki klasör ve dosya adı tanımlamalarını,kendi uygulamanıza ya da tercihinize yönelik olarak değiştiriniz.

iyi çalışmalar,
saygılar.

çok teşekkür ederim cevabınız ve uygulamanız için şuan iş yerinde olduğum için uygulamama ekleyemedim ama tam istediğim özellikte
bide kodda düzenleme yaparak yedeği kaydedeceği isme tarihte ekleye bilirmiyiz ??
örneğin yedek_02_09_2015 gibi her alınan yedeğe o günün tarihini de ekleyecek ?? bu mümkün müdür ??
1 2