MyTetra Share
Делитесь знаниями!
Поиск строки по обьектам базы (формам, отчетам, запросам)
16.03.2019
23:43
Раздел: !Закладки - VBA - Access - msa.polarcom.ru - 10 Приложение MSA

Поиск строки по обьектам базы (формам, отчетам, запросам)

Public Sub FindStringInDataSources(strFind As String)

'es 14.12.04

'Выводит в Immediate Window список обектов базы данных _

в источнике данных которых обнаружена ИСКОМАЯ строка, _

указанная в аргументе strFind.

'Полезно при поиске подлежащих изменению обьектов базы после: _

а)- удаления поля из таблицы базы _

б)- изменения формата поля таблицы _

в)- изменения функций _

г)- и т.п. ...

'--------------------------------------------------------------------

'ВНИМАНИЕ!

'Вычисляемые поля Форм/Отчетов (Знач.Поля=Выражение) НЕ ОБСЛУЖИВАЮТСЯ!

'--------------------------------------------------------------------

Dim qdf As QueryDef

Dim ctr As String

Dim str As String

Dim strName As String

Dim i As Integer

Dim x As Integer

On Error GoTo FindStringInDataSourcesErr

For Each qdf In CurrentDb.QueryDefs

str = qdf.SQL

If InStr(1, str, strFind) > 0 Then

If Left(qdf.Name, 4) = "~sq_" Then

Select Case Mid(qdf.Name, 5, 1)

Case "f"

strName = "Форма: " & Mid(qdf.Name, 6)

Case "c"

strName = "Обьект Формы: " & Mid(qdf.Name, 6, InStr(5, qdf.Name, "~sq_") - 6)

strName = strName & " -> " & Mid(qdf.Name, InStr(5, qdf.Name, "~sq_") + 5)

Case "r"

strName = "Отчет: " & Mid(qdf.Name, 6)

Case "d"

strName = "Обьект Отчета: " & Mid(qdf.Name, 6, InStr(5, qdf.Name, "~sq_") - 6)

strName = strName & " -> " & Mid(qdf.Name, InStr(5, qdf.Name, "~sq_") + 5)

Case Else

strName = "Неизвестный обьект!: " & Mid(qdf.Name, 6) ' :)

End Select

Debug.Print strName

Else

Debug.Print "Запррос: " & qdf.Name

End If

End If

Next qdf

Exit Sub

FindStringInDataSourcesErr:

Debug.Print Err.Description & vbCrLf & " Err"


End Sub





ВНИМАНИЕ!
Вычисляемые поля Форм/Отчетов (Знач.Поля=Выражение) НЕ ОБСЛУЖИВАЮТСЯ!

Так же в этом разделе:
 
MyTetra Share v.0.52
Яндекс индекс цитирования