Access 2002

Строковые значения


Это означает, что строковые значения можно заключать не в апострофы, а в символы «#», вследствие чего подобные значения могут содержать сколько угодно апострофов и их даже не нужно дублировать — ADO сможет обработать такой критерий поиска. Однако и это не является решением проблемы. Как быть, если искомое строковое значение содержит символы «#»? Думаете, их можно продублировать? Не получится. Кавычки дублировать можно, а символы «#» — нельзя (ADO не воспринимает их как один символ). В настоящее время не существует решения этой проблемы. Поэтому класс IncrementalSearch сначала пытается найти строковое значение, ограничив его апострофами. Если это не удается (из-за описанной выше ошибки), программа пытается ограничить искомую строку символвми «#». Если же и это приводит к ошибке (в таком случае введенное пользователем значение содержит несколько апострофов и хоть один символ «#»), класс IncrementalSearch выводит на экран соответствующее сообщение. Впрочем, вероятность такой ситуации невелика.

Вероятно, вы заметили, что когда пользователь покидает список или щелкает на нем мышью, класс IncrementalSearch копирует текущее значение списка в текстовое поле. На наш взгляд, это разумное и естественное поведение. Подобным образом работают и поля со списками, у которых свойство AutoExpand имеет значение Yes.

В заключение перечислим условия, при которых может использоваться описанный нами класс.

Свойство списка RowSource должно содержать либо имя таблицы/запроса, либо строку SQL без символов подстановки.

Если свойство списка RowSource содержит имя таблицы, в списке может выводиться не тот столбец, который присоединен к ее полю. В этом случае вы должны задать значения для двух свойств объекта Incremental Search — Bound- Field и DisplayField (если они одинаковы, достаточно задать значение только для свойства DisplayField).

Комментарии закрыты