18/10/2019, 00:25
Yedek Alma Uygulaması
1 2
18/10/2019, 09:50
ozanakkaya
Paylaşımınız için teşekkürler.
18/10/2019, 13:42
ozanakkaya
Kod içerisindeki
Ş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
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.
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.
21/10/2019, 11:35
sipuasfaf
(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..
21/10/2019, 11:47
ozanakkaya
Komut butonunun tıklandığında olayındaki kodun aşağıdaki gibi değiştirilmesi gerekli.
Koddaki;
YedekDizini = "C:\Yedek"
kısmını değiştirebilirsiniz
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
21/10/2019, 12:41
husem
(21/10/2019, 11:47)ozanakkaya yazdı: Komut butonunun tıklandığında olayındaki kodun aşağıdaki gibi değiştirilmesi gerekli.sn ozanakkaya hocamın yaptığı düzeltmelerle ilgili son dosya ektedir.
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
teşekkürler.
1 2