MS Access - Подстановочные знаки
Подстановочные знаки - это специальные символы, которые могут заменять неизвестные символы в текстовом значении и удобны для поиска нескольких элементов с похожими, но не идентичными данными. Подстановочные знаки также могут помочь в получении базы данных по заданному шаблону.
Access поддерживает два набора подстановочных знаков, поскольку он поддерживает два стандарта для языка структурированных запросов.
- ANSI-89
- ANSI-92
Как правило, вы используете подстановочные знаки ANSI-89 при запуске queries и find-and-replace операции с базами данных Access, такими как *.mdb и *.accdb файлы.
Подстановочные знаки ANSI-92 используются при выполнении запросов к проектам Access - файлам доступа, подключенным к базам данных Microsoft SQL Server. В проектах Access используется стандарт ANSI-92, поскольку SQL Server использует этот стандарт.
Подстановочные знаки ANSI-89
В следующей таблице перечислены символы, поддерживаемые ANSI-89 -
символ | Описание | пример |
---|---|---|
* | Соответствует любому количеству символов. Вы можете использовать звездочку (*) в любом месте строки символов. | wh* находит что, белое и почему, но не какое-то время или часы. |
? | Соответствует любому буквенному символу. | B?ll находит мяч, колокольчик и счет. |
[] | Соответствует любому одиночному символу в скобках. | B[ae]ll находит мяч и колокольчик, но не счет. |
! | Соответствует любому символу, не указанному в скобках. | b[!ae]ll находит клюв и быка, но не мяч или колокольчик. |
- | Соответствует любому из диапазона символов. Вы должны указать диапазон в порядке возрастания (от A до Z, а не от Z до A). | b[a-c]d находит bad, bbd и bcd. |
# | Соответствует любому числовому символу. | 1#3S находит 103, 113 и 123. |
Подстановочные знаки ANSI-92
В следующей таблице перечислены символы, поддерживаемые ANSI-92 -
символ | Описание | пример |
---|---|---|
% | Соответствует любому количеству символов. Его можно использовать как первый или последний символ в строке символов. | wh% находит что, белое и почему, но не какое-то время или часы. |
_ | Соответствует любому буквенному символу. | B_ll находит мяч, колокольчик и счет. |
[] | Соответствует любому одиночному символу в скобках. | B[ae]ll находит мяч и колокольчик, но не счет. |
^ | Соответствует любому символу, не указанному в скобках. | b[^ae]ll находит клюв и быка, но не мяч или колокольчик. |
- | Соответствует любому из диапазона символов. Вы должны указать диапазон в порядке возрастания (от A до Z, а не от Z до A). | b[a-c]d находит bad, bbd и bcd. |
пример
Давайте теперь посмотрим на простой пример использования этих подстановочных знаков, открыв дизайн запроса.
Добавьте выделенные таблицы и закройте Show Table диалоговое окно.

Добавьте поля в сетку запроса, которые вы хотите видеть в качестве результата запроса.

Запустите свой запрос.

Давайте снова перейдем к query design и добавьте запрос имени проекта.

Теперь запустите свой запрос и предположим, что вы не знаете точное название проекта, но знаете, что название проекта содержит слова «зелье». НажмитеOk.

Вышеупомянутый шаг не дает никакого результата. Это потому, что Access ищет точное совпадение вproject name field. Он ищет проект, в котором есть словоpotion в его имени.
Если вы хотите, чтобы пользователи могли вводить подстановочные знаки для замены неизвестных символов, вам необходимо настроить критерии и включить оператор like.

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

Предположим, вы знаете, что слово potion где-то в названии появляется, но вы не знаете, где именно.
Вы можете добавить *, чтобы заменить любое количество символов перед словом зелье, а затем добавить еще один * после. НажмитеOk.


Пользователям всегда полезно знать, какие подстановочные знаки они могут вводить. Но есть пользователи, которые могут не знать подстановочные знаки, которые они могут и не могут вводить. В этом случае вы можете сами ввести подстановочные знаки.
В этой ситуации в промежутке между Likeоператора и нашего запроса параметра, мы можем добавить эти подстановочные знаки, и теперь у нас есть очень специфический способ написать это. После словаlikeв кавычках введите подстановочный знак, который мы используем. В этом случае мы использовали «*» для замены любого количества символов. Теперь мы добавим это к параметру. Для этого нам понадобится амперсанд(&)символ и пробел. Теперь мы повторим этот шаг и добавим еще один амперсанд (&), потому что мы присоединяем этот подстановочный знак к любому критерию, введенному пользователем для этого имени проекта, а затем «*» в кавычках.

Давайте теперь снова запустим наш запрос. Введите словоpotion в командной строке без подстановочных знаков.

Теперь запрос будет отслеживать эти подстановочные знаки по обе стороны от введенного здесь текста. Нам нужно просто ввести зелье и нажать ввод.

Теперь мы получаем результаты, которые искали, и результаты будут одинаковыми независимо от того, что вводят пользователи.
Допустим, мы хотим найти каждый проект, в названии которого есть слово «the». Затем вам нужно просто ввести слово иEnter или щелкните Ok.


С помощью этого запроса становится проще искать проекты, в названии которых есть слово «the». 2 - й уровень результатов может также включать в себя имена проектов со словом «мать» , где «» является частью слова.