Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Access
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.08.2011, 12:40   #1
satka
Форумчанин
 
Регистрация: 17.07.2011
Сообщений: 145
По умолчанию Медленная работа access

Модет не в тему, но ... Есть форма, в ней вложенная, в ней вложеная, то есть только 3 уровня, в режиме конструктора, получения фокуса элемента (любого) на нижней форме и предпоследней, занимает просто фантастическое время секунд 10-20. Комп: 6-ядерный проц, ОЗУ 4 Гб. В чём может быть проблема? В других программах такого не наблюдается. Игры идут, фильмы даже большие проигрываются нормально.
satka вне форума Ответить с цитированием
Старый 16.08.2011, 13:54   #2
WildHunter
Ископаемый админ
Форумчанин
 
Аватар для WildHunter
 
Регистрация: 08.07.2010
Сообщений: 992
По умолчанию

Скорее всего при получении фокуса заново выполняется выборка по базе или другие какие-либо действия. Смотрите поле "Получение фокуса" в свойствах элементов.
Выписывайте лучший журнал о беспроводных технологиях "Ukrainian Wireless News"! Издается с 1913 года.
WildHunter вне форума Ответить с цитированием
Старый 16.08.2011, 14:29   #3
satka
Форумчанин
 
Регистрация: 17.07.2011
Сообщений: 145
По умолчанию

Цитата:
Сообщение от WildHunter Посмотреть сообщение
Скорее всего при получении фокуса заново выполняется выборка по базе или другие какие-либо действия. Смотрите поле "Получение фокуса" в свойствах элементов.
Вам следовало бы более внимательно читать вопрос
Цитата:
Сообщение от satka Посмотреть сообщение
в режиме конструктора
satka вне форума Ответить с цитированием
Старый 16.08.2011, 16:24   #4
WildHunter
Ископаемый админ
Форумчанин
 
Аватар для WildHunter
 
Регистрация: 08.07.2010
Сообщений: 992
По умолчанию

Я прочитал достаточно внимательно
Здесь два варианта, либо обновляются какие-то связи (например, перечитываются скрипты VB) либо в самом Access что-то слетело.
В первом случае нужно смотреть структуру форм и все связанные макросы/модули, во втором - переставлять Access.
Был когда-то подобный случай, вызванный циклом в модуле. Подробностей уже не помню, проблема была в том, что при определенных условиях возникал бесконечный цикл.
Выписывайте лучший журнал о беспроводных технологиях "Ukrainian Wireless News"! Издается с 1913 года.

Последний раз редактировалось WildHunter; 16.08.2011 в 16:28.
WildHunter вне форума Ответить с цитированием
Старый 16.08.2011, 17:52   #5
satka
Форумчанин
 
Регистрация: 17.07.2011
Сообщений: 145
По умолчанию

Спасибо за ответ, но наверное я чего-то не понимаю
во-первых что может пересчитываться, при простом выделении элементов? Вроде как в режиме конструктора события не обрабатываються. Учитывая что в режиме формы все события выполняются незаметно быстро
во-вторых какие это могут быть скрипты? предположите хотя бы что они могут делать, чтобы вызывать такую задержку, событий на формах много, хотя и особо умного и сложного в них нет.
в-третьих Это может быть связано с тем что много субформ в основной?
satka вне форума Ответить с цитированием
Старый 16.08.2011, 18:20   #6
WildHunter
Ископаемый админ
Форумчанин
 
Аватар для WildHunter
 
Регистрация: 08.07.2010
Сообщений: 992
По умолчанию

Цитата:
Сообщение от satka Посмотреть сообщение
Спасибо за ответ, но наверное я чего-то не понимаю
во-первых что может пересчитываться, при простом выделении элементов?
Не пересчитываются, а перечитываются. И если там есть перекрестные ссылки, то может возникнуть замкнутый цикл. Access каждый раз при выделении в конструкторе элемента пытается отследить все его связи. И что-то видимо ему не нравится.

Цитата:
Вроде как в режиме конструктора события не обрабатываються.
Не обрабатываются, но проверяются. Грубо говоря - строится алгоритм обработки событий.

Цитата:
во-вторых какие это могут быть скрипты? предположите хотя бы что они могут делать, чтобы вызывать такую задержку, событий на формах много, хотя и особо умного и сложного в них нет.
Например... вызов запроса №1, который базируется на запросе №2, который в свою очередь обращается к запросу №1. Получается бесконечный цикл. Либо аналогичная ситуация в модуле VB. Понимаете, что я имею в виду?

Цитата:
в-третьих Это может быть связано с тем что много субформ в основной?
Смотря что делается. Некоторое падение скорости обработки может наблюдаться при множественных выборках по достаточно большой базе, но не с 1-2 секунд до 20 минут. И не в режиме конструктора. Наиболее вероятно - где-то цикл. Возможно вложенная форма пытается из главной получить данные, которые главная пытается получить из вложенной.
Выписывайте лучший журнал о беспроводных технологиях "Ukrainian Wireless News"! Издается с 1913 года.

Последний раз редактировалось WildHunter; 16.08.2011 в 18:23.
WildHunter вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Медленная загрузка и глюки компа. Kreadlling Компьютерное железо 3 23.07.2011 15:25
GetPixel и SetPixel медленная работа. Kolan C# (си шарп) 4 18.06.2011 18:30
Медленная загрузка изображения из TImageList k1r1ch Общие вопросы Delphi 6 06.09.2010 18:25
медленная работа VBA Jaroslav Microsoft Office Excel 7 13.08.2009 15:41
Очень медленная работа excel 2007 kzld Microsoft Office Excel 3 19.07.2009 22:32