Dejanje ApplyFilter lahko uporabite za uporabo stavka filter, poizvedba ali SQL WHERE v stavku Tabela, obrazec ali poročilo, če želite omejiti ali razvrstiti zapise v tabeli ali zapise iz temeljne tabele ali poizvedbe obrazca ali poročila. Za poročila lahko to dejanje uporabite le v makro, ki je določena z lastnostjo dogodka OnOpen v poročilu.
Opomba: To dejanje lahko uporabite za uporabo stavka SQL WHERE le, če uporabljate strežniško filtriranje. Strežniškega filtriranja ni mogoče uporabiti v viru zapisov shranjene procedure.
Opomba: Dejanje makra »ApplyFilter« ni na voljo v programih Access Web App.
Nastavitev
V dejanju ApplyFilter so ti argumenti:
Argument dejanja |
Opis |
Ime filtra |
Ime filtra ali poizvedbe, ki omeji ali razvrsti zapise v tabeli, obrazcu ali poročilu. Vnesite ime obstoječe poizvedbe ali filter, ki je bil shranjen kot poizvedba v polju Ime filtra v razdelku Argumenti dejanja v podoknu graditelja makrov. Opomba: Če uporabite to dejanje za uporabo strežniškega filtriranja, mora biti argument Ime filtra prazen. |
Pogoj Where |
Veljaven stavek SQL WHERE (brez besede WHERE) ali izraz, ki omeji zapise v tabeli, obrazcu ali poročilu. Opomba: V izrazu argumenta Pogoj Where je na levi strani izraza po navadi ime polja iz osnovne tabele ali poizvedbe za obrazec ali poročilo. Prava stran izraza tipično vsebuje pogoji, ki ga želite uporabiti za to polje za omejitev ali razvrščanje zapisov. Na primer, pogoj je lahko ime kontrolnika ali drugega obrazca, ki vsebuje vrednost, s katero naj bi se ujemali zapisi v prvem obrazcu. Ime kontrolnika mora biti popolnoma kvalificirano, na primer: Forms!formname!controlname Imena polja morajo biti znotraj dvojnih narekovajev, dobesedni nizi pa morajo biti znotraj enojnih narekovajev. Maksimalna dolžina argumenta Pogoj Where je 255 znakov. Če morate vnesti daljši stavek SQL WHERE, uporabite metodo ApplyFilter predmeta DoCmd v modulu Visual Basic for Applications (VBA). Vnesete lahko izjavo s stavkom SQL WHERE, ki vsebuje do 32.768 znakov v modulu VBA. |
Opomba: Če ste že določili filter z ustreznimi podatki, lahko uporabite argument Filter Name. Pogoje omejitve lahko neposredno vnesete z argumentom Where Condition. Če uporabite oba argumenta, Access za rezultate filtra uporabi stavek WHERE. Uporabite enega ali oba argumenta.
Opombe
Za obrazec v pogledu obrazca in pogledu podatkovnega lista lahko uporabite filter ali poizvedbo.
Filter in pogoj WHERE, ki ju uporabite, postaneta nastavitev lastnosti Filter ali ServerFilter obrazca ali poročila.
Če delate s tabelami in obrazci, je to dejanje podobno, kot če bi kliknili Uporabi filter/razvrščanje ali Uporabi strežniški filter v meniju Zapisi. Menijski ukaz uporabi nazadnje ustvarjen filter v tabeli ali obrazcu, medtem ko dejanje ApplyFilter uporabi določen filter ali poizvedbo.
Če v Accessovi zbirki podatkov pokažete na Filter v meniju Zapisi in nato kliknete Napredni filter/razvrščanje, ko zaženete dejanje ApplyFilter, Okno »Dodatni filter/razvrščanje« pokaže pogoj filtriranja, ki ste ga izbrali s tem dejanjem.
Če želite odstraniti filter in prikazati vse zapise za tabelo ali obrazec v zbirki podatkov programa Access, lahko uporabite dejanje ShowAllRecords ali ukaz Odstrani filter/ razvrščanje v meniju Zapisi . Če želite odstraniti filter v Accessovem projektu (.adp), se lahko vrnete v okno strežniško filtriranje z obrazcem in odstranite vse pogoje filtra, nato pa v meniju Zapisi v meniju Zapisi kliknete Uporabi strežniški filter ali nastavite lastnost ServerFilterByForm na False (0).
Ko shranite tabel ali obrazec, Access shrani vse filtre, ki so trenutno določeni v ustreznem predmetu, vendar ne bo samodejno uporabil filtra ob naslednjem odpiranju predmeta (čeprav bo samodejno uporabil katero koli razvrščanje, ki ste ga uporabili za predmet, preden je bil shranjen). Če želite ob prvem odpiranju obrazca samodejno uporabiti filter, določite makro, ki vsebuje dejanje ApplyFilter ali dogodkovno proceduro, ki vsebuje metodo ApplyFilter za predmet DoCmd kot lastnost dogodka OnOpen za obrazec. Uporabite lahko tudi filter, in sicer z uporabo dejanja OpenForm ali OpenReport ali ustreznima metodama. Če želite filter ob prvem odpiranju tabele uporabiti samodejno, lahko odprete tabelo z makrom, ki vsebuje dejanje OpenTable, ki mu takoj sledi dejanje ApplyFilter.
Primer
Uporaba filtra z makrom
Navedeni makro vsebuje nabor dejanj, od katerih vsaka filtrira zapise za obrazec »Telefonska številka stranke«. Kaže uporabo dejanj ApplyFilter, ShowAllRecords in GoToControl. Prav tako kaže uporabo pogojev, če želite določiti, kateri preklopni gumb je bil v skupini možnosti izbran v obrazcu. Vsaka vrstica dejanja je povezana s preklopnim gumbom, ki izbere nabor zapisov, pri čemer začne z A, B, C in tako naprej, ali vse zapise. Ta makro je treba dodati v dogodek AfterUpdate skupine možnosti »CompanyNameFilter«.
Pogoj |
Dejanje |
Argumenti: Nastavitev |
Pripomba |
[CompanyNameFilters]=1 |
ApplyFilter |
Pogoj Where: [CompanyName] Like "[AÀÁÂÃÄ]*" |
Filter za imena podjetij, ki se začnejo z A, À, Á, Â, Ã ali Ä. |
[CompanyNameFilters]=2 |
ApplyFilter |
Pogoj Where: [CompanyName] Like "B*" |
Filter za imena podjetij, ki se začnejo z B. |
[CompanyNameFilters]=3 |
ApplyFilter |
Pogoj Where: [CompanyName] Like "[CÇ]*" |
Filter za imena podjetij, ki se začnejo s C ali Ç. |
... Vrstice dejanja za D do Y imajo isto obliko kot za A do C ... |
|||
[CompanyNameFilters]=26 |
ApplyFilter |
Pogoj Where: [CompanyName] Like "[ZÆØÅ]*" |
Filter za imena podjetij, ki se začnejo z Z, Æ, Ø, or Å. |
[CompanyNameFilters]=27 |
ShowAllRecords |
Pokaži vse zapise. |
|
[RecordsetClone].[RecordCount]>0 |
GoToControl |
Ime kontrolnika: CompanyName |
Če vrnjeni zapisi ustrezajo izbrani črki, premaknite fokus na kontrolnik »CompanyName«. |