powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Дважды обновляется подформа
25 сообщений из 27, страница 1 из 2
Дважды обновляется подформа
    #32354074
Чумаков А.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ADP 2000, SQL 2000
Есть главная форма с полями для критериев отбора данных в подчиненной.
Подчиненная на основе ХП. В InputParameters подчиненной указаны поля из главной. Строки в подчиненной раскрашены с применением условного форматирования.
Все замечательно выбирается при Me.SubForm.Requery,

НО

такое ощущение, что выборка дважды происходит (т.е. данные выводятся, красятся согласно условиям, затем еще раз то же самое перекрашиваются еще раз).
Смотрел в SQL Profiler - ХП выполняется 1 раз.
Requery подчиненной формы 1 раз стоит.

Есть какие-то мысли, как избежать второй раскраски ?
...
Рейтинг: 0 / 0
Дважды обновляется подформа
    #32354094
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Echo false
Me.SubForm.Requery
Echo true


==
кстати, а событий ТекущаяЗапись в подчиненой нет?
...
Рейтинг: 0 / 0
Дважды обновляется подформа
    #32354109
incold
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Еще может влиять сортировка.
...
Рейтинг: 0 / 0
Дважды обновляется подформа
    #32354110
Чумаков А.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не помогло. Все равно дважды раскрашивает :(

Событий "Текущая запись" нет ни в главной, ни в подчиненной
...
Рейтинг: 0 / 0
Дважды обновляется подформа
    #32354118
Чумаков А.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 incold
Сортировка есть только на уровне ХП.
В самой подформе сортировки нет
...
Рейтинг: 0 / 0
Дважды обновляется подформа
    #32354126
incold
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть вариант из серии "танцев с бубнов и шаманства"

Вместо Requery использовать RecordSource=RecordSource
...
Рейтинг: 0 / 0
Дважды обновляется подформа
    #32354135
Чумаков А.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Танец с бубнами тоже не оправдал ожиданий.
Видимо, музыка не та :))

Убрал все вычисляемые поля в подформе, пробовал входные параметры ставить невычисляемые (явно) - не помогает.

Все равно раскрашивает второй раз. При этом Access явно что-то делает, т.к. в строке статуса (внизу) появляется сообщение "Обработка..."
...
Рейтинг: 0 / 0
Дважды обновляется подформа
    #32354178
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Чумаков А.

Давай код вызова ХП (только в теги SRC его заключи - а то читать не удобно)
...
Рейтинг: 0 / 0
Дважды обновляется подформа
    #32354179
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Поспешил - кода вызова ХП может и не быть. Тогда давай, что есть :)
...
Рейтинг: 0 / 0
Дважды обновляется подформа
    #32354196
Чумаков А.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Для начала наблюдение: оказалось, что ВСЕ подформы дважды обсчитываются при обновлении (в строке статуса "Обработка команды...").
Просто при раскрашивании "Условным форматированием" это заметно оказалось визуально.

Форма простецки обновляется:
Me!Demands_All_1.Requery

При этом: Главная форма [Demands_All] не привязана ни к чему.

В подформе: Источник записей ХП - dbo.Grid_Demands_All
Input Parameters: @M INT=Forms![Demands_All]![Month], @Y INT = Forms![Demands_All]![Year], @T CHAR = Forms![Demands_All]![DemandNumType], @NumD char = Nz(Forms![Demands_All]![Number]," "), @ID_Fil INT = getID_FIL(), @TypeDate INT = Forms![Demands_All]![SelectTypeDate]
...
Рейтинг: 0 / 0
Дважды обновляется подформа
    #32354197
Чумаков А.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Причем при открытии формы подформе Requery не делаю (только просле обновления полей в главной) и все равно 2 раза "Обработка команды..."

Чего она в это время делает ума не приложу :(
...
Рейтинг: 0 / 0
Дважды обновляется подформа
    #32354648
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да этот вопрос и меня мучает ужо давно.
это вызывает ужасные тормоза ....
кто-нибудь поооомогитеее!!!!!
эта "обработка команды...."
чё он там делает, чё ждет?
...
Рейтинг: 0 / 0
Дважды обновляется подформа
    #32354705
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2вадя
>эта "обработка команды...."
>чё он там делает, чё ждет?

Чё он делает? Форматирует! (хорошо что не диск):)
У меня были тормоза на прорисовки в одной и так слишком тормознутой ленточной подчиненой формы - снес на хер это форматирование (вместе с ленточной формой) - поставил ЛистВью - сижу теперь сам форматирую
...
Рейтинг: 0 / 0
Дважды обновляется подформа
    #32354720
Фотография АлексейК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Виктор

и как успехи?
думаю что немало трудностей преодолел на этом пути.
Все таки - нетривиальная задача сделать из листбокса подобие подформы
там и сортировка и фильтры, обработка событий полей, контролы - кнопки, рисунки, форматированный текст

может есть яркий демо - примерчик ?
...
Рейтинг: 0 / 0
Дважды обновляется подформа
    #32354726
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2АлексейК
>Все таки - нетривиальная задача сделать из листбокса подобие подформы

не ListBox, a ListView (см. фразу поставил ЛистВью )
Так что про ЛистВью рассказать?
...
Рейтинг: 0 / 0
Дважды обновляется подформа
    #32354733
Фотография АлексейК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я видел примерчик на листбоксе - поэтому не обратил внимания ...))

в принципе очень интересно что получилось в чем плюсы в чем минусы
...
Рейтинг: 0 / 0
Дважды обновляется подформа
    #32354763
Фотография АлексейК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
виктор.
так как насчет примерчика?
...
Рейтинг: 0 / 0
Дважды обновляется подформа
    #32354797
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2АлексейК
>так как насчет примерчика?

дык его готовить надо :)

У меня все журналы сделаны на листвью - все работает через модуль класса, который управляет сортировкой, ресазингом (спасибо Гетцу), поиском, плюс управление тулбаром (открыть/удалить и т.п. 1 или многих записей), запоминает размер колонок и т.п. и т.д. Форматировние в ЛистВью свел к минимуму (да в журналах оно не очень-то нужно): серым отображаються закрытые док-ты да всплывающие подсказки. Планирую ввести полную поддержку форматирования (с сложными условиями и т.п.), когда совсем припрет :)

Ты спроси конкретно, что нужно по Лист/ТриВью - помогу.
Можешь написать на е-маил senin ой-ля-ля zyx.ru
...
Рейтинг: 0 / 0
Дважды обновляется подформа
    #32355671
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Виктор\r
Чё он делает? Форматирует! (хорошо что не диск):) \r
У меня были тормоза на прорисовки в одной и так слишком тормознутой ленточной подчиненой формы - снес на хер это
\r
\r
несколько не понял...\r
он как бы всё сделал ужо ...\r
но форматировать так долго?\r
\r
Как работает форма?
...
Рейтинг: 0 / 0
Дважды обновляется подформа
    #32808740
Чумаков А.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Господа, за год может у кого решилась проблема с двойным обновлением подформы ?
...
Рейтинг: 0 / 0
Дважды обновляется подформа
    #32809487
Странно, - подумал я сейчас - почему меня как-то эта проблема не беспокоит, хотя у меня почти все формы для просмотра данных построены именно так: табличная форма в качестве подформы, поля с критериями в главной форме с использованием InputParameters (ADP, Access 2000)?

Посмотрел в свой код и вспомнил, что эту проблему я решил ещё в начале 2001 года - я не использую Requery вообще! Вместо этого я, когда мне нужно обновить данные, просто перезаписываю свойство подформы RecordSource , примерно так:

Код: plaintext
1.
2.
3.
    const cstrMyFormRecSrc as String = "dbo.spMyProcedure"

    'при этом неявно происходит Requery
    Me.Controls("Subform1").Form.RecordSource = cstrMyFormRecSrc 

Кроме того, я устроил так, чтобы свойства RecordSource всех форм были бы пустыми при их открытии, и устанавливались бы явно кодом только тогда, когда необходимо показать записи (меня совсем не радовали лишние обращения к серверу при старте форм, когда пользователь-то даже ещё критериев не успел задать).

Такой подход с намеренным отказом от Requery в пользу трюков с RecordSource , хоть и явственно отдаёт шаманством, позволил решить тогда разом кучу проблем, в числе которых была и описанная автором темы.
...
Рейтинг: 0 / 0
Дважды обновляется подформа
    #32809503
Фотография Программист-Любитель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автор
RecordSource всех форм были бы пустыми при их открытии, и устанавливались бы явно кодом только тогда, когда необходимо показать записи (меня совсем не радовали лишние обращения к серверу при старте форм, когда пользователь-то даже ещё критериев не успел задать).


Золотые слова! Формы на больших массивах сложно обсчитываемых данных вообще не успевают открываться за отпущенное им на то аксессом время. Даешь полный контроль над загрузкой данных логикой приложения!
...
Рейтинг: 0 / 0
Дважды обновляется подформа
    #32809645
Чумаков А.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Странно все это.
Сделал как посоветовал Тимур. Хотя и ранее так пробовал.
Помогло мало. Все-таки, видимо, влияет наличие условного форматирования на подформе.
2 раза происходит обработка подформы :(
...
Рейтинг: 0 / 0
Дважды обновляется подформа
    #32809656
Фотография АлексейК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторADP 2000, SQL 2000
Есть главная форма с полями для критериев отбора данных в подчиненной.
Подчиненная на основе ХП. В InputParameters подчиненной указаны поля из главной. Строки в подчиненной раскрашены с применением условного форматирования.

кстати в этом случае можно обновить данные без изменения рекордсоурса и реквери - изменив поле являющееся источником входного параметра (на старое значение)

не перескакивает на первую запись, может и моргает меньше.
...
Рейтинг: 0 / 0
Дважды обновляется подформа
    #32809665
Чумаков А.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Убрал условное форматирование.
Все равно, 2 раза наблюдаю в строке состояния "Обработка..."
...
Рейтинг: 0 / 0
25 сообщений из 27, страница 1 из 2
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Дважды обновляется подформа
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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