|
|
|
Дважды обновляется подформа
|
|||
|---|---|---|---|
|
#18+
ADP 2000, SQL 2000 Есть главная форма с полями для критериев отбора данных в подчиненной. Подчиненная на основе ХП. В InputParameters подчиненной указаны поля из главной. Строки в подчиненной раскрашены с применением условного форматирования. Все замечательно выбирается при Me.SubForm.Requery, НО такое ощущение, что выборка дважды происходит (т.е. данные выводятся, красятся согласно условиям, затем еще раз то же самое перекрашиваются еще раз). Смотрел в SQL Profiler - ХП выполняется 1 раз. Requery подчиненной формы 1 раз стоит. Есть какие-то мысли, как избежать второй раскраски ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2003, 15:08:41 |
|
||
|
Дважды обновляется подформа
|
|||
|---|---|---|---|
|
#18+
Echo false Me.SubForm.Requery Echo true == кстати, а событий ТекущаяЗапись в подчиненой нет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2003, 15:15:23 |
|
||
|
Дважды обновляется подформа
|
|||
|---|---|---|---|
|
#18+
Еще может влиять сортировка. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2003, 15:20:55 |
|
||
|
Дважды обновляется подформа
|
|||
|---|---|---|---|
|
#18+
Не помогло. Все равно дважды раскрашивает :( Событий "Текущая запись" нет ни в главной, ни в подчиненной ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2003, 15:21:17 |
|
||
|
Дважды обновляется подформа
|
|||
|---|---|---|---|
|
#18+
2 incold Сортировка есть только на уровне ХП. В самой подформе сортировки нет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2003, 15:25:41 |
|
||
|
Дважды обновляется подформа
|
|||
|---|---|---|---|
|
#18+
Есть вариант из серии "танцев с бубнов и шаманства" Вместо Requery использовать RecordSource=RecordSource ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2003, 15:29:37 |
|
||
|
Дважды обновляется подформа
|
|||
|---|---|---|---|
|
#18+
Танец с бубнами тоже не оправдал ожиданий. Видимо, музыка не та :)) Убрал все вычисляемые поля в подформе, пробовал входные параметры ставить невычисляемые (явно) - не помогает. Все равно раскрашивает второй раз. При этом Access явно что-то делает, т.к. в строке статуса (внизу) появляется сообщение "Обработка..." ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2003, 15:34:42 |
|
||
|
Дважды обновляется подформа
|
|||
|---|---|---|---|
|
#18+
2Чумаков А. Давай код вызова ХП (только в теги SRC его заключи - а то читать не удобно) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2003, 15:51:10 |
|
||
|
Дважды обновляется подформа
|
|||
|---|---|---|---|
|
#18+
Поспешил - кода вызова ХП может и не быть. Тогда давай, что есть :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2003, 15:51:48 |
|
||
|
Дважды обновляется подформа
|
|||
|---|---|---|---|
|
#18+
Для начала наблюдение: оказалось, что ВСЕ подформы дважды обсчитываются при обновлении (в строке статуса "Обработка команды..."). Просто при раскрашивании "Условным форматированием" это заметно оказалось визуально. Форма простецки обновляется: 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] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2003, 16:01:39 |
|
||
|
Дважды обновляется подформа
|
|||
|---|---|---|---|
|
#18+
Причем при открытии формы подформе Requery не делаю (только просле обновления полей в главной) и все равно 2 раза "Обработка команды..." Чего она в это время делает ума не приложу :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2003, 16:04:02 |
|
||
|
Дважды обновляется подформа
|
|||
|---|---|---|---|
|
#18+
да этот вопрос и меня мучает ужо давно. это вызывает ужасные тормоза .... кто-нибудь поооомогитеее!!!!! эта "обработка команды...." чё он там делает, чё ждет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2003, 06:03:15 |
|
||
|
Дважды обновляется подформа
|
|||
|---|---|---|---|
|
#18+
2вадя >эта "обработка команды...." >чё он там делает, чё ждет? Чё он делает? Форматирует! (хорошо что не диск):) У меня были тормоза на прорисовки в одной и так слишком тормознутой ленточной подчиненой формы - снес на хер это форматирование (вместе с ленточной формой) - поставил ЛистВью - сижу теперь сам форматирую ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2003, 09:05:55 |
|
||
|
Дважды обновляется подформа
|
|||
|---|---|---|---|
|
#18+
2 Виктор и как успехи? думаю что немало трудностей преодолел на этом пути. Все таки - нетривиальная задача сделать из листбокса подобие подформы там и сортировка и фильтры, обработка событий полей, контролы - кнопки, рисунки, форматированный текст может есть яркий демо - примерчик ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2003, 09:31:46 |
|
||
|
Дважды обновляется подформа
|
|||
|---|---|---|---|
|
#18+
2АлексейК >Все таки - нетривиальная задача сделать из листбокса подобие подформы не ListBox, a ListView (см. фразу поставил ЛистВью ) Так что про ЛистВью рассказать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2003, 09:35:11 |
|
||
|
Дважды обновляется подформа
|
|||
|---|---|---|---|
|
#18+
я видел примерчик на листбоксе - поэтому не обратил внимания ...)) в принципе очень интересно что получилось в чем плюсы в чем минусы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2003, 09:38:35 |
|
||
|
Дважды обновляется подформа
|
|||
|---|---|---|---|
|
#18+
виктор. так как насчет примерчика? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2003, 09:57:38 |
|
||
|
Дважды обновляется подформа
|
|||
|---|---|---|---|
|
#18+
2АлексейК >так как насчет примерчика? дык его готовить надо :) У меня все журналы сделаны на листвью - все работает через модуль класса, который управляет сортировкой, ресазингом (спасибо Гетцу), поиском, плюс управление тулбаром (открыть/удалить и т.п. 1 или многих записей), запоминает размер колонок и т.п. и т.д. Форматировние в ЛистВью свел к минимуму (да в журналах оно не очень-то нужно): серым отображаються закрытые док-ты да всплывающие подсказки. Планирую ввести полную поддержку форматирования (с сложными условиями и т.п.), когда совсем припрет :) Ты спроси конкретно, что нужно по Лист/ТриВью - помогу. Можешь написать на е-маил senin ой-ля-ля zyx.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2003, 10:19:00 |
|
||
|
Дважды обновляется подформа
|
|||
|---|---|---|---|
|
#18+
2Виктор\r Чё он делает? Форматирует! (хорошо что не диск):) \r У меня были тормоза на прорисовки в одной и так слишком тормознутой ленточной подчиненой формы - снес на хер это \r \r несколько не понял...\r он как бы всё сделал ужо ...\r но форматировать так долго?\r \r Как работает форма? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2003, 16:39:18 |
|
||
|
Дважды обновляется подформа
|
|||
|---|---|---|---|
|
#18+
Господа, за год может у кого решилась проблема с двойным обновлением подформы ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2004, 08:04:03 |
|
||
|
Дважды обновляется подформа
|
|||
|---|---|---|---|
|
#18+
Странно, - подумал я сейчас - почему меня как-то эта проблема не беспокоит, хотя у меня почти все формы для просмотра данных построены именно так: табличная форма в качестве подформы, поля с критериями в главной форме с использованием InputParameters (ADP, Access 2000)? Посмотрел в свой код и вспомнил, что эту проблему я решил ещё в начале 2001 года - я не использую Requery вообще! Вместо этого я, когда мне нужно обновить данные, просто перезаписываю свойство подформы RecordSource , примерно так: Код: plaintext 1. 2. 3. Кроме того, я устроил так, чтобы свойства RecordSource всех форм были бы пустыми при их открытии, и устанавливались бы явно кодом только тогда, когда необходимо показать записи (меня совсем не радовали лишние обращения к серверу при старте форм, когда пользователь-то даже ещё критериев не успел задать). Такой подход с намеренным отказом от Requery в пользу трюков с RecordSource , хоть и явственно отдаёт шаманством, позволил решить тогда разом кучу проблем, в числе которых была и описанная автором темы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2004, 13:20:34 |
|
||
|
Дважды обновляется подформа
|
|||
|---|---|---|---|
|
#18+
автор RecordSource всех форм были бы пустыми при их открытии, и устанавливались бы явно кодом только тогда, когда необходимо показать записи (меня совсем не радовали лишние обращения к серверу при старте форм, когда пользователь-то даже ещё критериев не успел задать). Золотые слова! Формы на больших массивах сложно обсчитываемых данных вообще не успевают открываться за отпущенное им на то аксессом время. Даешь полный контроль над загрузкой данных логикой приложения! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2004, 13:27:11 |
|
||
|
Дважды обновляется подформа
|
|||
|---|---|---|---|
|
#18+
Странно все это. Сделал как посоветовал Тимур. Хотя и ранее так пробовал. Помогло мало. Все-таки, видимо, влияет наличие условного форматирования на подформе. 2 раза происходит обработка подформы :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2004, 14:08:05 |
|
||
|
Дважды обновляется подформа
|
|||
|---|---|---|---|
|
#18+
авторADP 2000, SQL 2000 Есть главная форма с полями для критериев отбора данных в подчиненной. Подчиненная на основе ХП. В InputParameters подчиненной указаны поля из главной. Строки в подчиненной раскрашены с применением условного форматирования. кстати в этом случае можно обновить данные без изменения рекордсоурса и реквери - изменив поле являющееся источником входного параметра (на старое значение) не перескакивает на первую запись, может и моргает меньше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2004, 14:11:57 |
|
||
|
|

start [/forum/topic.php?fid=45&fpage=1514&tid=1669992]: |
0ms |
get settings: |
4ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
17ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
38ms |
get tp. blocked users: |
1ms |
| others: | 189ms |
| total: | 272ms |

| 0 / 0 |
