powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / переход в предыдущее поле формы
24 сообщений из 24, страница 1 из 1
переход в предыдущее поле формы
    #32623528
faint
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
как перейти в предыдущее поле формы не используя shift+tab?
в следующее поле можно уйти по KeyCode = vbKeyReturn, а в предыдущее как?
...
Рейтинг: 0 / 0
переход в предыдущее поле формы
    #32623537
Фотография PA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
Set ctrlPrev = Screen.PreviousControl
ctrlPrev.SetFocus
...
Рейтинг: 0 / 0
переход в предыдущее поле формы
    #32623551
Фотография kedzo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Screen.PreviousControl.SetFocus
...
Рейтинг: 0 / 0
переход в предыдущее поле формы
    #32623561
Roma R
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Программно "нажать" shift+tab

SendKeys "+{TAB}"
...
Рейтинг: 0 / 0
переход в предыдущее поле формы
    #32623566
faint
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не тот случай :)) хотя к поставленномы вопросу подходит без проблем.

уточню проблему: есть несколько полей на форме, вот как сделать так, чтобы например, по нажатию кнопки, курсор уходил бы влево на предыдущий контрол?
...
Рейтинг: 0 / 0
переход в предыдущее поле формы
    #32623583
Фотография kedzo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я так никогда не делал, но думаю это можно сделать так:
- создать свою коллекцию контролов
- заполнить ее в том порядке теми контролами, которыми нужно
- а дальше можно перемещаться по порядковым номерам коллекции и устанавливать фокус на нужный...
...
Рейтинг: 0 / 0
переход в предыдущее поле формы
    #32623603
Roma R
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Используй одновременно

Screen.PreviousControl.SetFocus
SendKeys "+{TAB}"
...
Рейтинг: 0 / 0
переход в предыдущее поле формы
    #32623607
faint
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kedzoя так никогда не делал, но думаю это можно сделать так:
- создать свою коллекцию контролов
- заполнить ее в том порядке теми контролами, которыми нужно
- а дальше можно перемещаться по порядковым номерам коллекции и устанавливать фокус на нужный...

мне кажется проблема должна проще решаться, наподобии вот этого "Программно "нажать" shift+tab

SendKeys "+{TAB}""

только мне так делать нельзя :(
...
Рейтинг: 0 / 0
переход в предыдущее поле формы
    #32623609
Фотография _bob
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dim ctl1 as control, ctl2 as control, tbindex1 as long, tbindex2 as long
tbindex2 = 0
tbindex1 = screen.activecontrol.tabindex
for each ctl1 in me.controls
if ctl1.tabindex<tbindex1 and ctl1.tabindex>tbindex2 then
ctl2 = ctl1
tbindex2 = ctl2.tabindex
end if
next ctl1
ctl2.setfocus
...
Рейтинг: 0 / 0
переход в предыдущее поле формы
    #32623619
Roma R
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Почему нельзя
SendKeys "+{TAB}"

Поясни
...
Рейтинг: 0 / 0
переход в предыдущее поле формы
    #32623636
faint
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roma RПочему нельзя
SendKeys "+{TAB}"

Поясни
мне нужно выходить из контрола в предыдущий контрол по левой стрелке, если
в контроле тест, то переход на предыдущий контрол срабатывает нормально, а если там нет ничего то, переход по стрелке (+ вот это SendKeys "+{TAB}") дают переход уже через один контрол.
...
Рейтинг: 0 / 0
переход в предыдущее поле формы
    #32623649
Roma R
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ты ж писал, что тебе кнопку жать надо!
...
Рейтинг: 0 / 0
переход в предыдущее поле формы
    #32623663
faint
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я это к примеру приводил...
хотя пример оказался неподходящим
...
Рейтинг: 0 / 0
переход в предыдущее поле формы
    #32623673
Alexanderik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Обьяни поподробней что ты хочешь ?
Переход на предыдущий контрол по нажатию LEftCursor, или при введении значения и подверждения Enter ?
...
Рейтинг: 0 / 0
переход в предыдущее поле формы
    #32623677
Roma R
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вставь дополнительную проверку: если поле пустое, то SendKeys не выполнять
...
Рейтинг: 0 / 0
переход в предыдущее поле формы
    #32623682
faint
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexanderikОбьяни поподробней что ты хочешь ?
Переход на предыдущий контрол по нажатию LEftCursor, или при введении значения и подверждения Enter ?

да! переход на предыдущий контрол по LEftCursor
...
Рейтинг: 0 / 0
переход в предыдущее поле формы
    #32623698
faint
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roma RВставь дополнительную проверку: если поле пустое, то SendKeys не выполнять
я как-то вообще с трудом понимаю почему курсор скачет через контрол. ведь по идее я перехвачиваю нажатие LEFT ARROW т.е. действие этой кнопки должно отмениться и выполниться все, что для этой кнопки понаписано.
...
Рейтинг: 0 / 0
переход в предыдущее поле формы
    #32623703
Roma R
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробуй это

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyLeft Then
If Nz(Me.ActiveControl.SelText, "") <> Nz(Me.ActiveControl.Text, "") Then
SendKeys "+{TAB}"
End If
End If
End Sub
...
Рейтинг: 0 / 0
переход в предыдущее поле формы
    #32623732
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
faintкак перейти в предыдущее поле формы не используя shift+tab?
в следующее поле можно уйти по KeyCode = vbKeyReturn, а в предыдущее как?
KeyCode = vbKeyTab
Shift = acShiftMask

Почему так нельзя?
...
Рейтинг: 0 / 0
переход в предыдущее поле формы
    #32623775
faint
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир Саныч faintкак перейти в предыдущее поле формы не используя shift+tab?
в следующее поле можно уйти по KeyCode = vbKeyReturn, а в предыдущее как?
KeyCode = vbKeyTab
Shift = acShiftMask

Почему так нельзя?

может так и можно, но у меня обрабатывается только KeyCode = vbKeyTab, т.е. перескакиваю в след-й контрол. одновременное нажатие shift не обрабатывается
...
Рейтинг: 0 / 0
переход в предыдущее поле формы
    #32623781
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
faintможет так и можно, но у меня обрабатывается только KeyCode = vbKeyTab, т.е. перескакиваю в след-й контрол. одновременное нажатие shift не обрабатывается
Не нажатие, а я имел в виду написать в программе следующей строчкой:

Shift = acShiftMask
...
Рейтинг: 0 / 0
переход в предыдущее поле формы
    #32623786
Roma R
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
If KeyCode = vbKeyLeft Then
SendKeys "+{TAB}"
KeyCode = 0
End If
...
Рейтинг: 0 / 0
переход в предыдущее поле формы
    #32623791
faint
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
так и я про то, я тоже имел в виду "программное" нажатие
строка Shift = acShiftMask не помогает!
...
Рейтинг: 0 / 0
переход в предыдущее поле формы
    #32623819
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Жалко.
...
Рейтинг: 0 / 0
24 сообщений из 24, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / переход в предыдущее поле формы
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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