Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Отчет зависает / 6 сообщений из 6, страница 1 из 1
26.09.2003, 14:47
    #32276865
Ayl
Ayl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отчет зависает
Добрый день!

У меня зависает отчет. Объясняю ситуацию:
1. Есть отчет с несколькими подчиненными отчетами. При прямом вызове отчета - все прекрасно отображается и показывается. Когда я пытаюсь вызвать его из кнопочной формы, он открывается, показывает 1-ю страницу, а при попытке перейти на следующую - песочные часы и все висит. Что это такое может быть и где копать?
Отчет из кнопочной формы вызывается по следующей схеме:
Выбор отчета в к.ф -> форма отбора показываемых элементов -> процедура обработки нажатия на клавишу (см.ниже) -> вызов отчета.

Процедура с вызовом отчета:
Private Sub Отчет_Click()
On Error Resume Next
DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70
DoCmd.OpenReport "Сводный отчет по проектам", acViewPreview
DoCmd.OpenQuery "Проекты1"
DoCmd.Requery
End Sub

Заранее спасибо!
...
Рейтинг: 0 / 0
26.09.2003, 15:12
    #32276890
Витал
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отчет зависает
А для чего?
Код: plaintext
DoCmd.OpenQuery  "Проекты1"  
...
Рейтинг: 0 / 0
26.09.2003, 15:44
    #32276958
assa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отчет зависает
попытка перейти на следующую - это события "форматирование" и "печать" (в том числе разделов, попадающих на страницу). События кнопки к этому малокасательны. Есть ли у вас вложенные отчеты на 2-й странице? И не путаете ли вы переход на следующую (форматирование только 2-й) с переходом в конец (форматирование всех)?
...
Рейтинг: 0 / 0
26.09.2003, 17:44
    #32277159
Ayl
Ayl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отчет зависает
2Витал:
Проекты1 - это форма выбора нужных проектов для печати.

2assa:
Не путаю. Зависает по любому. Переход с помощью стандартного интерфейса Access (стрелка влево).
Насчет вложенности. Это выглядит так:

Сводный отчет
Проекты 1-го уровня
Задачи проектов 1-го уровня (связка по полю КодПроекта)
Проекты 2-го уровня (связка по полям табл.Проекты)
Задачи проектов 2-го уровня (связка по полю КодПроекта)
Подпроекты 2-го уровня, относящиеся к другим проектам (невыбранным)
Задачи проектов 2-го уровня (связка по полю КодПроекта)

На вторую страницу как раз попадают задачи проектов 2-го уровня.

Я подозреваю, что кнопочная форма, скорее всего, не имеет отношения к делу, но в чем тогда проблема? Просто из отчетов - работает, из кнопочной формы - нет!
...
Рейтинг: 0 / 0
26.09.2003, 18:59
    #32277268
assa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отчет зависает
1.
>>Проекты1 - это форма выбора нужных проектов для печати

Вопрос был о ЗАПРОСЕ (а не форме)
>>DoCmd.OpenQuery "Проекты1"
зачем вы его (запрос) открываете?
зачем после этого передергиваете (перезапрашиваете - DoCmd.Requery) форму (ИЛИ ЧТО ТАМ У ВАС ЕЩЕ АКТИВНО ВЭТОТ МОМЕНТ)? Что у вас, из за открытия отчета изменились данные формы? Чем плох такой вариант:

Private Sub Отчет_Click()
On Error Resume Next
DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70
DoCmd.OpenReport "Сводный отчет по проектам", acViewPreview
end sub

2. Если действительно все открывается "просто" из окна БД, и если нигде в источниках и обработчиках (того же форматирования/печати) не используются значения контролов формы, то результат должен быть одинаков. (За исключением случаев сильной нехватки памяти - слишком сложной формы, в результате чего запрос может начать вычисляться не в ОП а на диск, что повесит его порядка на 3 по скорости). Все же поищите, что вы еще делаете не так. Попробуйте прервать выполнение (если работает код, а не запросы или макросы) и посмотрите, что там выполняется.
3. Вы же говорите, что из окна БД все в порядке. Т.ч. "второго уровня" или седьмого, должно быть "без разницы" (если нет - см п.2.)
...
Рейтинг: 0 / 0
26.09.2003, 20:26
    #32277321
Ayl
Ayl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отчет зависает
2assa:
Спасибо! Что-то заработало.
В общем, насчет запроса я действительно тормознул.
Ситуация в следующем.
При выборе отчета пользователю предлагается список доступных проектов, из которого он может выбрать те, которые он хочет посмотреть.
Выбор запоминается в поле "Выбор" в таблице "Проекты".
Затем запускается отчет, который выводит нужную информацию.
После этого происходит возврат в форму выбора проектов и запрос "Проекты1" предназначен для очистки поля "Выбор":

UPDATE Проекты SET Проекты.Выбор = No
WHERE ((([Проекты].[Выбор])=Yes));

Сейчас ситация в следующем. Я закомментировал вызов запроса и отчет стал формироваться нормально. Но после выхода, естественно, предыдущий выбор остается в форме.

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

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


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