![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 07.07.2008
Сообщений: 6
|
![]()
Всем привет!
В общем-то вопрос вот в чём - какой командой принудительно обновить диаграмму в форме? Создана экранная форма. В этой форме есть диаграмма на основе данных из запроса. Запрос в свою очередь составлен на выборке из таблицы. При работе в форме - выбираются какие-то значения; на основе этих значений пересчитывается таблица. И вот после этого пересчёта надо обновить диаграмму. А она не обновляется. Вернее, обновляется, но не спешит отобразить на экране саму себя. В окне диаграммы появляется молочный цвет, а сами кривые где-то "прячутся". Что характерно для этой ситуации? Кривые появляются после перевода фокуса ввода на другой элемент формы. Пока не переведёшь фокус - диаграмма не обновится (один раз я целую неделю тупо ждал обновления, но так и не дождался ничего, кроме увольнения за прогулы 5 рабочих дней). Что я только не перепробовал! В программном коде - [Диаграмма 527].Requery; [Forms]!...Refresh - не действуют. Пробовал программно передавать фокус другим элементам формы. Да, эти операторы выполняются, но обновления на экране самой диаграммы не происходит. Правильнее сказать не "обновление", а "отображение обновлённой". Прочёл в книжке, что при изменении запроса (источника данных для диагр.) автоматически должно происходить обновление диаграммы. Написал в программном коде открытие запроса, его обновление (Refresh), но проблема осталась. Не хочет диаграмма отображать себя обновлённую. Стесняется что ли? Подскажите, пожалуйста, в каком направлении ещё попробовать свои силы, чтобы заставить диаграмму показывать самоё себя при изменении данных для построения кривых этой самой диаграммы? |
![]() |
![]() |
![]() |
#2 | |
Форумчанин
Регистрация: 26.04.2008
Сообщений: 487
|
![]() Цитата:
Другой вариант-попробуйте на другом ПК, может у Вас просто не хватает аппаратных возможностей (памяти), хотя она может "съедаться" и в процессе работы с бд. Вообще причин может быть масса, на мой взгляд лучший способ - передача данных в ексель и формировании в нем диаграмм любого типа.. |
|
![]() |
![]() |
![]() |
#3 |
Регистрация: 07.07.2008
Сообщений: 6
|
![]()
Извиняюсь, сразу не объяснил толком - диаграмма обновляется, если я перевожу фокус на другое поле МЫШКОЙ. То есть, кликаю правой кнопкой по другому полю, и диаграмма прорисовывается.
Или перевожу экранную форму в режим конструктора. При возвращении в режим формы - обновлённая диаграмма на своём месте. Или кликаю два раза по полю с диаграммой. Запускается MS Graph. После его закрытия тоже диаграмма рисуется. Получается, что данные для диаграммы пересчитываются нормально. И сама диаграмма пересчитывается. Но вот почему-то заставить отбразиться обновлённую диаграмму можно только принудительно. Программно - не получается. Все операторы обновления (Refresh, Requer) почему-то не работают на отображение обновленной диаграммы. |
![]() |
![]() |
![]() |
#4 | |
Форумчанин
Регистрация: 26.04.2008
Сообщений: 487
|
![]() Цитата:
Ну да ладно.. Приведите здесь пример Вашего кода. |
|
![]() |
![]() |
![]() |
#5 |
Регистрация: 07.07.2008
Сообщений: 6
|
![]()
В начале кода идёт пересчёт таблицы. На основе этой таблицы построен запрос. А уже на этом запросе основана диаграмма.
В конуе кода - мои потуги заставить диаграмму показывать свои изменения на экране. Никакой реакции от неё, пока не кликну мышкой по другому полю на экранной форме. |
![]() |
![]() |
![]() |
#6 | |
Форумчанин
Регистрация: 26.04.2008
Сообщений: 487
|
![]() Цитата:
[Диаграмма527].Requery [Диаграмма527].SetFocus Попробуйте вместо вышеупомянутого сделать: Me.Диаграмма527.Requery |
|
![]() |
![]() |
![]() |
#7 |
Регистрация: 07.07.2008
Сообщений: 6
|
![]()
Вау! Спасибо огромное! Сейчас попробую. О результате доложу. :-)
А код я составлял от начала и до конца. Мною писано, мною отлаживается. Сразу скажу, что я без системного образования, программист-любитель. Поэтому всегда благодарен за советы "профи" - "маладому". |
![]() |
![]() |
![]() |
#8 |
Регистрация: 07.07.2008
Сообщений: 6
|
![]()
Работает!!!
Ничего не понимаю!... ![]() Моя конструкция не работала: [Диаграмма527].Requery А ваша заработала: Me.Диаграмма527.Requery Ужели "великая" разница в этих двух операторах? Спасибо огромное за совет! Приятно, когда программа работает изящно, и всё послушно программисту. |
![]() |
![]() |
![]() |
#9 | |
Форумчанин
Регистрация: 26.04.2008
Сообщений: 487
|
![]() Цитата:
|
|
![]() |
![]() |
![]() |
#10 |
Регистрация: 07.07.2008
Сообщений: 6
|
![]()
Замечено ещё одно подтормаживание в работе Access. При нажатии на кнопку связанная с этим событием (Нажатие) процедура не запускается сразу, а "ждёт" особого приглашения в виде кликания мышкой по любому другому элементу формы. Часто даже по свободному пространству формы.
Гложет меня сомнение, что это проделки вируса, который обосновался в компьютере. Отсюда логический вывод - предохраняйтесь! Никто не сталкивался с такой проблемой? Нажимаешь на кнопку, и связанная с этим процедура заработала, как и положено. А иной раз нажмёшь на кнопку и - тишина, никакого движения. Комп как будто замер. Кликнул мышкой - и всё ожило и начало работать. Бывало у кого-нибудь такое? |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
как обновить Dr web? | jenja | Безопасность, Шифрование | 2 | 09.03.2009 14:23 |
в диаграмму таблицу | Exo | Microsoft Office Excel | 2 | 16.04.2008 13:01 |
По имеющимся данным построить диаграмму | Raptor | Помощь студентам | 1 | 15.12.2007 19:53 |
Гиперссылка на диаграмму | Nasya | Microsoft Office Excel | 1 | 23.07.2007 20:08 |