Событие Report.KeyPress (Access)

Событие KeyPress возникает, когда пользователь нажимает и отпускает клавишу или комбинацию клавиш, соответствующую коду ANSI, пока отчет имеет фокус. Это событие также возникает при отправке нажатия клавиши ANSI в отчет с помощью действия SendKeys в макросе или инструкции SendKeys в Visual Basic.

Синтаксис

expression. KeyPress (KeyAscii)

Выражение Переменная, представляющая объект Report .

Параметры

Имя Обязательный или необязательный Тип данных Описание
KeyAscii Обязательный Integer Возвращает числовой код ключа ANSI. Аргумент KeyAscii передается по ссылке; при изменении объекта отправляется другой символ в объект . Установка аргумента KeyAscii значения 0 отменяет нажатие клавиши, чтобы объект не распознавал нажатие клавиши.

Замечания

Чтобы выполнить макрос или процедуру события при возникновении этого события, задайте для свойства OnKeyPress имя макроса или [Процедура события].

Отчет также будет получать все события клавиатуры, даже те, которые происходят для элементов управления, если для свойства KeyPreview отчета задано значение Да. При этом параметре свойства все события клавиатуры происходят сначала для отчета, а затем для элемента управления с фокусом. Вы можете отвечать на определенные клавиши, нажатые в отчете, независимо от того, какой элемент управления имеет фокус. Например, может потребоваться, чтобы сочетание клавиш CTRL+X всегда выполняло одно и то же действие в отчете.

Если вы нажимаете и удерживаете клавишу ANSI, события KeyDown и KeyPress чередуются несколько раз (KeyDown, KeyPress, KeyDown, KeyPress и т. д.), пока вы не отпустите ключ, а затем произойдет событие KeyUp .

Событие KeyPress может включать любой печатный символ клавиатуры, клавишу CTRL в сочетании с символом из стандартного алфавита или специальным символом, а также клавишу ВВОД или Backspace. Используйте процедуры событий KeyDown и KeyUp для обработки любых нажатий клавиш, не распознаваемых событием KeyPress , таких как функциональные клавиши, клавиши навигации и любые их сочетания с модификаторами клавиатуры (ALT, SHIFT или CTRL). В отличие от событий KeyDown и KeyUp , событие KeyPress не указывает на физическое состояние клавиатуры; Вместо этого он указывает символ ANSI, соответствующий нажатию клавиши или сочетания клавиш.

KeyPress интерпретирует прописные и нижние регистры каждого символа как отдельные коды ключей и, следовательно, как два отдельных символа.

Примечание.

Клавиша Backspace является частью набора символов ANSI, но клавиша Delete — нет. При удалении символа в элементе управления с помощью клавиши Backspace возникает событие KeyPress ; Если вы используете ключ Delete, это не так.

События KeyDown и KeyPress возникают при нажатии или отправке клавиши ANSI. Событие KeyUp возникает после любого события для элемента управления, вызванного нажатием или отправкой клавиши. Если нажатие клавиши приводит к переходу фокуса с одного элемента управления на другой, для первого элемента управления возникает событие KeyDown , а для второго — события KeyPress и KeyUp .

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.