powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / SetFocus для формы (не всплывающее окно)
18 сообщений из 18, страница 1 из 1
SetFocus для формы (не всплывающее окно)
    #39455032
Игортан
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Господа, есть вопрос.

Перевод фокуса на форму (всплывающую):
Forms!MyForm.SetFocus

Этот же код не делает активной форму если он НЕ всплывающая, как вкладка.

Как можно перевести фокус на нее, при том, что таких форм открыто несколько.
...
Рейтинг: 0 / 0
SetFocus для формы (не всплывающее окно)
    #39455062
guest_rusimport
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Игортан,
Access какой версии? Примерчик бы.
В 2003-м такого не наблюдаю.
...
Рейтинг: 0 / 0
SetFocus для формы (не всплывающее окно)
    #39455199
Игортан
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest_rusimport,

прошу прощения, акс 2007
режим работы - на вкладках.
MDI интерфейс, вроде так называется по умному.
...
Рейтинг: 0 / 0
SetFocus для формы (не всплывающее окно)
    #39455325
Игортан
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Игортан,

Господа.
Или совсем ерунду спрашиваю, или нету такого решения?
В чем подвох?
...
Рейтинг: 0 / 0
SetFocus для формы (не всплывающее окно)
    #39455336
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Игортан, тебе нужно переключится на другую вкладку (форму)?
Только сейчас протестировал код
Код: vbnet
1.
2.
3.
Private Sub Кнопка0_Click()
    If CurrentProject.AllForms("Form1").IsLoaded Then Forms("Form1").SetFocus: MsgBox Screen.ActiveForm.Name
End Sub

прекрасно переключает на требуемую форму
Access 2007, 2010
...
Рейтинг: 0 / 0
SetFocus для формы (не всплывающее окно)
    #39455357
Игортан
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Панург,

Ситуация у меня:
Со старта запускается последовательно 4 формы (так человек захотел)
после запуска всех 4х форм фокус нужно перевести на первую.
Код: vbnet
1.
2.
3.
4.
5.
        DoCmd.OpenForm "Account List", acNormal, "", "", , acNormal
        DoCmd.OpenForm "Contact List", acNormal, "", "", , acNormal
        DoCmd.OpenForm "Activity List", acNormal, "", "", , acNormal
        DoCmd.OpenForm "Opportunity List", acNormal, "", "", , acNormal
        If CurrentProject.AllForms("Account List").IsLoaded Then Forms("Account List").SetFocus: MsgBox Screen.ActiveForm.Name


Сейчас попробовал ваш код и при старте и из другой формы.
Фокус не перешел...Сообщение получаю.
...
Рейтинг: 0 / 0
SetFocus для формы (не всплывающее окно)
    #39455530
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ИгортанСообщение получаю.Поздравляю!
ИгортанФокус не перешел. Факир был пьян и фокус не удался. © А как это выглядит?
...
Рейтинг: 0 / 0
SetFocus для формы (не всплывающее окно)
    #39455642
Игортан
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Панург,

Да никак))))
Просто кликаешь кнопку.
Нужная форма НЕ становится активной. И получаю сообщение, по коду)))
Код: plaintext
...
Рейтинг: 0 / 0
SetFocus для формы (не всплывающее окно)
    #39455759
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Игортан, ну что сказать? Сделай пример с подобной проблемой, т.к. у меня при использовании аналогичного кода (скопировал твой, но формы мои) отрабатывает и делает активной первую запущенную форму.
...
Рейтинг: 0 / 0
SetFocus для формы (не всплывающее окно)
    #39455889
Игортан
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Панург,

Выбросил в новую бд, что бы сюда положить.
Пришла в голову мысль.
А не виноваты ли в этом разделенные формы...
Т.е. у меня все эти 4 формы - разделенные.
Попробовал сделать их одиночными и ленточными и о чудо!
Все работает.
Фича или баг, не знаю.

Знаю, что есть нюансы при работе с контролами разделенных форм.
Может и здесь что по хитрому делается...
Может кто знает?
Не охота весь проект переделывать с разделенных на формы с подчиненными....
В то время тупо решил количество форм уменьшить, что бы без подчиненных...
...
Рейтинг: 0 / 0
SetFocus для формы (не всплывающее окно)
    #39456446
aleks2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Бред какой.

Все великое - просто.
Код: sql
1.
2.
3.
4.
5.
6.
DoCmd.OpenForm "Account List", acNormal, "", "", , acNormal
DoCmd.OpenForm "Contact List", acNormal, "", "", , acNormal
DoCmd.OpenForm "Activity List", acNormal, "", "", , acNormal
DoCmd.OpenForm "Opportunity List", acNormal, "", "", , acNormal

DoCmd.OpenForm "Account List", acNormal, "", "", , acNormal
...
Рейтинг: 0 / 0
SetFocus для формы (не всплывающее окно)
    #39456685
Игортан
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aleks2,

Да, этот способ попробовал первым.
Тогда получается форма "Account List" активной, но четвертой вкладкой.
Будет
1. Contact List
2. Activity List
3. Opportunity List
4. Account List (активна)

А нужно
1. Account List (активна)
2. Contact List
3. Activity List
4. Opportunity List

Сам несколько удивлен различием реакции разделенной формы и обычной на SetFocus.
Может кто проверит это различие в поведении у себя?
У меня просто везде стоит оффис из одного образа. И реакция одинаковая.
Может кривой какой...
Если у других такое поведение будет аналогичным, значит дело не в моем аксе.
Что бы не городить огород, приложу архивчик на тест.
Проверить активацию форм, когда они разделенные и когда обычные(одиночные, ленточные)
...
Рейтинг: 0 / 0
SetFocus для формы (не всплывающее окно)
    #39456702
Игортан
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Игортан,

что бы было легче - закинул 2 типа форм
открываются по своим кнопкам
Посмотрите плиз
разделенные и одиночные - одинаково передают фокус?
...
Рейтинг: 0 / 0
SetFocus для формы (не всплывающее окно)
    #39457030
aleks2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ИгортанДа, этот способ попробовал первым.
Тогда получается форма "Account List" активной, но четвертой вкладкой.


В Access 2010 - никакой "перестановки вкладок" не происходит.
...
Рейтинг: 0 / 0
SetFocus для формы (не всплывающее окно)
    #39457048
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Игортан,
...
Рейтинг: 0 / 0
SetFocus для формы (не всплывающее окно)
    #39458373
Игортан
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Панург, Спасибо!
Через API решили вопрос. Даже не подумал в ту сторону, правда я с ними слаб.

П.С. чуток пропал...только до компа добрался.
...
Рейтинг: 0 / 0
SetFocus для формы (не всплывающее окно)
    #39458392
Игортан
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aleks2В Access 2010 - никакой "перестановки вкладок" не происходит.

Начал вам отвечать....ну я и рукож..п.
Код: vbnet
1.
2.
3.
4.
5.
6.
DoCmd.OpenForm "Account List", acNormal, "", "", , acNormal
DoCmd.OpenForm "Contact List", acNormal, "", "", , acNormal
DoCmd.OpenForm "Activity List", acNormal, "", "", , acNormal
DoCmd.OpenForm "Opportunity List", acNormal, "", "", , acNormal

DoCmd.OpenForm "Account List", acNormal, "", "", , acNormal


Я умудрился у себя в коде перед вторым открытием "Account List" закрывать ее.
Как я не обратил на это внимание???!!!

Единственный минус у этого способа - если данные на форме тяжелые, комп будет мал думать.
Хотя... это я обойду.
...
Рейтинг: 0 / 0
SetFocus для формы (не всплывающее окно)
    #39458518
aleks2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Игортан
Единственный минус у этого способа - если данные на форме тяжелые, комп будет мал думать.
Хотя... это я обойду.

Никаких раздумий не будет.
Повторное открытие формы переносит фокус на "уже открытую".
Запрос не выполняется.
...
Рейтинг: 0 / 0
18 сообщений из 18, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / SetFocus для формы (не всплывающее окно)
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]