Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Где добыть RowSource незагруженных форм? / 15 сообщений из 15, страница 1 из 1
08.09.2003, 16:15
    #32258789
Лифчик
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Где добыть RowSource незагруженных форм?
Сунулся я в коллекцию
Код: plaintext
1.
2.
3.
Dim frm As AccessObject
For Each frm In Application.CurrentProject.AllForms
Debug.Print frm.Name
Next frm

а там одни имена и еще пара дурацких свойств. А где нарыть Роусоурсе?

И вабще может я не за тот конецц дергаю? - сверхзадача: убрать ненужные сохраненные запросы, которые я наплодил, будучи во младенческом состоянии. В коде я их найду, а ведь еще есть как Роусорс.

Сейчас под стол вроде не хожу, но в постель делаю иногда, поэтому звиняйте за дурацкий вопрос.
...
Рейтинг: 0 / 0
08.09.2003, 16:28
    #32258820
АлексейК
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Где добыть RowSource незагруженных форм?
источник данных это свойство формы - ищи в коллекции properties каждой формы
...
Рейтинг: 0 / 0
08.09.2003, 16:29
    #32258822
Shkurenko Alexander
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Где добыть RowSource незагруженных форм?
Прежде чем обратится к свойствам формы, нужно предварительно ее открыть. Можно при этом ее не показывать(Hidden). Например

DoCmd.Open name_form
Debug.Print Forms(name_form).RowSource
...
Рейтинг: 0 / 0
08.09.2003, 16:34
    #32258828
Geo
Geo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Где добыть RowSource незагруженных форм?
Можно при этом ее не показывать(Hidden).
А можно и в режиме конструктора
DoCmd.OpenForm "aaa",acDesign,,,,acHidden
, чтобы не отрабатывались всякие Load/Open/Close...
...
Рейтинг: 0 / 0
08.09.2003, 16:45
    #32258852
Где добыть RowSource незагруженных форм?
Когда-то подобная проблема решалась следующим образом (подходит только для Баз данных, для проектов - нужно переписывать):

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
    For DC =  0  To CurrentDb.Containers( "Forms" ).Documents.Count -  1 
        NM = CurrentDb.Containers( "Forms" ).Documents(DC).Name
        DoCmd.OpenForm NM, acDesign, , , , acHidden
        Set frm = Forms(NM)
        ' Записываем запрос в базу данных или анализируем его
        ' NM - Имя формы
        ' frm.RecordSource - Запрос от формы
        .....
        ' Проверяем на наличие в контролах запросов
        For Each ctl In frm.Controls
            If acListBox = ctl.ControlType Or acComboBox = ctl.ControlType Then
                ' Записываем запрос в базу данных или анализируем его
                ' NM - Имя формы
                ' ctl.ControlName - имя поля
                ' ctl.RowSource - содержимое поля
                .....
            End If
        Next
        DoCmd.Close acForm, NM, acSaveNo
    Next


Плюс данной программы - она проверяет и встроенные поля со списком
...
Рейтинг: 0 / 0
08.09.2003, 16:49
    #32258860
Где добыть RowSource незагруженных форм?
Она же для проектов (на работоспособность не проверял):

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
    For DC =  0  To CurrentProject.AllForms.Count -  1 
        NM = CurrentProject.AllForms(DC).Name
        DoCmd.OpenForm NM, acDesign, , , , acHidden
        Set frm = Forms(NM)
        ' Записываем запрос в базу данных или анализируем его
        ' NM - Имя формы
        ' frm.RecordSource - Запрос от формы
        '.....
        ' Проверяем на наличие в контролах запросов
        For Each ctl In frm.Controls
            If acListBox = ctl.ControlType Or acComboBox = ctl.ControlType Then
                ' Записываем запрос в базу данных или анализируем его
                ' NM - Имя формы
                ' ctl.ControlName - имя поля
                ' ctl.RowSource - содержимое поля
                '.....
            End If
        Next
        DoCmd.Close acForm, NM, acSaveNo
    Next
...
Рейтинг: 0 / 0
08.09.2003, 16:50
    #32258862
Varan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Где добыть RowSource незагруженных форм?
Дмитрий Басовский,
Клево, мне тоже надо базу почистить...Спасибо.
...
Рейтинг: 0 / 0
08.09.2003, 17:02
    #32258897
Лифчик
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Где добыть RowSource незагруженных форм?
Понял, значит и тут обязательно открывать надо. Я то-думал втихаря можно партизанить :-(
...
Рейтинг: 0 / 0
08.09.2003, 17:15
    #32258928
Shkurenko Alexander
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Где добыть RowSource незагруженных форм?
Можно попробовать и попартизанить. Смотри системные таблицы MSysQueries & MSysObjects, но как бы в этих дебрях не потеряться :).
...
Рейтинг: 0 / 0
08.09.2003, 17:36
    #32258962
Varan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Где добыть RowSource незагруженных форм?
...и не подорвать вместо вражеского свой собственный обоз ...
...
Рейтинг: 0 / 0
08.09.2003, 17:47
    #32258985
Где добыть RowSource незагруженных форм?
Партизанил!!! Знаю!!! Половину объектов пропустил. А потом, когда ошибки начали сыпаться нашел в инете эти куски, подкорректировал для себя и получил готовый проект.


Кстати, ребята, не забудьте о отчетах. В них тоже могут быть запросы. Могу дать функции и для их анализа
...
Рейтинг: 0 / 0
08.09.2003, 17:54
    #32259005
Varan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Где добыть RowSource незагруженных форм?
Дмитрий Басовский,
Точно! Естественно, там куча запросов. Напиши, если не затруднит, свою функцию.
Единственное, что меня в этом деле смущает, в коде модулей могут использоваться хранимые запросы для каких-то целей. Ни формы, ни отчеты на них не основаны. Плюс в коде запрос может динамически меняться, и в этом случае Ваша процедура никак это найти не сможет, эти запросы будут удалены и тогда кранты. Пожалуй, лучше ничего не трогать, пущай себе лежат...
...
Рейтинг: 0 / 0
08.09.2003, 18:07
    #32259037
Где добыть RowSource незагруженных форм?
Версия для анализа Отчетов DAO :

For DC = 0 To CurrentDb.Containers("Reports").Documents.Count - 1
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
        NM = CurrentDb.Containers( "Reports" ).Documents(DC).Name
        DoCmd.OpenReport NM, acDesign, , , acHidden
        Set rep = Reports(NM)
        ' Записываем запрос в базу данных или анализируем его
        ' NM - Имя отчета
        ' rep.RecordSource - Запрос от формы
        .....
        ' Проверяем на наличие в контролах запросов
        For Each ctl In rep.Controls
            If acListBox = ctl.ControlType Or acComboBox = ctl.ControlType Then
                ' Записываем запрос в базу данных или анализируем его
                ' NM - Имя формы
                ' ctl.ControlName - имя поля
                ' ctl.RowSource - содержимое поля
                .....
            End If
        Next
        DoCmd.Close acReport, NM, acSaveNo
    Next
...
Рейтинг: 0 / 0
08.09.2003, 18:09
    #32259041
Где добыть RowSource незагруженных форм?
Версия для анализа отчетов ADO :

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
    For DC =  0  To CurrentProject.AllReports.Count -  1 
        NM = CurrentProject.AllReports(DC).Name
        DoCmd.OpenReport NM, acDesign, , , acHidden
        Set rep = Reports(NM)
        ' Записываем запрос в базу данных или анализируем его
        ' NM - Имя отчета
        ' rep.RecordSource - Запрос от формы
        .....
        ' Проверяем на наличие в контролах запросов
        For Each ctl In rep.Controls
            If acListBox = ctl.ControlType Or acComboBox = ctl.ControlType Then
                ' Записываем запрос в базу данных или анализируем его
                ' NM - Имя формы
                ' ctl.ControlName - имя поля
                ' ctl.RowSource - содержимое поля
                .....
            End If
        Next
        DoCmd.Close acReport, NM, acSaveNo
    Next
...
Рейтинг: 0 / 0
08.09.2003, 18:14
    #32259049
Где добыть RowSource незагруженных форм?
Кстати, в данные функции можно еще засунуть анализатор наличия кода на VBA, и если таковой имеется - записывать в отдельную таблицу или ставить где-то галочку.
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Где добыть RowSource незагруженных форм? / 15 сообщений из 15, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]