Не работает GoToControl ...

naucat

Private Sub Text18_BeforeUpdate(Cancel As Integer)Dim EU As ControlSet EU = Forms!Start!Text18DoCmd.GoToControl.EUEnd Sub
пишет Argument not optional и указывает на GoToControl.Не пойму что не правильно...
24 ответа

naucat

Me.EU.SetFocusDoCmd - НЕ ИСПОЛЬЗОВАТЬ


naucat

Private Sub Text18_BeforeUpdate(Cancel As Integer)Dim EU As ControlSet EU = Forms!Start!Text18Me.EU.SetFocusEnd Sub
Method or data member not found...?


naucat

EU.SetFocus


naucat

Private Sub Text18_BeforeUpdate(Cancel As Integer)Dim EU As ControlSet EU = Forms!Start!Text18EU.SetFocusEnd Sub
Теперь просто вылетает дебаггер и выделяет строку EU.SetFocus жёлтым ....


naucat

Forms!Start!Text18 = acTextBox ?


naucat

Private Sub Text18_BeforeUpdate(Cancel As Integer)Dim EU As ControlSet EU = Forms!Start!Text18Forms!Start!Text18 = acTextBoxEnd Sub
Строка Forms!Start!Text18 = acTextBox выделяется жёлтым ...


naucat

Теперь просто вылетает дебаггер и выделяет строку EU.SetFocus жёлтым ....
И ничего не говорит? Значит испортилась база. Надо ее запустить с параметром /decompile.


naucat

Строка Forms!Start!Text18 = acTextBox выделяется жёлтым ...
Это неправильная строка.


naucat

Это неправильная строка.
не пояснил, проститея имел ввиду, что может Forms!Start!Text18 не текстбокс может Forms!Start!Text18 не способен принять фокус


naucat

Set EU = Forms!Start!Text18EU.SetFocusВы используете событие Text18_BeforeUpdate для того, чтоб перейти на него же? Зачем, если фокус итак на нем?


naucat

KrukVN,это какой такой элемент на форме не способен принять фокус?


naucat

KrukVN,это какой такой элемент на форме не способен принять фокус?
label например


naucat

кроме того, Forms!Start!Text18 может быть не me.Text18может ТС обращается к контролу другой формы, в которой Text18 не текстбокс а надпись, прямоугольник или еще что


naucat

label например
ну да, поспешил...


naucat

перетащил всё в новую базу - та же хрень..


naucat

перетащил всё в новую базу - та же хрень..
чудес не бывает :)поясните зачем Вам эта конструкция понадобилась
Private Sub Text18_BeforeUpdate(Cancel As Integer)
 Dim EU As Control
 Set EU = Forms!Start!Text18
 EU.SetFocus
?или прицепите пример


naucat

naucat,ответьте на все топики KrukVN !


naucat

Set EU = Forms!Start!Text18EU.SetFocusВы используете событие Text18_BeforeUpdate для того, чтоб перейти на него же? Зачем, если фокус итак на нем?
ситуация такая:на форме START два текстбокса id и Text18 и кнопка "СТОП"Выбирается из списка ID затем для каждого ID сканером вводится куча бумажек.Поскольку обе руки оператора заняты (сканер в правой и бумага в левой) нужно чтобы процесс шёл без лишних кликов мышью.AfterUpdate скана в окошкеText18 производится запись в таблицуи курсор перескакивает на нижерасположенную кнопку СТОП . Следующее сканирование приводит к закрытию формы СТАРТ..


naucat

Понятно, значит речь идет об одной форме start, тогда можно вместо Forms!Start!Text18 обойтись me.Text18 (а то вводит в заблуждение)И Вы не ответили, зачем переводить фокус на себя если он уже там. какая цель преследуется?


naucat

после скана в Текст18 фокус перескакивает на кнопку СТОП ниже.Следуюший скан эту кнопку активирует, форма закрывается.Поэтому BeforeUpdate нужно навести фокус на Текст18.Фокуса на Текст18 нет.


naucat

И Вы не ответили, зачем переводить фокус на себя если он уже там. какая цель преследуется?
Видимо, как я понял, желательно, чтобы оператор нажимал только Ентер, наверное, даже не смотря на экран. И чтобы при этом фокус оставлся в поле, а не уходил на кнопку, поскольку оператор, не глядя на экран, повторно нажимает Ентер, уверенный, что будет скан, а форма тухнет.naucat, в принципе можно отрегулировать ситуацию. Зайдите а меню Сервис-Параметры-Клавиатура-Переход при нажатии Enter и выберите там "Нет". Курсор будет оставться на месте.Кстати, эту ситуацию можно разруливать динамически, с помощью SetOption


naucat

naucat, возможно здесь решение вашей проблемы


naucat

mds_world,при вводе сканером оператору не нужно ничего нажимать вообще.Ни ентер ни мышь, даже кнопку на сканере - он сам распознаёт штрих-код и вводит его. Причём это функция виндусовая : юсб-сканер штрих-кодов вводит сразу без всяких настроек в Ворд, Ексель и тд. Причём сразу автоматом происходит и перевод строки.Что собственно и происходит на моей форме - курсор перескакивает на следующю кнопку. Перевод фокуса обратно в текстбокс не работает...


naucat

может, как вариант, использовать таймер?после "AfterUpdate скана в окошкеText18 производится запись в таблицу"можно запустить таймер с timerinterval~100 и вернуть из события таймера фокус на Текст18