|
|
|
| Бодрого времени суток всем.
Исходные данные.
Есть база для печати "чего-то там". При запуске базы запускается форма, на Form_Load окно бд убирается посредством функции "ShowWindow Lib "user32...". Плюс пара запросов на добавление. Запросы отрабатывают секунд 10-15. На самой форме красивая картинка и прогрессбар. После Form_Load форма закрывается и открывается основная форма с кнопками всякими.
Что хотелось бы получить.
Запускается бд, окно бд прячется и остается красивая картинка с прогрессбаром, который весело елозит фиксированное время, одновременно с отработкой запросов. Форма с картинкой закрывается, открывается форма с кнопками.
Как работает сейчас.
Запускается бд, окно бд прячется, крутятся песочные виндовые часики (запросы отрабатывают, формы с картинкой и прогрессбаром не видно вообще), после выполнения кода появляется форма с кнопками.
Из всего вышеизложенного интересуют два вопроса.
1. На какое событие формы повесить код, чтобы форму было видно.
2. Как запустить прогрессбар.
Спасибо. | |
|
| |
|
|
|
| При старте програмы твою форму
патом програсбар ставиш максимум типа = 10
патом прогрессбар .value += 1
потом есть событие прогрес бар макс там ставиш me.close()
и открить твою форму сорри аксса под рукой нету | |
|
| |
|
|
|
| Если честно, то ничего не понял
Запуск формы установлен в свойствах бд. Запускается база - запускается форма.
По большому счету хрен с ним с прогрессбаром. Картинки не видно. Форма запускается, код отрабатывается, форма закрывается. Сама картинка на форме на экран не выводится :( | |
|
| |
|
|
|
| надо воткнуть
может даже в нескольких местах | |
|
| |
|
|
|
| "Истыкал" весь код на Form_Load. Контур формы появляется на доли секунды, после чего пропадает и идет выполнение кода :( | |
|
| |
|
|
|
| Покажите код на form_load | |
|
| |
|
|
|
|
Private Sub Form_Load()
DoCmd.SetWarnings False
DoCmd.RunCommand acCmdAppMaximize
ShowWindow Application.hWndAccessApp, SW_HIDE
DoCmd.RunSQL "DELETE ..."
DoCmd.OpenQuery "qry_UPDATE..."
DoCmd.OpenQuery "qry_UPDATE_1..."
DoCmd.OpenQuery "qry_UPDATE_2..."
DoCmd.OpenQuery "qry_UPDATE_3..."
DoCmd.OpenForm "frm_Main"
DoCmd.Close acForm, "frm_timer"
End Sub
|
| |
|
| |
|
|
|
| если честно то не правильно как-то это
могу предложить следующее
создайте макрос - обзовите его autoexec (это обязательно)
в макросе всего одна команда Запуск программы
там укажите функцию (имя функции)
в модулях создайте публичную функцию и там пропишите все что хотите сделать
дело в том что событие загрузка происходит раньше чем событие отображение
отсюда у вас и все проблемы | |
|
| |
|
|
|
| Согласен, не по феншую
Но, как обычно, делалась маленькая финтифлюшка, для которой подобный сплаш-скрин и нафиг не нужен был. А тут разросшуюся тушку быстро надо стало подточить напильником. Затупил с событиями.
Спасибо за вариант. | |
|
| |
|
|
|
| Form_Load и даже Form_Activate возникают ДО появления формы на экране.
Попробуйте использовать Form_Timer. Т.е. указываете в св-ве TimerInterval небольшое значение (например 10), весь код переносите в Form_Timer, а первой командой сбрасываете TimerInterval в 0. | |
|
| |
|
|
|
| Таки да
Никогда не умел пользоваться этой штукой. Спасибо | |
|
| |
|
|
|
|
orm_Load окно бд убирается посредством функции "ShowWindow Lib "user32...".
|
а почему его не спрятать "системно", убрав галочку в "Параметры запуска.... Окно базы данных"
п.с. может в 2010 его и нету, или оно по другому называется, или спрятано глубоко-глубоко. | |
|
| |
|
|
|
| 2 kot_k_k да всё там в 2010 есть) | |
|
| |
|
|
|
| офис 2007-.... похож на клад - потому что клад это то что зарыто! глубоко-глубоко. | |
|
| |