Можете да използвате действието SearchForRecord макрос в настолни бази данни на Access, за да потърсите конкретен запис в таблица, заявка, формуляр или отчет.

Настройка

Действието SearchForRecord макрос има следните аргументи:

Аргумент на действие

Описание

Тип на обекта

Въведете или изберете типа на обекта на базата данни, в който търсите. Можете да изберете таблица, заявка, формулярили отчет.

Име на обекта

Въведете или изберете конкретен обект, съдържащ записа, който да се търси. Падащият списък показва всички обекти на база данни от типа, който сте избрали за аргумента тип на обекта .

Запис

Задайте отправна точка и посока на търсенето.

Настройка

Описание

Предишна

Търси назад от текущия запис.

Next

Търси препращане от текущия запис.

Първи

Търсете препращане от първия запис. Това е стойността по подразбиране за този аргумент.

Фамилно

Търси назад от последния запис.

Условие Where

Въведете критериите за търсенето, като използвате същия синтаксис като клаузата за SQL WHERE, само без думата "WHERE". Например

Description = "Beverages"

За да създадете критерий, включващ стойност от текстово поле във формуляр, трябва да създадете израз, който обединява първата част от критерия с името на текстовото поле, съдържащо стойността, за която искате да търсите. Например следния критерий ще търси в полето Описание за стойността в текстовото поле с име txtDescription във формуляра с име frmCategories. Обърнете внимание на знака за равенство (=) в началото на израза и използването на единични кавички (') от двете страни на препратката към текстово поле:

="Description = '" & Forms![frmCategories]![txtDescription] & "'"

Забележки

  • В случаите, когато повече от един запис отговаря на критериите в аргумента условие Where , следните фактори определят кой запис е намерен:

    • Настройката за аргумент на запис    Вижте таблицата в раздела "Настройки" за повече информация за аргумента Record .

    • Редът на сортиране на записите    Например ако аргументът запис е зададен на първо, промяната на реда на сортиране на записите може да промени кой запис е намерен.

  • Обектът, зададен в аргумента за име на обект , трябва да бъде отворен, преди да се изпълни това действие. В противен случай възниква грешка.

  • Ако критерият в аргумента условие Where не е спазен, не възниква грешка и фокусът остава върху текущия запис.

  • При търсене на предишния или следващия запис търсенето не е "обтичане", когато достигне до края на данните. Ако няма допълнителни записи, които отговарят на критериите, не възниква грешка и фокусът остава върху текущия запис. За да се уверите, че е намерено съвпадение, можете да въведете условие за следващо действие и да направите това условие същото като критериите в аргумента Where условие .

  • За да изпълните действието SearchForRecord във VBA модул, използвайте метода SearchForRecord на обекта DoCmd .

  • Действието SearchForRecord макрос е подобно на действието на макроса FindRecord , но SearchForRecord има по-мощни функции за търсене. Действието FindRecord макрос се използва предимно за намиране на низове и дублира функционалните възможности на диалоговия прозорец " търсене ". Действието SearchForRecord макрос използва критерии, които са по-скоро като тези на филтър или SQL заявка. Следващият списък показва някои неща, които можете да правите с действието за SearchForRecord макрос:

    • Можете да използвате сложни критерии в аргумента условие Where , като например

Описание = "напитки" и Идкатегория = 11

  • Можете да препращате към полета, които са в източника на записи на формуляр или отчет, но не се показват във формуляра или отчета. В предишния пример нито Description , нито CategoryID трябва да се показват във формуляра или отчета, за да могат да работят критериите.

  • Можете да използвате логически оператори, като например <, >и илимежду. Действието FindRecord отговаря само на низове, които са равни, започват с или съдържат търсения низ.

Пример

Следващият макрос първо отваря таблицата "категории", като използва действието OpenTable . След това макросът използва действието SearchForRecord Macro, за да намери първия запис в таблицата, където полето Description е равно на "напитки."

Действие

Аргументи

OpenTable

Име на таблица: категории

Изглед: лист с данни

Режим на данни: Edit

SearchForRecord

Тип на обекта: таблица

Име на обект: категории

Запис: първо

Where условие: описание = "напитки"

Нуждаете се от още помощ?

Разширете уменията си
Преглед на обучението
Получавайте първи новите функции
Присъединете се към Microsoft приобщени

Беше ли полезна тази информация?

Доколко сте доволни от качеството на превода?
Какво е повлияло на вашия потребителски опит?

Благодарим ви за обратната връзка!

×