Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: MS ACCESS

Вопросы связанные с MS ACCESS

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: отобразить MsgBox при открытии формы
 
 автор: dmsrv803   (14.09.2010 в 14:10)   личное сообщение
 
 

Кто знает - как при открытии формы, вывести на ее так сказать фоне MsgBox?
У меня получается, что при попытке вывести MsgBox из процедуры по открытию формы сначало отображается MsgBox, а затем, после нажатия на требуемую кнопку открывается сама форма, а мне нужно чтобы сначало отобразилась форма, а потом на ее фоне открылся MsgBox.

  Ответить  
 
 автор: Explorer   (14.09.2010 в 14:20)   личное сообщение
 
 

повесь на каждое событие по мессидж боксу в котором напиши какое именно событие его вызывает

before del confirm on resize load open activate current before update after update got focus on delete on Del Confirm... ну и т.д.

тот мессиджбокс который тебе подойдет и используй.
а событие его вызвавшее прочтешь на мессиджбоксе

заодно выучишь последовательность событий формы

  Ответить  
 
 автор: dmsrv803   (14.09.2010 в 14:33)   личное сообщение
 
 

если бы все было так просто ....

  Ответить  
 
 автор: Explorer   (14.09.2010 в 15:01)   личное сообщение
 
 

мессидж бокс нужно показывать не при открытии а уже после открытия формы - нужно искать соответсвующее событие

  Ответить  
 
 автор: Гоблин   (14.09.2010 в 16:07)   личное сообщение
 
 

Попробуй после запуска стартовой формы запускать еще и другую форму вместо msgbox но сделай ее модальной.

  Ответить  
 
 автор: Explorer   (14.09.2010 в 16:21)   личное сообщение
 
 

но это не решает задачи автора вопроса :)

  Ответить  
 
 автор: Дядя Федор   (14.09.2010 в 16:53)   личное сообщение
 
 

если форма не всплывающая и не модальная вешай куда хочешь - будет работать

  Ответить  
 
 автор: Дядя Федор   (14.09.2010 в 16:57)   личное сообщение
 
 

В противном случае
1. Timer interval=200

Private Sub Form_Timer()
TimerInterval = 0
If MsgBox("Timer", vbOKCancel, "+++") = vbOK Then
Me.Caption = "YES"
Else
Me.Caption = "NO"
End If
End Sub

  Ответить  
 
 автор: dmsrv803   (16.09.2010 в 10:52)   личное сообщение
 
 


ник: Дядя Федор
В противном случае
1. Timer interval=200


Private Sub Form_Timer() 
TimerInterval = 0 
If MsgBox("Timer", vbOKCancel, "+++") = vbOK Then 
Me.Caption = "YES" 
Else 
Me.Caption = "NO" 
End If 
End Sub 


Отличная идея. То что надо. Дяде Федору - слава!!!!!

  Ответить  
 
 автор: Дядя Федор   (14.09.2010 в 16:59)   личное сообщение
 
 

Лучше не боксы а просто debug.print "Я там-то"

  Ответить  
 
 автор: dmsrv803   (14.09.2010 в 17:09)   личное сообщение
 
 

Отвлекся от работы не на долго. Сейчас попробую предложенные варианты и после отпишу.
С модальной формой - это интересно!!!

  Ответить  
 
 автор: Explorer   (14.09.2010 в 17:12)   личное сообщение
 
 

с модальной формой интересно если нужен не мессидж_бокс а именно модальная форма (EULA, About etc.)

  Ответить  
 
 автор: dmsrv803   (14.09.2010 в 17:19)   личное сообщение
 
 

Модальная форма вместо msgbox меня тож утсраивает.

  Ответить  
 
 автор: Explorer   (14.09.2010 в 17:21)   личное сообщение
 
 


debug.print "Я там-то"



это само собой

  Ответить  
 
 автор: dmsrv803   (14.09.2010 в 17:33)   личное сообщение
 
 

С модальной формой - мало чего получается. Она действительно работает только при условии, что форма, поверх которой ее открываешь не модальная и не всплывающая со всеми вытекающими ...

  Ответить  
 
 автор: Explorer   (14.09.2010 в 18:01)   личное сообщение
 
 

каков будет текст мессидж бокса и какие будут опции

с какой целью это все мутится?

  Ответить  
 
 автор: Гоблин   (14.09.2010 в 21:40)   личное сообщение
11 Кб.
 
 

Ну вот. При запуске формы1 на ее фоне запустится форма2. Вроде работает.

  Ответить  
 
 автор: Explorer   (14.09.2010 в 21:53)   личное сообщение
 
 

лишнее ИМХО


Private Sub Form_Close()
DoCmd.Close acForm, "Форма2"
End Sub

  Ответить  
 
 автор: Гоблин   (14.09.2010 в 22:29)   личное сообщение
 
 

Согласен. Осталось от эксперимента.

  Ответить  
 
 автор: SONAR   (14.09.2010 в 23:10)   личное сообщение
 
 

Автор, а какого типа МсжБокс? с правом выбора (Да, Нет, Канцел, отмена, и прочее) или просто информативное? с одной кнопокй ОК?

  Ответить  
 
 автор: Гоблин   (15.09.2010 в 12:25)   личное сообщение
 
 

Так ведь тут самому как фантазии хватит. Ставь кнопки и прописывай кодом что угодно.

  Ответить  
 
 автор: Explorer   (15.09.2010 в 13:25)   личное сообщение
 
 


Так ведь тут самому как фантазии хватит



необходимость в том или ином функционале должна быть продиктована не фантазией разработчика а необходимостью, прошу прощения за тавтологию...

  Ответить  
 
 автор: Lukas   (15.09.2010 в 13:41)   личное сообщение
 
 

Для поддержания разговора:

Была ли необходимость у разработчиков Office 2007 в появлении на свет ужаса под названием Ribbon?

  Ответить  
 
 автор: Дядя Федор   (15.09.2010 в 16:59)   личное сообщение
 
 

Что это. Я с 2007 пока не работал плотно. Так смотрел только маленько.

  Ответить  
 
 автор: Lukas   (15.09.2010 в 17:22)   личное сообщение
34 Кб.
 
 

Это фигня вверху =>

  Ответить  
 
 автор: Дядя Федор   (16.09.2010 в 08:05)   личное сообщение
 
 

Аа! Да уж. Видимо думали, что так лучше...

  Ответить  
 
 автор: kot_k_k   (16.09.2010 в 08:35)   личное сообщение
 
 

политика продуктов MS - главное переделать ПРИВЫЧНЫЙ интерфейс - пользователи охуююювают, разораться не могут - тогда им можно объяснить что это офигенно НОВЫЙ продукт, стоит естественно дороже, жрет больше. ПОКУПАТЬ ВСЕМ. а старый привычный РАБОТАЮЩИЙ - немедленно выкинуть, а не выкинете - вот вам новый формат, продвинутый - и старый его не читает. и так шо офис шо ось.

  Ответить  
 
 автор: dmsrv803   (16.09.2010 в 10:24)   личное сообщение
 
 


необходимость в том или ином функционале должна быть продиктована не фантазией разработчика а необходимостью, прошу прощения за тавтологию...


но согласитесь, что возможности Access в части интерфейса сильно ограничены, и уже давно не отвечают современным стандартам. Поэтому и возникают подобные "фантазии".
На самом деле в данном случае нет ничего сверхсложного. Вполне решаемая задача. Просто хочется найти ниболее простое и эффективное решение.
P.S. - вчера отсутствовал на работе, поэтому не участвоал в общей дискуссии.

  Ответить  
 
 автор: Explorer   (16.09.2010 в 11:03)   личное сообщение
 
 


но согласитесь, что возможности Access в части интерфейса сильно ограничены



это не так, возможности интерфеса Access вполне достаточны для решения задач для которых он разработан. во всяком случае они богаче и разнообразнее чем у многих других инструментов и сред исполнения.

"современные стандарты интерфейсов" это фикция и маркетинговая уловка. А если говорить по большуму буфету - то все эти интерфейсы и стандарты древнее монструозное чудовище.

---------------
PS в системах учета ВООБЩЕ не должно быть пользовательских интерфесов ИМХ - они должны быть совершенно прозрачными и автономными. Существующая парадигма учета давно устарела и держится только по инерции и на инертности.
---------------

"фантазии" возникают от недостаточного знания инструмента разработки и плохо проработанного ТЗ, непродуманной логики интерфеса и архитектуры проекта.

----------------------------------
в задаче нет ничего сложного - выбросить мессиджбокс поверх формы - что может быть проще.
другой вопрос что этого просто не нужно делать.
просто не может быть нужно в той постановке что сформулирована в вопросе.

  Ответить  
 
 автор: kot_k_k   (16.09.2010 в 11:26)   личное сообщение
 
 


в задаче нет ничего сложного - выбросить мессиджбокс поверх формы - что может быть проще


как раз и не получалось - токмо через таймер или делать формой а не боксом.


другой вопрос что этого просто не нужно делать.
просто не может быть нужно в той постановке что сформулирована в вопросе.


+10000
юзер жмет на кнопку "Открыть форму" - Открыли форму - а потом спрашиваем работать или не работать, еси не работать - закрыть форму - полный.

предвосхищу вопрос - а если нужно заполнить какимо-либо данными и об этом спросить юзреа - делается наоборот Спрашивает "Милый как тебе форму заполнить или сам ручками" - получаем ответ - открывам форму в нужном виде.

  Ответить  
 
 автор: Explorer   (16.09.2010 в 11:28)   личное сообщение
 
 


как раз и не получалось - токмо через таймер



все получилось - в этой постановке это самое логичное решение

  Ответить  
 
 автор: dmsrv803   (16.09.2010 в 11:57)   личное сообщение
 
 


PS в системах учета ВООБЩЕ не должно быть пользовательских интерфесов ИМХ - они должны быть совершенно прозрачными и автономными.


Это как? Совсем без интерфейсов. Вы где видели таких продвинутых пользователей, и в таком количестве?

  Ответить  
 
 автор: Explorer   (16.09.2010 в 12:02)   личное сообщение
 
 

а вот так...

не нужны ни пользователи ни интерфейсы - обезъяны перед экранами

незачем

  Ответить  
 
 автор: dmsrv803   (16.09.2010 в 12:20)   личное сообщение
 
 


а вот так...

не нужны ни пользователи ни интерфейсы - обезъяны перед экранами

незачем


Круто! - Пошел внедрять.

  Ответить  
 
 автор: kot_k_k   (16.09.2010 в 12:25)   личное сообщение
 
 

рекомендуется специальная клавиатура - ее правда можноизготовить самому - пассатижами выковыриваются кнопки Crtl, Alt, Delete, F8, Scroll Lock, PrintScreen - NomLock закорачивается

  Ответить  
 
 автор: kot_k_k   (16.09.2010 в 12:19)   личное сообщение
 
 

чем меньше юзер знает про слово интерфейс вообще и о компе в частности - тем легче объяснить что так положено!!!
продвинутых юзеров нужно убивать - мое личное мнение,
юзеров с оценкой 5 в зачетке по Аксу - топить, бо начинается а почему форма не цветная, почему кнопочки без цветочков - нам рассказывали на лекциях, мы базу на листике рисовали.

п.с. сисадминов нужно убивать пока они еще юзеры - сказал как-то один мой знакомый админ

  Ответить  
 
 автор: Explorer   (16.09.2010 в 12:25)   личное сообщение
 
 


чем меньше юзер знает про слово интерфейс вообще и о компе в частности



я говорю об интерфейсе в принципе - как системы связи человека и вычислительной системы а не конкретную реализацию той или иной парадигмы.

задачи учета в принципе примитивны и то что этим должен заниматься человек (оператор) унизительно.

человек и компьютер должны общаться

а) другим способом
б) по другому поводу

  Ответить  
 
 автор: kot_k_k   (16.09.2010 в 12:29)   личное сообщение
 
 


человек и компьютер должны общаться

а) другим способом
б) по другому поводу



есть такие люди - сисадмины, инж. техподдержки, аникейщики и ну и естественно ремонтники - способы как правило разные и извращенные - а потод один и тот же.

  Ответить  
 
 автор: Explorer   (16.09.2010 в 12:33)   личное сообщение
 
 

дискуссия выходит за рамки специализации форума.

это все в болталку

  Ответить  
 
 автор: dmsrv803   (16.09.2010 в 12:28)   личное сообщение
 
 


продвинутых юзеров нужно убивать


я сразу вспомнил крылатое - "мочить в сортире". Так это он точно имел ввиду юзеров..

  Ответить  
 
 автор: dmsrv803   (16.09.2010 в 10:40)   личное сообщение
 
 

To Гоблин.
Это работает только в том случае, если форма1 не всплывающая и не модальная. В противном случае вам придется использовать диспетчер задач, чтобы вырубить Access.

To Дядя Федор.
С таймером все получилось спасибо за идею.

  Ответить  
 
 автор: Дядя Федор   (16.09.2010 в 12:02)   личное сообщение
 
 

Спасибо за спасибо

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList