Makrokomandos veiksmą SetValue galite naudoti norėdami nustatyti "Access" laukas, valdiklis arba ypatybė reikšmę forma, formoje duomenų lapas arba ataskaita.
Pastaba: Makrokomandos veiksmo SetValue negalima naudoti norint nustatyti "Access" ypatybės, kuri pateikia objektą, reikšmę.
Pastaba: Šis veiksmas nebus leidžiamas, jei duomenų bazė nepatikima.
Parametras
Makrokomandos veiksmas SetValue turi šiuos argumentus.
Veiksmo argumentas |
Aprašas |
Elementas |
Lauko, valdiklio arba ypatybės, kurios reikšmę norite nustatyti, pavadinimas. Įveskite lauko, valdiklio arba ypatybės pavadinimą lauke Elementas , esančiame makrokomandos kūrimo lango sekcijoje Veiksmo argumentai . Turite naudoti visą sintaksę šiam elementui nurodyti, pvz., valdiklio pavadinimas (formos ar ataskaitos valdikliui, iš kurio buvo iškviestas makrokomanda ) arba Forms!formos pavadinimas! valdiklio pavadinimas. Tai būtina argumentas. |
Reiškinys |
išraiška Access naudoja šio elemento reikšmei nustatyti. Visada turite naudoti visą sintaksę, kad nurodytumėte visus reiškinio objektus. Pavyzdžiui, norėdami padidinti formos Darbuotojai valdiklio Atlyginimas reikšmę 10 procentų, naudokite Forms!Employees!Salary*1.1. Tai būtina argumentas. Pastaba: Šiame argumente prieš išraišką neturėtų būti lygybės ženklo (=). Jei taip, "Access" įvertina reiškinį ir tada naudoja šią reikšmę kaip reiškinį šiame argumente. Tai gali pateikti netikėtų rezultatų, jei reiškinys yra eilutė. Pavyzdžiui, jei įvesite ="String1" šiam argumentui, "Access" pirmiausia įvertina reiškinį kaip String1. Tada jis naudoja String1 kaip reiškinį šiame argumente, tikėdamasi rasti valdiklį arba ypatybę String1 formoje arba ataskaitoje, kuri iškvietė makrokomandą. |
Pastaba: "Access" duomenų bazėje (.mdb arba .accdb) spustelėkite mygtuką Kurti , kad naudodami reiškinio daryklę sukurtumėte kurio nors iš šių argumentų reiškinį.
Pastabos
Šį veiksmą galite naudoti norėdami nustatyti formos, formos duomenų lapo ar ataskaitos lauko ar valdiklio reikšmę. Taip pat galite nustatyti beveik visų valdiklių, formų ir ataskaitų ypatybių reikšmę bet kuriame rodinyje. Norėdami sužinoti, ar tam tikra ypatybė gali būti nustatyta naudojant makrokomandą ir kokius rodinius ją galima nustatyti, žr. šios ypatybės žinyno temą "Visual Basic" Redaktorius.
Taip pat galite nustatyti formos pamatinės lentelės lauko reikšmę, net jei formoje nėra su lauku susieto valdiklio. Naudokite sintaksę Forms!formos pavadinimas! lauko pavadinimas lauke Elementas, kad nustatytumėte tokio lauko reikšmę. Taip pat galite nurodyti ataskaitos pamatinės lentelės lauką naudodami sintaksę Ataskaitos! ataskaitos pavadinimas! lauko pavadinimas, bet ataskaitoje turi būti su šiuo lauku susietas valdiklis arba laukas turi būti nurodytas ataskaitos apskaičiuojamasis valdiklis.
Jei formoje nustatote valdiklio reikšmę, makrokomandos veiksmas SetValue nesuaktyvina valdiklio formos lygio tikrinimo taisyklių, bet suaktyvina esamo lauko lentelės lygio tinkamumo taisykles, jei valdiklis yra susietasis valdiklis. Makrokomandos veiksmas SetValue taip pat suaktyvina perskaičiavimą, tačiau perskaičiavimas gali būti atliekamas ne iš karto. Norėdami iš karto perdažyti ir priverstinai perskaičiuoti iki užbaigimo, naudokite makrokomandos veiksmą RepaintObject . Reikšmė, kurią nustatote valdiklyje naudodami makrokomandos veiksmą SetValue , taip pat neturi įtakos įvesties šablonas, nustatyta valdiklio arba esamo lauko ypatybėje InputMask .
Norėdami pakeisti valdiklio reikšmę, galite naudoti veiksmą SetValue makrokomandoje, kurią nurodo valdiklio įvykio ypatybė AfterUpdate . Tačiau negalite naudoti veiksmo SetValue makrokomandoje, kurią nurodo valdiklio įvykio ypatybė BeforeUpdate , kad pakeistumėte valdiklio reikšmę (nors galite naudoti veiksmą SetValue kitų valdiklių reikšmei pakeisti). Taip pat galite naudoti veiksmą SetValue makrokomandoje, kurią nurodo formos ypatybės BeforeUpdate arba AfterUpdate , kad pakeistumėte bet kurių valdiklių, esančių dabartiniame įraše, reikšmę.
Pastaba: Makrokomandos veiksmo SetValue negalima naudoti šių valdiklių reikšmei nustatyti:
-
Ataskaitų susietuosius valdiklius ir skaičiavimų valdiklius.
-
Apskaičiuoti formų valdikliai.
Patarimai
Makrokomandos veiksmą SetValue galite naudoti norėdami slėpti arba rodyti formą formos rodinyje. Įveskite Forms!formname. Matomas lauke Elementas ir Ne arba Taip lauke Reiškinys. Nustačius modalinis formos ypatybę Visible kaip Ne, forma paslepia ir tampa be režimo. Nustačius ypatybės reikšmę Taip, rodoma forma ir ji vėl tampa modali.
Pakeitus valdiklio reikšmę arba įtraukiant naujų duomenų naudojant makrokomandos veiksmą SetValue , nesuaktyvinama tokia įvykių, kaip BeforeUpdate, BeforeInsert arba Change , kurie įvyksta, kai pakeičiate arba įvedate duomenis šiuose valdikliuose vartotojo sąsajoje. Šie įvykiai taip pat neįvyksta, jei nustatote valdiklio reikšmę naudodami "Visual Basic for Applications" (VBA) modulį.
Šio veiksmo VBA modulyje nėra. Nustatykite reikšmę tiesiogiai VBA.
Pavyzdys
Valdiklio reikšmės nustatymas naudojant makrokomandą
Ši makrokomanda atidaro formą Produktų įtraukimas iš mygtuko formoje Tiekėjai. Jis rodo makrokomandos veiksmų Aidas, Uždarymas, Atidarytiformą, SetValue ir Eitiįvaldiklį naudojimą. Veiksmas SetValue nustato formoje Produktai esantį valdiklį Tiekėjo ID kaip dabartinį tiekėją formoje Tiekėjai. Veiksmas Eitiįvaldiklį perkelia įvesties vietą į lauką CategoryID, kuriame galite pradėti įvesti naujo produkto duomenis. Šią makrokomandą reikia pridėti prie formos Tiekėjai mygtuko Įtraukti produktų.
Veiksmas |
Argumentai: parametras |
Komentaras |
Echo |
Aidas įjungtas: ne |
Sustabdykite ekrano naujinimą, kol vykdoma makrokomanda. |
Uždarymas |
Objekto tipas: Forma Objekto pavadinimas: produktų sąrašas Įrašyti: ne |
Uždarykite formą Produktų sąrašas. |
OpenForm |
Formos pavadinimas: Produktai Rodinys: Forma Duomenų režimas: įtraukti Lango režimas: Įprastas |
Atidarykite formą Produktai. |
Nustatyti reikšmę |
Elementas: [Forms]![ Produktai]! [Tiekėjo ID] Išraiška: Tiekėjo ID |
Formoje Tiekėjai valdiklį Tiekėjo ID nustatykite kaip dabartinį tiekėją. |
GoToControl |
Valdiklio pavadinimas: CategoryID |
Eikite į valdiklį CategoryID. |