Sn arkadaşlar merhaba; Bu forumdan indirdiğim yedekleme programı ile çıkışta başka bir klasöre üzerine yedekleme yaptırıyorum. İki programda gayet güzel çalışıyor. Bir programda out of string space hatası verdi ve yedekleme yapmadı. Ne yapmam lazım ? Program büyük olduğu için eklemedim. Saygılar...
Bu mesajın anlamı "String alanı yetersiz" şeklinde açıklanır. Yedek alınacak dosya adlarına, kodlarda kullanılan komut ve fonksionlara tekrar bakın. Yetersiz string ifadesinden neyi kastettiğini bilmiyorum ama, belki bu bilgi işinize yarar.
Kod aşağıdaki şekildedir. Buna bir bakabilirmisiniz? Saygılar.
Private Sub kapat_Click()
If MsgBox("PARCA_OPERASYONLARI programından çıkmak istediğinize eminmisiniz.", vbCritical + vbOKCancel) = vbOK Then
On Error Resume Next
Dim CurDB As String, KopiaDB As String, LenDB As Long, Plik As String, NrPliku As Long
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 = "D:USERS\SERVER\YONETIM\Access Yedekleri\PARCA_OPERASYONLARI.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
Else
MsgBox Err.Description
End If
End If
End If
DoCmd.Hourglass 0
DoCmd.Quit
Else
Me.Undo
MsgBox "Programdan çıkmadınız."
End If
End Sub
Şu kısmı bir de şöyle deneyin
Kod:
Dim CurDB As String, KopiaDB As String, LenDB As Long, Plik As String, NrPliku As Long
şeklindeki kısmı silerek
Kod:
Dim CurDB, KopiaDB, Plik
dim LenDB, NrPliku as Long
olarak deneyin. Bende modülde işe yaramıştı. String olarak açılması gereken değişkenleri bazen ben statü olmadan açtığımda hata almadan çalıştığını gördüm. Özellikle
yerine
şeklinde açtığımda hata ortadan kalkmıştı. Siz de bir deneyin bakalım. Denemekten zarar gelmez.
)
Sn Mehmet Hocam dediğinizi uyguladım. Bu kez de Variable uses an automation type not supported in visual basic diye hata verdi. Acaba diğer kodları da eklesem buraya eklesem bakabilirmiyiz? Saygılar...
Yaw sen bu işi accesste yaptığına emin misin?
)) Bana VB gibi geldi..