|
|
|
О сколько нам открытий глючных готовит мелкософта дух!
|
|||
|---|---|---|---|
|
#18+
Не, ну я балдею простооооо! Закидайте меня дохлыми енотами, уничтожьте словечками обидными, ламером обзовите... Либо я совершенно не понимаю особенности передачи управления между аксессовскими формами, либо во всей этой байде какие-то фундаментальные кривульки заложены и постоянно на рыло свиное натыкаешься. Объясняю. Изобрел для своих нужд форму (Progress)- по сути некая мерцающая по таймеру картинка, говорящая о том, что юзер в настоящий момент производит какие-то специальные действия и надо быть внимательным. Форма состоит из BoundObjectFrame (thanx Саныч) - собственно меняющийся кадр (Me.Kadr), в нем можно или женщину голую разместить, или призывы типа "НЕ ОТЛУЧАЙТЕСЬ! Завершите операцию.", и текстового поля, в котором НЕ мерцает текстовая инструкция. Обращаться хотел из разных мест, чтобы при вызове просто менять требуемые картинки и инструкции. Вот текст модулей формы. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. Теперь дальше. Есть основная форма (Form) - single, типа карточки клиента, а в нее встроена табличная Subform, вроде как список сотрудников фирмы-клиента. Subform естественно, прилинкована к главной форме. Немного о том, какую операцию хочу исполнять, чтобы понятно было, зачем мне прогрессбар. Операция простая - удаление персоны из списка сотрудников. Удаление происходит безболезненно, если в связанной таблице (Письма) нет соответствующих записей. Если письма у товарисча есть, то я помечаю его и предлагаю в той же подчиненной форме тыркнуться на ДРУГУЮ запись, чтобы перекинуть переписку на другого человека (естественно, с пометками). Пока не было обращения к Progress, все нормально работало - событие в подформе Form_Delete активизировало Form_Current и письма я благополучно перекидывал на другого чела. И вот теперь я на свою голову в событии Form_Delete поставил вызов прогрессбара Код: plaintext 1. Результат. Форма Progress загружается, картинка мерцает, инструкция на экране, НО: 1. Subform (список людей) теряет событие Current (причем другие события, напр. ДблКлик - остаются), и что самое интересное!!!- 2. Subform ОТВЯЗЫВАЕТСЯ ОТ ГЛАВНОЙ ФОРМЫ!!! Т.е. если я главную форму вызывал из другой, то Requery Главной НЕ ПРИВОДИТ к обновлению подчиненной!!! Вот, собственно, все. Я кончил. А Вы что на это скажете? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.07.2003, 13:10 |
|
||
|
О сколько нам открытий глючных готовит мелкософта дух!
|
|||
|---|---|---|---|
|
#18+
Предагаю вариант. Вместо вытаскивания картинки из рекордсета - сделать сабформу, которая будет сидеть на таблице с картинками, и менять ей фильтр. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.07.2003, 14:22 |
|
||
|
О сколько нам открытий глючных готовит мелкософта дух!
|
|||
|---|---|---|---|
|
#18+
Саныч, это как всегда хорошая идея. Т.е. как я ее понял, можно открыть форму с картинками заранее, минимизировать ее, а потом в зависимости от ситуации поднимать с разными фильтрами? Главное наверное - избегать DoCmd.OpenForm в обработчике события. Но мне вообще интересно, что произошло - то ли мои неумелые действия (какие?) вызвали отрыв подформы от формы и потерю Current, то ли это бага акса. Было у кого-нибудь такое? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.07.2003, 14:48 |
|
||
|
О сколько нам открытий глючных готовит мелкософта дух!
|
|||
|---|---|---|---|
|
#18+
Не мнимизировать, а открыть в виде сабформы. Про прочее не знаю. :^) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.07.2003, 14:49 |
|
||
|
О сколько нам открытий глючных готовит мелкософта дух!
|
|||
|---|---|---|---|
|
#18+
Углубляюсь в предмет. Беру свои слова про Current назад. Событие происходит. Не происходит вот что. Собираясь удалить запись, я с первого прохода ее мечу, т.е в таблице есть поле Flag , в которое заношу галочку. Все это происходит в событии Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Не знаю, корректно ли в событии Delete ставить Refresh (вроде как спасать запись, которую собираешься удалить), но пока во <ВСЯКОМ ПРОВЕРОЧНОМ КОДЕ> нет обращения к DoCmd - все работает нормально, т.е. после обработки события Delete я лицезрею в табличке галочку против намечаемого к удалению чела и текущая запись НЕ ЗАБЛОКИРОВАНА! А вот если я в проверочный код эту DoCmd вставляю - то ВСЕ - после обработки Delete никакой галочки нет, а запись заблокирована (перечеркнутый ноль сбоку). Соответственно, все остальное происходит криво. Это тонкий момент, или толстые обстоятельства моих пробелов в образовании? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.07.2003, 19:20 |
|
||
|
|

start [/forum/topic.php?fid=45&tid=1680357]: |
0ms |
get settings: |
8ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
162ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
54ms |
get tp. blocked users: |
2ms |
| others: | 212ms |
| total: | 473ms |

| 0 / 0 |
