Access 2002

Критерий поиска


Все наши попытки передать ему значения с продублированными кавычками ничего не дали, а потому мы предлагаем вам использовать функцию наподобие adhHandle- Quotes, действующую не слишком изящно, по наверняка. Код функции adhHand- leQuotes, которую вы найдете в модуле basHandl eQuotes, мы привели  7.6. Функция будет работать не только с двойными кавычками, но и с любым другим символом-ограничителем, который вы передадите ей вторым параметром.

Функция adhHandleQuotes принимает еще один параметр, в котором ей можно передать символ-ог- раничитель. Поскольку в DAO ограничителями строк могут служить только двойные кавычки, мы сделали этот параметр необязательным. Хотя нам это правило кажется странным, VBA интерпретирует два подряд идущих символа кавычек внутри строки, ограниченной такими же кавычками, как один символ. К сожалению, метод DAO FindFirst так не работает. Если передать ему критерий поиска, содержащий строковое значение с парой кавычек внутри, он воспримет это как ошибку. Если бы он работал так же, как и VBA, код функции adhHandleQuotes намного бы упростился: ему достаточно было бы заменить один символ-ограничитель двумя.

Приступая к работе над этой книгой, мы планировали написать новый вариант главы 5, полностью посвятив ее объектам ADO (ActiveX Data Objects), и никогда больше не упоминать о DAO (Data Access Objects) — разве что в контексте старых версий Access. Однако оказалось, что для Access библиотека DAO пока еще не ушла в прошлое. (Более подробные сведения об обеих библиотеках объектов и их назначении вы найдете в главе 5.)

Дело обстоит так. В Access 2002 ADO является основной технологией доступа к данным, но при работе с данными, сохраненными в MDB-файлах ее работа не настолько эффективна, как у ядра базы Jet и DAO.

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