AccessTr.neT

Tam Versiyon: Docmd.transferspreadsheet Fonksiyon Olarak Çağırma
Şu anda arşiv modunu görüntülemektesiniz. Tam versiyonu görüntülemek için buraya tıklayınız.
Sayfalar: 1 2 3 4 5 6 7 8 9 10 11 12 13
https://www.devhut.net/2010/06/12/ms-acc...e-objects/
Bu bağlantıda tüm türlerin kodu var
ListObjects Tables_Linked
Yukardaki gibi çağırılırsa bağlantılı tablo adları bulunur anladığım koddan.

Adam enum ile ayarlamış ve ordaki yazlılanlara göre tablo adı,form adı gibi olanlar bulunur anladığım.

Aklımdayken sorayım hani olmazda tablo adının başına MSys ile başlatırsak o tabloyuda teyet geçer heralde.

Tablo oluştururken MSys ile başlasak sorun olurmu yani system olarak algılarmı.

Enum ObjectType
    Tables_Local = 1
    Tables_Linked_ODBC = 4
    Tables_Linked = 6
    Queries = 5
    Forms = -32768
    Reports = -32764
    Macros = -32766
    Modules = -32761
End Enum
 
Function ListObjects(lObjectType As ObjectType)
    On Error GoTo Error_Handler
    Dim db                    As DAO.Database
    Dim rs                    As DAO.Recordset
    Dim sSQL                  As String
 
    sSQL = "SELECT MsysObjects.Name AS [ObjectName]" & vbCrLf & _
          " FROM MsysObjects" & vbCrLf & _
          " WHERE (((MsysObjects.Name Not Like '~*') And (MsysObjects.Name Not Like 'MSys*'))" & vbCrLf & _
          "    AND (MsysObjects.Type=" & lObjectType & "))" & vbCrLf & _
          " ORDER BY MsysObjects.Name;"
 
    Set db = CurrentDb
    Set rs = db.OpenRecordset(sSQL, dbOpenSnapshot)
    With rs
        If .RecordCount <> 0 Then
            Do While Not .EOF
                Debug.Print ![ObjectName]
                .MoveNext
            Loop
        End If
    End With
 
Error_Handler_Exit:
    On Error Resume Next
    If Not rs Is Nothing Then
        rs.Close
        Set rs = Nothing
    End If
    If Not db Is Nothing Then Set db = Nothing
    Exit Function
 
Error_Handler:
    MsgBox "The following error has occurred" & vbCrLf & vbCrLf & _
          "Error Number: " & Err.Number & vbCrLf & _
          "Error Source: ListObjects" & vbCrLf & _
          "Error Description: " & Err.Description & _
          Switch(Erl = 0, "", Erl <> 0, vbCrLf & "Line No: " & Erl) _
          , vbOKOnly + vbCritical, "An Error has Occurred!"
    Resume Error_Handler_Exit
End Function
Kriterleri ayarlarken onu siz belirlersiniz isterseniz msys ile başlayanları da alır ama doğrudan isimde msys kullanmanın bir sakıncası olur mu bilmiyorum ama sanmam bir sıkıntı doğuracağını belki tablo adlarını çekerken zorluk çıkarabilir. Ama schema yönteminde bir problem doğurur mu böyle bir isimlendirme denemek gerek
Tamam üstad sağolasın.
Verdiğin linkteki kodlar çok iş görür.Ordaki MSys şartlarını kaldırmaya gerek yok kriter olarak aramada sadece listbox gibi yada combobox gibi nesnenelein içine alırken linkteki koddaki where ile başlayan kod kullanılabilir eğer şu tablo adına eşit gibi kriter aranacaksa where ile olsun farketmez.

Yarın bunuda arşive ekleyeyim Img-grin
Sayın berduş hocam şimdi aklıma geldi unutmadan yazayım istedim sen bu işlerden anlarsın.

Şimdi sadece sistem tablolarının adını bulmak için nasıl kod gerek.İf  like "*MSys*" bunun gibi şart koşulları olmadan.

Tam dalıp uyuyacağım garip garip Access soruları aklıma geliyor Img-grin
Allahtan adamlar cep telefınu icat etmişler bilgisyar açmadan semen soruyu yazıyoruz Img-grin
sn feraz arşive eklediğiniz son kod nedir paylaşabilir misiniz
Sayfalar: 1 2 3 4 5 6 7 8 9 10 11 12 13