veritabanının klasörde bulunup bulunmadığının kontrolü

20/12/2011, 02:57

vetaltan

Çalışmakta olan bir veritabanı içersinden(bilgi.mdb),başka bir veritabanının (web.mdb)c:\veritabanları\web.mdb klasöründe bulunup bulunmadığını vb kodu ile nasıl tanımlayabilirim.
20/12/2011, 04:19

mcmaho

access kodlarıyla mı olması gerekiyor.
20/12/2011, 09:55

ozanakkaya

aşağıdaki kodu modüle kaydet
Function FileExists(ByVal strFile As String, Optional bFindFolders As Boolean) As Boolean
Dim lngAttributes As Long
lngAttributes = (vbReadOnly Or vbHidden Or vbSystem)

If bFindFolders Then
lngAttributes = (lngAttributes Or vbDirectory)
Else
Do While Right$(strFile, 1) = "\"
strFile = Left$(strFile, Len(strFile) - 1)
Loop
End If
On Error Resume Next
FileExists = (Len(Dir(strFile, lngAttributes)) > 0)
End Function

Bunuda dosya kontrolünün yapılacağı yere yaz.

 If FileExists("c:\veritabanları\web.mdb") = True Then
MsgBox ("veritabanı var") 'c:\veritabanları\web.mdb dosyası var ise çalışacak kod buraya
Else
MsgBox ("veritabanı yok") 'c:\veritabanları\web.mdb dosyası yok ise çalışacak kod buraya
End If
20/12/2011, 10:08

alpeki99


dosya = "c:\veritabanları\web.mdb"
durum = Dir(dosya) ' Dir komutu ile bakıyorum o dosya var mı yok mu?

If (durum = "") Then
msgbox "Dosya yok"
Else
' Dosya var
End If

Sitede çok defa işlenilmiş bir konu olsa da tekrar etmekte yarar var.
20/12/2011, 19:43

vetaltan

Yanıtlarınız çok işime yaradı ,teşekkürler.Vba kodunun son halini aşağı ekledim.
Dim DOSYA, DURUM, ad, yol, ara, MESAJ
Dim ADOXtable As New Table
Dim ADOXindex As New ADOX.Index
Dim ADOXcatalog As New ADOX.Catalog

ad = CurrentProject.Name
yol = "c:\Vt\toplu\" & ad
ara = Dir(yol)

If (ara = "") Then
MsgBox "Web Güncelle komutunu sadece Programın " & Chr(13) & "Kurulu olduğu" _
& "bilgisayarda kullanabilirsiniz", vbOKOnly + vbInformation, "Bilgilendirme"

Else
DOSYA = CurrentProject.Path & "\web.mdb"
DURUM = Dir(DOSYA)

If (DURUM = "") Then
MESAJ = MsgBox("Güncelleştirmek istediğiniz veritabanı silinmiş" _
& Chr(13) & "Tekrar oluşturmak ister misiniz?", vbYesNo + vbQuestion, " Yardım")

If MESAJ = vbYes Then
ADOXcatalog.Create "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & CurrentProject.Path & "\web.mdb"
DoCmd.SetWarnings False
DoCmd.OpenQuery "webb"
DoCmd.SetWarnings True
End If

Else
DoCmd.SetWarnings False
DoCmd.OpenQuery "webb"
DoCmd.SetWarnings True
End If
End If
12/03/2012, 16:41

accessman

sadece klasör kontrolü için nasıl yapabiliriz