Как уже сказал JohnFx, использование функций VBA (независимо от того, встроены они или написаны вами) должны работать.
Если вы не можете заставить его работать с функцией VBA в запросе (по какой-либо причине), возможно, было бы возможно сделать все это для каждого кода?
Если это одноразовое действие и / или не критично для производительности, вы можете просто загрузить всю таблицу в набор записей, просмотреть ее и выполнить замену отдельно для каждой строки.
EDIT:
Ладно, это совсем другое дело, когда вы запрашиваете базу данных Access из приложения .net.
В этом случае невозможно использовать какие-либо встроенные или самописные функции VBA, потому что .net их не знает. Ни за что.
Итак, какие еще есть варианты?
Если я вас правильно понял, это не разовое действие ... вам нужно делать это, заменяя вещи каждый раз, когда кто-то использует вашу страницу поиска , правильно?
В этом случае я бы сделал что-то совершенно другое.
Даже если замена в запросе сработает, с точки зрения производительности это не лучший вариант, поскольку, скорее всего, это замедлит работу вашей базы данных.
Если вы не так часто записываете в свою базу данных, но делаете много чтений (что, по вашему описанию, имеет место), я бы сделал следующее:
- Добавить столбец «TelNumberSearch» в вашу таблицу
- Каждый раз, когда вы сохраняете запись, вы сохраняете номер телефона в столбце "TelNumber", и вы делаете замену на номере телефона и сохраняете удаленный номер в столбец "TelNumberSearch"
-> Когда вы выполняете поиск, у вас уже есть столбец TelNumberSearch со всеми вычеркнутыми числами ... нет необходимости удалять их снова при каждом поиске. И у вас все еще есть столбец с исходным номером (с альфа-символами) для отображения.
Конечно, вам нужно заполнить новый столбец один раз, но это одноразовое действие, так что в этом случае все в порядке, просматривая записи и выполняя отдельную замену для каждого.