Radnju makroa SearchForRecord možete da koristite u Access bazama podataka na radnoj površini da biste potražili određeni zapis u tabeli, upitu, obrascu ili izveštaju.
Postavka
Radnja makroa SearchForRecord ima sledeće argumente.
Argument radnje |
Opis |
||||||||||
Tip objekta |
Unesite ili izaberite tip objekta baze podataka koji tražite. Možete da izaberete stavku Tabela, Upit, Obrazac ili Izveštaj. |
||||||||||
Ime objekta |
Unesite ili izaberite određeni objekat koji sadrži zapis koji treba tražiti. Padajuća lista prikazuje sve objekte baze podataka tipa koji ste izabrali za argument Tip objekta . |
||||||||||
Snimanje |
Navedite početnu tačku i smer pretrage.
|
||||||||||
Uslov Where |
Unesite kriterijume za pretragu koristeći istu sintaksu kao SQL odredba WHERE, samo bez reči "WHERE". Na primer, Description = "Beverages" Da biste kreirali kriterijum koji uključuje vrednost iz okvira za tekst u obrascu, morate da kreirate izraz koji spaja prvi deo kriterijuma sa imenom okvira za tekst koji sadrži vrednost za pretraživanje. Na primer, sledeći kriterijum će pretražiti polje Opis za vrednost u okviru za tekst pod imenom txtDescription u obrascu pod imenom "FrmCategories". Imajte u okviru znak jednakosti (=) na početku izraza i upotrebu jednostrukog navodnika (') sa obe strane reference okvira za tekst: ="Description = '" & Forms![frmCategories]![txtDescription] & "'" |
Napomene
-
U slučajevima kada više zapisa odgovara kriterijumu u argumentu Uslov Where , sledeći faktori određuju koji zapis se nalazi:
-
Postavka argumenta "Zapis" Više informacija o argumentu Zapis potražite u tabeli u odeljku Postavke .
-
Redosled sortiranja zapisa Na primer, ako je argument Zapis postavljen na "Prvi", promena redosleda sortiranja zapisa može da promeni koji zapis se nalazi.
-
-
Objekat naveden u argumentu "Ime objekta" mora biti otvoren pre pokretanja ove radnje. U suprotnom, dolazi do greške.
-
Ako kriterijumi u argumentu Uslov Where nisu ispunjeni, ne dolazi do greške, a fokus ostaje na trenutnom zapisu.
-
Prilikom traženja prethodnog ili sledećeg zapisa, pretraga se ne "prelama" kada dođe do kraja podataka. Ako nema dodatnih zapisa koji zadovoljavaju kriterijume, neće doći do greške, a fokus ostaje na trenutnom zapisu. Da biste potvrdili da je pronađeno podudaranje, možete uneti uslov za sledeću radnju i učiniti uslov istim kao kriterijum u argumentu Uslov Where .
-
Da biste pokrenuli radnju SearchForRecord u VBA modulu, koristite metod SearchForRecord objekta DoCmd .
-
Radnja makroa SearchForRecord slična je radnji makroa FindRecord, ali SearchForRecord ima moćnije funkcije pretrage. Radnja makroa FindRecord se prvenstveno koristi za pronalaženje niski i duplira funkcionalnost dijaloga Pronalaženje. Radnja makroa SearchForRecord koristi kriterijume koji su više kao oni filtera ili SQL upita. Sledeća lista pokazuje neke stvari koje možete da uradite pomoću radnje makroa SearchForRecord :
-
Možete da koristite složene kriterijume u argumentu Uslov Where , kao što je
-
Opis = "Napisi" i "IDKaterija = 11"
-
Možete da uputite na polja koja se nalaze u izvoru zapisa obrasca ili izveštaja, ali nisu prikazana u obrascu ili izveštaju. U prethodnom primeru, kriterijumi ne Description niti CategoryID moraju biti prikazani u obrascu ili izveštaju da bi kriterijumi funkcionisali.
-
Možete da koristite logičke operatore, kao što su<, >, AND, OR i BETWEEN. Radnja FindRecord podudara se samo sa niskama koje su jednake, počinju sa ili sadrže nisku koja se pretražuje.
Primer
Sledeći makro prvo otvara tabelu "Kategorije" pomoću radnje OpenTable . Makro zatim koristi radnju makroa SearchForRecord za pronalaženje prvog zapisa u tabeli u kojoj je polje Opis jednako "Napitke".
Radnja |
Argumenti |
Otvaranje tabele |
Ime tabele: kategorije Prikaz: list sa podacima Režim podataka : uređivanje |
SearchForRecord |
Tip objekta: tabela Ime objekta: kategorije Zapis: prvi Uslov Where: Opis = "Beverages" |