powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / New Report
4 сообщений из 4, страница 1 из 1
New Report
    #32152686
V. Motchulsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Опять пытаюсь динамически построить отчет.
Когда открываеш отчет по команде DoCmd.OpenReport
то прокатывает следующая конструкция:
Код: plaintext
1.
2.
Private Sub Report_Open(Cancel As Integer)
TestField.ControlSource =  "=123 "
End Sub
Когда же:
Код: plaintext
SET rpt=New Report_TestReport
то ругается "Невозможно задать значение свойства "Данные" после начала печати.
Как же обойти эту проблему.
...
Рейтинг: 0 / 0
New Report
    #32152762
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Если я правильно разбираюсь в апельсинах, Report_TestReport - это не отчет, а его модуль. Показательно то, что на момент выдачи этой ошибки переменная rpt не имеет значения ("not set") - при нормальном открывании отчета так не должно быть. Так что ошибка на самом деле состоит в том, что отчет не существует и контрол недоступен. Аксесс думает, что это из-за начала печати, но мы-то знаем, что причина не в том.
...
Рейтинг: 0 / 0
New Report
    #32152775
V. Motchulsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Немножко уточню вопрос. TestReport - это отчет в котором есть поле в разделе "Область данных" TestField , и есть модуль в котором описана приведенная выше процедура по событию OnOpen . Это события мы пытаемся перехватить, что бы в момент открытия отчета что-то в нем подкоректировать. Когда открываем по DoCmd.OpenReport никаких проблем. А вот когда хотим создать новый экземпляр отчета путем SET rpt=New Report_TestReport , возникают немалые трудности. Практически ничего существеного сделать не возможно. Событие при этом возникает, но действия почемуто ограничены.
Если заменяю TestField.ControlSource = "=123" на TestField.BackColor = 123 то ошибка при этом не возникает и цвет изменяется. Отсюда делаю вывод: контрол в даное время доступен .
Удивительно и то, что для форм это все проходит. Очень удобная вещь открывать таким образом формы. Можно открыть одну и ту ж форму одновременно несколько раз с разными параметрами. Например можно открыть два разных счета, одним словом работаеш как в полноценом Windows-е а не "подожди сейчас дискетку отформатирую..."
...
Рейтинг: 0 / 0
New Report
    #32152778
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Да, это все понятно. Но тем не менее что-то у МелкоМягких недотумкано. Факт: TestReport - это отчет, а Report_TestReport - это его модуль. В тот момент, когда они заставляют нас писать SET rpt=New Report_TestReport вместо SET rpt=New TestReport , начинается неразбериха.

Насчет "контрол недоступен" я немножко загнул. Он доступен, но не весь.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / New Report
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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