Windows Ara Kısmından Access Tablosunda Gecen Bir Verinin Bulunması

1 2
14/07/2023, 08:20

atoykan

Arşivimdeki bir koddan yola çıkarak örneğin bir Access form oluşturun arama kriteri için bir textbox, arama işlemi için bir buton, sonuçları listelemek için iki sutunlu bir listbox ekleyin.
Arama butonunun tıklandığında olayına
Kod:
  Dim searchPath As String
    Dim searchText As String
    Dim dbPath As String
    Dim conn As Object
    Dim db As Object
    Dim tbl As Object
   
    searchText = Me.SearchTextBox.Value
    searchPath = "C:\....\....\access dosylarım\" ' Arama yapılacak klasörün yolunu kendiniz belirleyin
   
    Me.SearchResultsListBox.RowSource = "" ' ListBoxı temizler
   
    ' Access dosyalarını dolaş aç ve tabloları tara işlemi
    dbPath = Dir(searchPath & "*.accdb")
    Do While dbPath <> ""
        Set conn = CreateObject("ADODB.Connection")
        Set db = CreateObject("Access.Application")
     
        db.OpenCurrentDatabase searchPath & dbPath
       
          For Each tbl In db.CurrentDb.TableDefs
            If tbl.Attributes = 0 Then ' Geçerli tablo
                ' Tabloyu aç
                db.DoCmd.OpenTable tbl.Name, acViewNormal
               
                ' Arama metnine göre sorgu yap
                db.DoCmd.FindRecord searchText, acAnywhere, False, acSearchAll, True, acCurrent, False
               
                ' Metnin bulunduğu veri varsa ListBox'a dosya adı ve tablo adını ekle
                   
                If Not db.DoCmd.NoMatch Then
                    Me.SearchResultsListBox.AddItem dbPath & ";" & tbl.Name
                End If
               
              db.DoCmd.Close acTable, tbl.Name, acSaveNo
            End If
        Next tbl
       
        db.CloseCurrentDatabase
        db.Quit
       
        dbPath = Dir ' Bir sonraki Access dosyasını al
    Loop
  bu kod arama kutusuna yazacağınız metni tüm Access dosyalarınızda arar ve bulur ise listboxa dosya adı ve tablo adı olarak işler. Bu örnekten hareket ederek kendi ihtiyaçlarınız çerçevesinde örneğin dosya yolunu seçme, environ ile herhangi bir kullanıcının belgelerinde tarama vs. vs gibi revize edebilirsiniz.
1 2