Puteți utiliza acțiunea de macrocomandă SetareValoare pentru a seta valoarea unui câmp Access, a control sau a proprietate pe un formular, un foaie de date de formular sau un raport.
Notă: Acțiunea de macrocomandă SetareValoare se poate utiliza pentru a seta valoarea unei proprietăți Access care returnează un obiect.
Notă: Această acțiune nu va fi permisă dacă baza de date nu este de încredere.
Setare
Acțiunea de macrocomandă SetareValoare are următoarele argumente.
Argument acțiune |
Descriere |
Element |
Numele câmpului, controlului sau proprietății a căror valoare doriți să o setați. Introduceți numele câmpului, controlului sau proprietății în caseta element din secțiunea argumente de acțiune din fereastra de proiectare a macrocomenzii. Trebuie să utilizați sintaxa completă pentru a face referire la acest element, cum ar fi controlname (pentru un control din formular sau raport din care s-a apelat macrocomandă ) sau formulare! numeformular! controlname. Acesta este un argument obligatoriu. |
Expresie |
expresie Access utilizează pentru a seta valoarea pentru acest element. Trebuie să utilizați întotdeauna sintaxa completă pentru a face referire la orice obiecte din expresie. De exemplu, pentru a mări valoarea unui control salarial dintr-un formular de angajați cu 10 procente, utilizați Forms!Employees!Salary*1.1. Acesta este un argument obligatoriu. Notă: Nu trebuie să utilizați semnul egal (=) înaintea expresiei din acest argument. Dacă faceți acest lucru, Access evaluează expresia, apoi utilizează această valoare ca expresie în acest argument. Acest lucru poate genera rezultate neașteptate dacă expresia este un șir. De exemplu, dacă tastați = "string1" pentru acest argument, Access evaluează mai întâi expresia ca string1. Apoi, utilizează string1 ca expresie în acest argument, așteptând să găsească un control sau o proprietate denumită string1 în formularul sau raportul care a denumit macrocomanda. |
Notă: Într-o bază de date Access (. mdb sau. accdb), faceți clic pe butonul Generare pentru a utiliza Generatorul de expresii pentru a crea o expresie pentru oricare dintre aceste argumente.
Observații
Puteți utiliza această acțiune pentru a seta o valoare pentru un câmp sau un control dintr-un formular, dintr-o foaie de date formular sau dintr-un raport. De asemenea, puteți seta valoarea pentru aproape toate proprietățile control, formular și raport în orice vizualizare. Pentru a afla dacă o anumită proprietate poate fi setată utilizând o macrocomandă și vizualizările în care poate fi setată, consultați subiectul de ajutor pentru acea proprietate în Visual Basic Editor.
De asemenea, puteți seta valoarea pentru un câmp dintr-un tabel subiacent al unui formular, chiar dacă formularul nu conține un control legat la câmp. Utilizați formularelede sintaxă! numeformular! denumirea câmpului calitate în caseta element pentru a seta valoarea pentru un astfel de câmp. De asemenea, puteți să faceți referire la un câmp dintr-un tabel subiacent al unui raport, utilizând rapoartelede sintaxă! reportname! denumirea câmpului calitate, dar trebuie să existe un control asupra raportului legat la acest câmp sau câmpul trebuie să fie menționat într-un control calculat din raport.
Dacă setați valoarea unui control dintr-un formular, acțiunea de macrocomandă SetareValoare nu declanșează regulile de validare la nivel de formular ale controlului, dar declanșează regulile de validare a nivelului de tabel subiacent, dacă controlul este un control legat. Acțiunea de macrocomandă SetareValoare declanșează, de asemenea, recalcularea, dar recalcularea poate să nu se întâmple imediat. Pentru a declanșa revopsirea imediată și a impune recalcularea la finalizare, utilizați acțiunea de macrocomandă RepictareObiect . Valoarea pe care o setați într-un control utilizând acțiunea de macrocomandă SetareValoare nu este afectată și de o mască de intrare setată în proprietatea InputMask a câmpului control sau de bază.
Pentru a modifica valoarea unui control, puteți utiliza acțiunea SetareValoare într-o macrocomandă specificată de proprietatea AfterUpdate a evenimentului din control. Cu toate acestea, nu puteți utiliza acțiunea SetareValoare într-o macrocomandă specificată de proprietatea unui eveniment BeforeUpdate de control pentru a modifica valoarea controlului (deși puteți utiliza acțiunea SetareValoare pentru a modifica valoarea altor controale). De asemenea, puteți utiliza acțiunea SetareValoare într-o macrocomandă specificată de proprietatea BeforeUpdate sau AfterUpdate a unui formular pentru a modifica valoarea oricăror controale din înregistrarea curentă.
Notă: Nu puteți utiliza acțiunea de macrocomandă SetareValoare pentru a seta valoarea următoarelor controale:
-
Controalele legate și controalele calculate din rapoarte.
-
Controale calculate în formulare.
Sfaturi
Puteți utiliza acțiunea de macrocomandă SetareValoare pentru a ascunde sau a afișa un formular în vizualizarea formular. Introduceți formulare! numeformular. Vizibil în caseta element și nu sau Da în caseta expresie . Setarea proprietății vizibile a unui formular modal nu ascunde formularul și o face nedetectabilă. Setarea proprietății la Da afișează formularul și o face modală din nou.
Modificarea valorii sau adăugarea de date noi într-un control utilizând acțiunea SetareValoare într-o macrocomandă nu declanșează evenimente precum BeforeUpdate, BeforeInsertsau modificarea care apar atunci când modificați sau introduceți date în aceste controale în interfața de utilizator. Aceste evenimente nu apar, de asemenea, dacă setați valoarea controlului utilizând un modul Visual Basic for Applications (VBA).
Această acțiune nu este disponibilă într-un modul VBA. Setați valoarea direct în VBA.
Exemplu
Setarea valorii unui control utilizând o macrocomandă
Următoarea macrocomandă deschide formularul Adăugare produse dintr-un buton din formularul furnizori. Afișează utilizarea acțiunilor de macrocomenzi Echo, Close, DeschidereFormular, SetareValoareși SaltLaControl . Acțiunea SetareValoare setează controlul IDFurnizor din formularul produse la furnizorul curent din formularul furnizori. Acțiunea SaltLaControl mută apoi focalizarea la câmpul IDCategorie, de unde puteți începe să introduceți date pentru noul produs. Această macrocomandă trebuie să fie atașată la butonul Adăugare produse din formularul furnizori.
Acțiune |
Argumente: Setare |
Comentariu |
Echo |
Echo on: nu |
Opriți actualizarea ecranului în timp ce rulează macrocomanda. |
Închidere |
Tip obiect: Formular Nume obiect: listă de produse Salvare: nu |
Închideți formularul listă de produse. |
DeschidereFormular |
Nume formular: produse Vizualizare: Formular Mod date: Adăugare Mod fereastră: Normal |
Deschideți formularul Products. |
SetareValoare |
Element: [formulare]! [Produse]! IDFurnizor Expresie: IDFurnizor |
Setați controlul IDFurnizor la furnizorul curent din formularul furnizori. |
SaltLaControl |
Nume control: IDCategorie |
Accesați controlul IDCategorie. |