Pomocí akce makra Nastavit hodnotu můžete nastavit hodnotu accessového Pole, Ovládací prvek nebo Vlastnost na Formulář, Datový list formuláře nebo Sestava.
Poznámka: Akci makra SetValue nelze použít k nastavení hodnoty accessové vlastnosti, která vrací objekt.
Poznámka: Tato akce nebude povolena, pokud databáze není důvěryhodná.
Nastavení
Akce makra Nastavit hodnotu má následující argumenty.
Akční argument |
Popis |
Položka |
Název pole, ovládacího prvku nebo vlastnosti, jejíž hodnotu chcete nastavit. Do pole Položka v části Argumenty akce v okně návrhu makra zadejte název pole, ovládacího prvku nebo vlastnosti. K odkazování na tuto položku musíte použít úplnou syntaxi, například název ovládacího prvku (ovládací prvek ve formuláři nebo sestavě, ze kterého byl Makro volán) nebo Formuláře! formname! controlname. Zadání tohoto argumentu je povinné. |
Expression |
Výraz Access používá k nastavení hodnoty této položky. Pro odkaz na objekty ve výrazu musíte vždy použít úplnou syntaxi. Pokud například chcete zvýšit hodnotu v ovládacím prvku Mzda ve formuláři Zaměstnanci o 10 procent, použijte Forms!Employees!Salary*1.1. Zadání tohoto argumentu je povinné. Poznámka: Před výrazem v tomto argumentu byste neměli používat znaménko rovná se (=). Pokud ano, Access výraz vyhodnotí a pak použije tuto hodnotu jako výraz v tomto argumentu. To může vést k neočekávaným výsledkům, pokud je výrazem řetězec. Pokud například pro tento argument zadáte ="Řetězec1" , Access nejprve vyhodnotí výraz jako Řetězec1. Potom jako výraz v tomto argumentu použije Řetězec1 a očekává, že ve formuláři nebo sestavě, který nazývá makro, najde ovládací prvek nebo vlastnost s názvem String1. |
Poznámka: V accessové databázi (.mdb nebo .accdb) klikněte na tlačítko Sestavit a použijte Tvůrce výrazů k vytvoření výrazu pro některý z těchto argumentů.
Poznámky
Pomocí této akce můžete nastavit hodnotu pole nebo ovládacího prvku ve formuláři, datovém listu formuláře nebo sestavě. Můžete také nastavit hodnotu pro téměř všechny vlastnosti ovládacího prvku, formuláře a sestavy v libovolném zobrazení. Pokud chcete zjistit, jestli je možné nastavit konkrétní vlastnost pomocí makra a v jakých zobrazeních ji lze nastavit, přečtěte si téma nápovědy pro danou vlastnost v editoru jazyka Visual Basic.
Můžete také nastavit hodnotu pole v podkladové tabulce formuláře, i když formulář neobsahuje ovládací prvek vázaný na pole. Použijte syntaxi Forms! formname! fieldname v poli Položka a nastavte hodnotu pro takové pole. Můžete také odkazovat na pole v podkladové tabulce sestavy pomocí syntaxe Sestavy! reportname! název_pole, ale v sestavě musí být ovládací prvek svázaný s tímto polem, nebo na toto pole musí odkazovat v Vypočítaný ovládací prvek v sestavě.
Pokud nastavíte hodnotu ovládacího prvku ve formuláři, akce makra SetValue neaktivuje ověřovací pravidla na úrovni formuláře ovládacího prvku, ale aktivuje ověřovací pravidla na úrovni tabulky podkladového pole, pokud je ovládací prvek vázaný. Akce makra Nastavit hodnotu také aktivuje přepočet, ale k přepočítání nemusí dojít okamžitě. Pokud chcete aktivovat okamžité překreslení a vynutit přepočet k dokončení, použijte akci makra RepaintObject . Hodnota, kterou nastavíte v ovládacím prvku pomocí akce makra SetValue , není také ovlivněna Vstupní maska nastavenou ve vlastnosti InputMask ovládacího prvku nebo podkladového pole.
Pokud chcete změnit hodnotu ovládacího prvku, můžete použít akci SetValue v makrech určeném vlastností události AfterUpdate ovládacího prvku. Akci SetValue však nelze použít v makrech určených vlastností události BeforeUpdate ovládacího prvku ke změně hodnoty ovládacího prvku (i když můžete použít akci SetValue ke změně hodnoty jiných ovládacích prvků). Můžete také použít akci SetValue v makrech určených vlastností BeforeUpdate nebo AfterUpdate formuláře ke změně hodnoty všech ovládacích prvků v aktuálním záznamu.
Poznámka: Akci makra SetValue nemůžete použít k nastavení hodnoty následujících ovládacích prvků:
-
Vázané ovládací prvky a počítané ovládací prvky v sestavách
-
Počítané ovládací prvky ve formulářích
Tipy
Pomocí akce makra NastavitHodnotu můžete formulář ve formulářovém zobrazení skrýt nebo zobrazit. Zadejte Forms!formname. Viditelné v poli Položka a Ne nebo Ano v poli Výraz . Nastavením vlastnosti Visible formuláře Modální na Hodnotu Ne formulář skryjete a nastavíte ho bez režimu. Když nastavíte vlastnost Ano, formulář se znovu změní na modální.
Změna hodnoty ovládacího prvku nebo přidání nových dat pomocí akce SetValue v makrech neaktivuje události, jako je BeforeUpdate, BeforeInsert nebo Change , ke kterým dochází při změně nebo zadání dat v těchto ovládacích prvcích v uživatelském rozhraní. K těmto událostem také nedochází, pokud nastavíte hodnotu ovládacího prvku pomocí modulu jazyka Visual Basic for Applications (VBA).
Tato akce není dostupná v modulu VBA. Nastavte hodnotu přímo v jazyce VBA.
Příklad
Nastavení hodnoty ovládacího prvku pomocí makra
Následující makro otevře formulář Přidat produkty z tlačítka ve formuláři Dodavatelé. Zobrazuje použití akcí makra Echo, Close, OpenForm, SetValue a GoToControl . Akce SetValue nastaví ovládací prvek SupplierID ve formuláři Products na aktuálního dodavatele ve formuláři Dodavatelé. Akce GoToControl pak přesune fokus na pole CategoryID, kam můžete začít zadávat data pro nový produkt. Toto makro by mělo být připojené k tlačítku Přidat produkty ve formuláři Dodavatelé.
Akce |
Argumenty: Nastavení |
Komentář |
Echo |
Ozvěna zapnuto: Ne |
Zastavte aktualizaci obrazovky, když je makro spuštěné. |
Zavřít |
Typ objektu: Formulář Název objektu: Seznam produktů Uložit: Ne |
Zavřete formulář Seznam produktů. |
OtevřítFormulář |
Název formuláře: Produkty Zobrazit: Formulář Režim dat: Přidat Režim okna: Normální |
Otevřete formulář Produkty. |
Setvalue |
Položka: [Formuláře]! [Produkty]! [ID dodavatele] Výraz: SupplierID |
Nastavte ovládací prvek SupplierID na aktuálního dodavatele ve formuláři Dodavatelé. |
PřejítNaOvládacíPrvek |
Název ovládacího prvku: CategoryID |
Přejděte na ovládací prvek CategoryID. |