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

Можете да използвате макрокомандата 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 , като например

Description = "Напитки" и CategoryID = 11

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

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

Пример

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

Действие

Аргументи

Отворена таблица

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

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

Режим на данни: редактиране

SearchForRecord

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

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

Запис: първи

Условие Where: Description = "Beverages"

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

Искате ли още опции?

Разгледайте ползите от абонамента, прегледайте курсовете за обучение, научете как да защитите устройството си и още.

Общностите ви помагат да задавате и отговаряте на въпроси, да давате обратна връзка и да получавате информация от експерти с богати знания.

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

Доколко сте доволни от качеството на езика?
Какво е повлияло на вашия потребителски опит?
Като натиснете „Подаване“, вашата обратна връзка ще се използва за подобряване на продуктите и услугите на Microsoft. Вашият ИТ администратор ще може да събира тези данни. Декларация за поверителност.

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

×