Skip to main content

AccessTr.neT


Yedek Alma Uygulaması

Yedek Alma Uygulaması

#1
mevcut Access dosyasının yedeğini alır.

sn ozanakkaya hocamın eklediği kod ile dosya güncellenmiştir. 
teşekkür ederim.


[Resim: do.php?img=9251]
.rar mevcut veritabanının yedeğini al butonu2003_Backup.rar (Dosya Boyutu: 32,91 KB | İndirme Sayısı: 40)
husem, proud to be a member of AccessTr.neT since 08-03-2009.
Son Düzenleme: 19/10/2019, 00:50, Düzenleyen: husem.
Cevapla
#2
Paylaşımınız için teşekkürler.
Cevapla
#3
Kod içerisindeki

KopiaDB = InputBox("Veritabanı yedeklenecek, dizin aşağıdaki gibi:" & Chr(13) & Chr(10) & Chr(13) & Chr(10) & "Dosyanın oluşturulacağı yol:.", "Değiştirmeden onaylayınız.", Left(CurDB, Len(CurDB) - Len(Dir(CurDB))) & Me.dosyaadi) '"deneme.mdb")

Şeklinde kod mevcut. Butona bastığınızda metin kutusunda yazılan isim ne ise uzantısız olarak yedek alıyor.

Uzantılı kaydedilmesi ve mdb ise accdb olarak kaydedilmemesi için bu kod;

Şeklindeki kodun

KopiaDB = InputBox("Veritabanı yedeklenecek, dizin aşağıdaki gibi:" & Chr(13) & Chr(10) & Chr(13) & Chr(10) & "Dosyanın oluşturulacağı yol:.", "Değiştirmeden onaylayınız.", Left(CurDB, Len(CurDB) - Len(Dir(CurDB))) & Me.dosyaadi & "." & Mid(CurrentProject.Name, InStr(1, CurrentProject.Name, ".") + 1)) '"deneme.mdb")

olarak değiştirilmesi daha doğru olur. Uygulama "test.mdb" ise ve metin kutusuna deneme yazıldıysa alınacak yedeğin adı deneme.mdb olacaktır.
Cevapla
#4
(18/10/2019, 13:42)ozanakkaya yazdı: Kod içerisindeki

KopiaDB = InputBox("Veritabanı yedeklenecek, dizin aşağıdaki gibi:" & Chr(13) & Chr(10) & Chr(13) & Chr(10) & "Dosyanın oluşturulacağı yol:.", "Değiştirmeden onaylayınız.", Left(CurDB, Len(CurDB) - Len(Dir(CurDB))) & Me.dosyaadi) '"deneme.mdb")

Şeklinde kod mevcut. Butona bastığınızda metin kutusunda yazılan isim ne ise uzantısız olarak yedek alıyor.

Uzantılı kaydedilmesi ve mdb ise accdb olarak kaydedilmemesi için bu kod;

Şeklindeki kodun

KopiaDB = InputBox("Veritabanı yedeklenecek, dizin aşağıdaki gibi:" & Chr(13) & Chr(10) & Chr(13) & Chr(10) & "Dosyanın oluşturulacağı yol:.", "Değiştirmeden onaylayınız.", Left(CurDB, Len(CurDB) - Len(Dir(CurDB))) & Me.dosyaadi & "." & Mid(CurrentProject.Name, InStr(1, CurrentProject.Name, ".") + 1)) '"deneme.mdb")

olarak değiştirilmesi daha doğru olur. Uygulama "test.mdb" ise ve metin kutusuna deneme yazıldıysa alınacak yedeğin adı deneme.mdb olacaktır.

Üstad peki farklı bir dosya yoluna nasıl kaydedebiliriz? Örn. Dir ("C:\Yedek") gibi..
Cevapla
#5
Komut butonunun tıklandığında olayındaki kodun aşağıdaki gibi değiştirilmesi gerekli.

On Error Resume Next
Dim CurDB As String, KopiaDB As String, LenDB As Long, Plik As String, NrPliku As Long
Dim YedekDizini As String

YedekDizini = "C:\Yedek"

DoCmd.Hourglass -1
CurDB = CurrentDb.Name
Err = 0
Plik = Space(FileLen(CurDB))
NrPliku = FreeFile
Open CurDB For Binary Access Read Shared As #NrPliku
Get #NrPliku, 1, Plik
Close #NrPliku
If Err = 52 Then
MsgBox "Kopyalanamadı. " & CurDB & "Kopyalama işlemi başarısız.", 48, "Kopyalanıyor."
ElseIf Err Then
MsgBox Err.Description
Else
KopiaDB = InputBox("Veritabanı yedeklenecek, dizin aşağıdaki gibi:" & Chr(13) & Chr(10) & Chr(13) & Chr(10) & "Dosyanın oluşturulacağı yol:.", "Değiştirmeden onaylayınız.", YedekDizini & "\ " & Me.dosyaadi & "." & Mid(CurDB, InStr(1, CurDB, ".") + 1)) '"deneme.mdb")
If KopiaDB & "" <> "" Then
Kill KopiaDB
Err = 0
NrPliku = FreeFile
Open KopiaDB For Binary Access Write Shared As #NrPliku
Put #NrPliku, 1, Plik
Close #NrPliku
If Err = 0 Then
MsgBox "Yedek Dosyanız Alınmıştır."
Else
MsgBox Err.Description
End If
End If
End If
DoCmd.Hourglass 0
'DoCmd.Quit


Koddaki;
YedekDizini = "C:\Yedek" 

kısmını değiştirebilirsiniz
Cevapla
#6
(21/10/2019, 11:47)ozanakkaya yazdı: Komut butonunun tıklandığında olayındaki kodun aşağıdaki gibi değiştirilmesi gerekli.

On Error Resume Next
Dim CurDB As String, KopiaDB As String, LenDB As Long, Plik As String, NrPliku As Long
Dim YedekDizini As String

YedekDizini = "C:\Yedek"

DoCmd.Hourglass -1
CurDB = CurrentDb.Name
Err = 0
Plik = Space(FileLen(CurDB))
NrPliku = FreeFile
Open CurDB For Binary Access Read Shared As #NrPliku
Get #NrPliku, 1, Plik
Close #NrPliku
If Err = 52 Then
MsgBox "Kopyalanamadı. " & CurDB & "Kopyalama işlemi başarısız.", 48, "Kopyalanıyor."
ElseIf Err Then
MsgBox Err.Description
Else
KopiaDB = InputBox("Veritabanı yedeklenecek, dizin aşağıdaki gibi:" & Chr(13) & Chr(10) & Chr(13) & Chr(10) & "Dosyanın oluşturulacağı yol:.", "Değiştirmeden onaylayınız.", YedekDizini & "\ " & Me.dosyaadi & "." & Mid(CurDB, InStr(1, CurDB, ".") + 1)) '"deneme.mdb")
If KopiaDB & "" <> "" Then
Kill KopiaDB
Err = 0
NrPliku = FreeFile
Open KopiaDB For Binary Access Write Shared As #NrPliku
Put #NrPliku, 1, Plik
Close #NrPliku
If Err = 0 Then
MsgBox "Yedek Dosyanız Alınmıştır."
Else
MsgBox Err.Description
End If
End If
End If
DoCmd.Hourglass 0
'DoCmd.Quit


Koddaki;
YedekDizini = "C:\Yedek" 

kısmını değiştirebilirsiniz
sn ozanakkaya hocamın yaptığı düzeltmelerle ilgili son dosya ektedir.
[Resim: do.php?img=9251]

teşekkürler.
.rar mevcut veritabanının yedeğini al.rar (Dosya Boyutu: 72,04 KB | İndirme Sayısı: 26)
husem, proud to be a member of AccessTr.neT since 08-03-2009.
Son Düzenleme: 21/10/2019, 12:58, Düzenleyen: husem.
Cevapla

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

Yorum yapmak için üye olmanız gerekiyor

ya da
Task