Доступ к утилите для поиска поля в MDB - PullRequest
1 голос
/ 06 августа 2009

HI

Я хочу найти конкретное поле, которое существует в таблицах базы данных Access. Есть ли какая-нибудь утилита, чтобы найти это?

Ответы [ 3 ]

1 голос
/ 06 августа 2009

Да, вы можете сделать это VBA код. Я написал тебе по электронной почте.

Public Function FindField(fieldname As String)


    Dim db As Database
    Dim td As TableDef
    Dim fd As Field

    Set db = DBEngine(0)(0)
    db.TableDefs.Refresh

    For Each td In db.TableDefs
        For Each fd In td.fields
            If fieldname = fd.Name Then
                Debug.Print td.Name
            End If
        Next
    Next
    db.Close

End Function
0 голосов
/ 27 мая 2011

Я много работаю по поддержке и интеграции в доступе, и модуль vba, написанный Алленом Брауном, совершенно потрясающий.

В вашем ближайшем окне введите

?Findfield("myfieldname")

Он будет искать в вашей базе данных (таблицы, запросы, формы, отчеты), чтобы найти, где используется конкретное имя поля.

Документация и код здесь http://allenbrowne.com/ser-73.html

0 голосов
/ 12 августа 2009

Вы можете использовать схемы ADO:

   Function ListTablesContainingField(SelectFieldName) As String
   ''Tables returned will include linked tables
   Dim cn As New ADODB.Connection
   Dim rs As ADODB.Recordset
   Dim strTempList As String

       On Error GoTo Error_Trap

       Set cn = CurrentProject.Connection

       ''Get names of all tables that have a column called <SelectFieldName>
       Set rs = cn.OpenSchema(adSchemaColumns, _
       Array(Empty, Empty, Empty, SelectFieldName))

       ''List the tables that have been selected
       While Not rs.EOF
           ''Exclude MS system tables
           If Left(rs!Table_Name, 4) <> "MSys" Then
               strTempList = strTempList & "," & rs!Table_Name
           End If
           rs.MoveNext
       Wend

       ListTablesContainingField = Mid(strTempList, 2)

   Exit_Here:

       rs.Close
       Set cn = Nothing
       Exit Function

   Error_Trap:

       MsgBox Err.Description
       Resume Exit_Here
   End Function

Смотри также: http://support.microsoft.com/kb/186246

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...