Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на Basic / VBA


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Basic/VBA

Выпуск № 248
от 27.03.2006, 17:05

Администратор:Калашников О.А.
В рассылке:Подписчиков: 126, Экспертов: 18
В номере:Вопросов: 2, Ответов: 4


Вопрос № 38137: Уважаемые Эксперты, здравствуйте! Пожалуйста, подскажите, как проверить текстовое поле в Access 2002 на нулевое(пустое) значение. Почему не работает следующий код:...
Вопрос № 38170: Уважаемые эксперты! Как передать фокус следующему и предыдущему элеменам управления по свойству TabIndex (нужен пробег по элементам управления с помощью клавиш-стрелок)?...

Вопрос № 38.137
Уважаемые Эксперты, здравствуйте!
Пожалуйста, подскажите, как проверить текстовое поле в Access 2002 на нулевое(пустое) значение. Почему не работает следующий код:

Приложение:

Отправлен: 21.03.2006, 18:54
Вопрос задал: AJS (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Genyaa
Здравствуйте, AJS!

Сделайте небольшую хитрость... (Access действительно не обрабатывает попытку сравнения значения поля с Null)

Напишите так, как я написал в приложении...

Впрочем, ту же операцию в Access, как мне кажется, проще сделать на уровне свойств поля (свойства "Условие на значение" и "Сообщение об ошибке"). Тогда код обработчика событий "освобождается от чисто технических деталей"... но я не настаиваю... бывает случае, когда выглядит лучше сделать в коде.

Приложение:

Ответ отправил: Genyaa (статус: 2-ой класс)
Ответ отправлен: 21.03.2006, 22:07

Отвечает: AlexanderZh
Здравствуйте, AJS!
на null проверяют так: if IsNull( имя поля ) = true
Ответ отправил: AlexanderZh (статус: 5-ый класс)
Ответ отправлен: 22.03.2006, 00:16
Оценка за ответ: 5


Вопрос № 38.170
Уважаемые эксперты! Как передать фокус следующему и предыдущему элеменам управления по свойству TabIndex (нужен пробег по элементам управления с помощью клавиш-стрелок)?
Отправлен: 22.03.2006, 01:15
Вопрос задал: Александр А.А. (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Genyaa
Здравствуйте, Александр А.А.!

TabIndex - свойство, дающее знать (или устанавливать) порядковый номер элемента на форме при переходе по <Tab>.

SetFocus - метод, устанавливающий фокус на элементе.

В приложении пример использования...

При клике на форме макрос пробежится фокусом по всем элементам формы UserForm1 в порядке их TabIndex со скоростью - каждый следующий элемент в секунду.

Приложение:

Ответ отправил: Genyaa (статус: 2-ой класс)
Ответ отправлен: 22.03.2006, 11:13
Оценка за ответ: 5
Комментарий оценки:
Почему вы шагаете с i=1, j=1, а не так:
For j = 0 To UserForm1.Controls.Count-1
For i = 0 To UserForm1.Controls.Count-1
If UserForm1.Controls(i ).TabIndex = j Then UserForm1.Controls(i).SetFocus
А что нет методов, функций для определения контрола с предыдущим- следующим индексом? Кроме того, в этом цикле надо ещё пропускать лэйбелы :)

Отвечает: Залетин Виталий Викторович
Здравствуйте, Александр А.А.!
ТУт событие KeyDown надо обрабатывать, но явно указывать контрол. Например:
Private Sub Text1_KEydown(...)
If keyCode=vbKeyLeft Then Text2.SetFocus
End Sub
---------
Учиться никогда не поздно. Особенно программированию!
Ответ отправил: Залетин Виталий Викторович (статус: Студент)
Ответ отправлен: 25.03.2006, 16:17


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2006, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Версия системы: 4.20 (beta) от 17.03.2006
Яндекс Rambler's Top100

В избранное