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.
(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
(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.
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.
(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.