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

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

Забележка: Не можете да използвате макрокомандата SetValue , за да зададете стойността на свойство на Access, което връща обект.

Забележка: Това действие няма да бъде разрешено, ако базата данни не е надеждна.

Настройка

Макрокомандата SetValue има следните аргументи:

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

Описание

Елемент

Името на полето, контролата или свойството, чиято стойност искате да зададете. Въведете полето, контролата или името на свойството в полето Елемент в секцията Аргументи на действие на прозореца за проектиране на макроси. Трябва да използвате пълния синтаксис, за да препратите към този елемент, като например име на контрола (за контрола във формуляра или отчета, от който е извикан макрос ) или Forms! име на формуляр! controlname. Това е задължителен аргумент.

Израз

израз Access използва, за да зададе стойността за този елемент. Винаги трябва да използвате пълния синтаксис, за да препращате към обекти в израза. Например за да увеличите стойността на контрола за заплата във формуляр за служители с 10 процента, използвайте Forms!Employees!Salary*1.1. Това е задължителен аргумент.

Забележка: Не трябва да използвате знак за равенство (=) преди израза в този аргумент. Ако го направите, Access оценява израза и след това използва тази стойност като израз в този аргумент. Това може да доведе до неочаквани резултати, ако изразът е низ.

Ако например въведете ="Низ1" за този аргумент, Access първо изчислява израза като Низ1. След това използва String1 като израз в този аргумент, очаквайки да намери контрола или свойство с име String1 във формуляра или отчета, който се нарича макрос.

Забележка: В база данни на Access (.mdb или .accdb) щракнете върху бутона "Компилация ", за да използвате конструктора на изрази, за да създадете израз за някой от тези аргументи.

Забележки

Можете да използвате това действие, за да зададете стойност за поле или контрола във формуляр, лист с данни на формуляр или отчет. Можете също да зададете стойността за почти всички свойства на контрола, формуляр и отчет във всеки изглед. За да разберете дали определено свойство може да бъде зададено с помощта на макрос и в кои изгледи може да бъде зададено, вж. помощната тема за това свойство в редактора на Visual Basic.

Можете също да зададете стойността за поле в базовата таблица на формуляра дори ако формулярът не съдържа контрола, обвързана с полето. Използвайте синтаксиса Forms! име на формуляр! име на поле в полето Елемент , за да зададете стойността за такова поле. Можете също да препращате към поле в базовата таблица на отчета с помощта на синтактичните отчети! име на отчет! име_на_поле, но трябва да има контрола в отчета, обвързан с това поле, или полето трябва да бъде посочено в изчисляема контрола на отчета.

Ако зададете стойността на контрола във формуляр, макрокомандата SetValue не задейства валидиращите правила на ниво формуляр на контролата, но задейства правилата за проверка на ниво таблица на съответното поле, ако контролата е обвързана контрола. Макрокомандата SetValue също така задейства преизчисляване, но преизчисляването може да не се случи веднага. За да задействате незабавно пребоядисване и да наложите преизчисляването да завърши, използвайте макрокомандата RepaintObject . Стойността, която зададете в контрола с помощта на макрокомандата SetValue , също не се влияе от маска за въвеждане, зададен в свойството InputMask на контролата или съответното поле.

За да промените стойността на контрола, можете да използвате действието SetValue в макрос, зададен от свойството на събитието AfterUpdate на контролата. Не можете обаче да използвате действието SetValue в макрос, зададен от свойството за събитие BeforeUpdate на контролата, за да промените стойността на контролата (въпреки че можете да използвате действието SetValue , за да промените стойността на други контроли). Можете също да използвате действието SetValue в макрос, зададен от свойството BeforeUpdate или AfterUpdate на формуляр, за да промените стойността на всички контроли в текущия запис.

Забележка: Не можете да използвате макрокомандата SetValue , за да зададете стойността на следните контроли:

  • Обвързани контроли и изчисляеми контроли в отчети.

  • Изчисляеми контроли във формуляри.

Съвети

Можете да използвате макрокомандата SetValue, за да скриете или покажете формуляр в изглед за формуляри. Въведете Forms!formname. Видимо в полето Елемент и Не или Да в полето Израз . Задаването на свойството Visible на формуляр за модален на "Не" скрива формуляра и го прави безрежемен. Задаването на свойството на Да показва формуляра и го прави отново модален.

Промяната на стойността на или добавянето на нови данни в контрола с помощта на действието SetValue в макрос не задейства събития, като например BeforeUpdate, BeforeInsert или Change , които възникват, когато променяте или въвеждате данни в тези контроли в потребителския интерфейс. Тези събития също не възникват, ако зададете стойността на контролата с помощта на модул на Visual Basic for Applications (VBA).

Това действие не е налично в модул на VBA. Задайте стойността директно във VBA.

Пример

Задаване на стойността на контрола с помощта на макрос

Следващият макрос отваря формуляра "Добавяне на продукти" от бутон във формуляра "Доставчици". Той показва използването на макрокомандите Echo, Close, OpenForm, SetValue и GoToControl . Действието SetValue задава контролата SupplierID във формуляра "Продукти" на текущия доставчик във формуляра "Доставчици". Действието GoToControl след това премества фокуса върху полето CategoryID, където можете да започнете да въвеждате данни за новия продукт. Този макрос трябва да бъде прикачен към бутона "Добавяне на продукти" във формуляра "Доставчици".

Действие

Аргументи: настройка

Коментар

Echo

Включено ехо: не

Спрете актуализирането на екрана, докато се изпълнява макросът.

Затвори

Тип на обекта: Формуляр

Име на обекта: Списък на продуктите

Запиши: не

Затворете формуляра "Списък на продуктите".

OpenForm

Име на формуляр: Продукти

Изглед: Формуляр

Режим на данни: Добавяне

Режим на прозорец: Нормален

Отворете формуляра "Продукти".

SetValue

Елемент: [Формуляри]! [Продукти]! [ИД на доставчик]

Израз: SupplierID

Задайте контролата SupplierID на текущия доставчик във формуляра Suppliers.

GoToControl

Име на контрола: CategoryID

Отидете на контролата CategoryID.

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

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

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

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

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

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

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

×