Radnju makroa SetValue možete da koristite da biste postavili vrednost Access polje, kontrola ili svojstvo na obrazac, obrazac list sa podacima ili izveštaj.
Napomena: Radnju makroa SetValue ne možete da koristite da biste postavili vrednost Access svojstva koje vraća objekat.
Napomena: Ova radnja nije dozvoljena ako baza podataka nije pouzdana.
Postavka
Radnja makroa SetValue ima sledeće argumente.
Argument radnje |
Opis |
Stavka |
Ime polja, kontrole ili svojstva čiju vrednost želite da postavite. Unesite ime polja, kontrole ili svojstva u polje Stavka u odeljku Argumenti radnje prozora dizajna makroa. Morate da koristite punu sintaksu da biste uputili na ovu stavku, kao što je controlname (za kontrolu u obrascu ili izveštaju iz kojih je pozvana makro ) ili Forms! ime obrasca! controlname. Ovo je obavezan argument. |
Izraz |
The izraz Access koristi za postavljanje vrednosti za ovu stavku. Uvek morate da koristite punu sintaksu da biste uputili na objekte u izrazu. Na primer, da biste povećali vrednost u kontroli "Plata" u obrascu "Zaposleni" za 10 procenata, koristite Forms!Employees!Salary*1.1. Ovo je obavezan argument. Napomena: Ne bi trebalo da koristite znak jednakosti (=) pre izraza u ovom argumentu. Ako to uradite, Access procenjuje izraz, a zatim koristi tu vrednost kao izraz u ovom argumentu. Ovo može dati neočekivane rezultate ako je izraz niska. Na primer, ako otkucate ="Niska1" za ovaj argument, Access prvo procenjuje izraz kao Niska1. Zatim koristi nisku1 kao izraz u ovom argumentu, u očekivanju da pronađe kontrolu ili svojstvo pod imenom "Niska1" u obrascu ili izveštaju koji se zove makro. |
Napomena: U Access bazi podataka (.mdb ili .accdb) kliknite na dugme Napravi da biste koristili alatku "Izrada izraza" za kreiranje izraza za neki od ovih argumenata.
Napomene
Ovu radnju možete da koristite da biste postavili vrednost za polje ili kontrolu u obrascu, listu sa podacima obrasca ili izveštaju. Vrednost možete da postavite i za skoro sva svojstva kontrole, obrasca i izveštaja u bilo kom prikazu. Da biste saznali da li određeno svojstvo može da se podesi pomoću makroa i u koje prikaze se može postaviti, pogledajte temu pomoći za to svojstvo u programu Visual Basic Editor.
Vrednost za polje možete da postavite i u osnovnoj tabeli obrasca čak i ako obrazac ne sadrži kontrolu povezanu sa poljem. Koristite sintaksu Forms! ime obrasca! fieldname in the Item box to set the value for such a field. Pomoću sintakse Izveštaji možete da uputite na polje u osnovnoj tabeli izveštaja! ime izveštaja! ime polja, ali u izveštaju koji je povezan sa ovim poljem mora da postoji kontrola ili na polje mora da se upućuje u izračunata kontrola u izveštaju.
Ako postavite vrednost kontrole u obrascu, radnja makroa SetValue ne pokreće pravila za validaciju na nivou obrasca kontrole, ali aktivira osnovna pravila za validaciju na nivou tabele ako je kontrola povezana kontrola. Radnja makroa SetValue takođe pokreće ponovno izračunavanje, ali ponovno izračunavanje se možda neće odmah desiti. Koristite radnju makroa RepaintObject da biste odmah pokrenuli ponovno precrtavanje i nametnuli da se ponovno izračunavanje dovrši. Vrednost koju postavite u kontroli pomoću radnje makroa SetValue takođe ne utiče na maska za unos skupa podataka u svojstvu InputMask kontrole ili osnovnog polja.
Da biste promenili vrednost kontrole, možete da koristite radnju SetValue u makrou koji navodi svojstvo događaja AfterUpdate kontrole. Međutim, ne možete da koristite radnju SetValue u makrou koji navodi svojstvo događaja BeforeUpdate kontrole da biste promenili vrednost kontrole (iako radnju SetValue možete da koristite da biste promenili vrednost drugih kontrola). Radnju SetValue možete da koristite i u makrou koji navodi svojstvo obrasca BeforeUpdate ili AfterUpdate da biste promenili vrednost kontrola u trenutnom zapisu.
Napomena: Ne možete da koristite radnju makroa SetValue da biste postavili vrednost sledećih kontrola:
-
Povezane kontrole i izračunate kontrole u izveštajima.
-
Izračunate kontrole u obrascima.
Saveti
Radnju makroa SetValue možete da koristite da biste sakrili ili prikazali obrazac u prikazu obrasca. Unesite Forms!formname. Vidljivo u okviru Stavkai Ne ili Da u polju Izraz. Postavljanje svojstva modalni Vidljivo obrasca na opciju Ne skriva obrazac i čini ga bespomoćnim. Postavljanje svojstva na "Da" prikazuje obrazac i ponovo ga čini modalnim.
Promena vrednosti ili dodavanje novih podataka u kontrolu pomoću radnje SetValue u makrou ne pokreće događaje kao što su BeforeUpdate, BeforeInsert ili Change koji se javljaju kada promenite ili unesete podatke u ove kontrole u korisničkom interfejsu. Ovi događaji se takođe ne odvijaju ako podesite vrednost kontrole pomoću Visual Basic for Applications (VBA) modula.
Ova radnja nije dostupna u VBA modulu. Postavite vrednost direktno u VBA.
Primer
Postavljanje vrednosti kontrole pomoću makroa
Sledeći makro otvara obrazac Dodaj proizvode pomoću dugmeta u obrascu "Dobavljači". Prikazuje upotrebu radnji makroa Echo, Close, OpenForm, SetValue i GoToControl . Radnja SetValue postavlja kontrolu ID dobavljača u obrascu Proizvodi na trenutnog dobavljača u obrascu "Dobavljači". Radnja GoToControl zatim premešta fokus na polje IDkategorije, gde možete početi da unosite podatke za novi proizvod. Ovaj makro bi trebalo da bude priložen dugmetu Dodaj proizvode u obrascu "Dobavljači".
Radnja |
Argumenti: podešavanje |
Komentar |
Echo |
Eho uključen: ne |
Zaustavi ažuriranje ekrana dok je makro pokrenut. |
Zatvori |
Tip objekta: Obrazac Ime objekta: lista proizvoda Sačuvaj: ne |
Zatvorite obrazac "Lista proizvoda". |
OpenForm |
Ime obrasca: Proizvodi Prikaz: Obrazac Režim podataka: dodavanje Režim prozora: Normalno |
Otvorite obrazac "Proizvodi". |
Setvalue |
Stavka: [Obrasci]! [Proizvodi]! [ID dobavljača] Izraz: SupplierID |
Postavite kontrolu IDD-a dobavljača na trenutnog dobavljača u obrascu "Dobavljači". |
GoToControl |
Ime kontrole: ID kategorije |
Idite na kontrolu ID kategorije. |