BIZIT 11 - prvi dan

Auto-Complete forma

Mehanizam automatskog popunjavanja se odnosi na postupak kojim se, na osnovu nekoliko unetih karaktera, unos nadopunjava unapred poznatim podacima.

PCPress.rs ImageVećini korisnika je poznat ovaj mehanizam zahvaljujući ugrađenom čarobnjaku za kreiranje padajuće liste kojim se, na primer, pronalazi zapis na osnovu nekoliko unetih karaktera. „Samodopunjavajuće“ padajuće liste i pored ograničenja imaju veliku upotrebnu vrednost. Na sledećem primeru ćemo pokazati kako se bez programiranja može napraviti napredna auto‑complete funkcija.

Sličan primer postoji u bazi primera Northwind. Učitajte bazu, otvorite Orders formu i menjajte naziv kupca – primetićete da se i svi ostali podaci menjaju. Orders forma koristi program za popunjavanje polja adrese za isporuku robe (koja može biti različita od adrese kupca). Drugi način da se prikažu podaci vezani za identifikacioni (ID) broj je upotrebom potforme. Potforma bi u ovom slučaju prikazivala adresu i druge podatke vezane za kupca. Spomenimo i treći (neefikasan) način prikaza podataka – upotrebom autolookup upita.

PCPress.rs ImagePostoji još efikasniji način koji je primenljiv u određenim uslovima. Uslovi se sreću relativno često: potrebno je da se prikažu dodatni podaci o entitetu, oni već postoje u bazi podataka, prikazivaće se samo jedan entitet po zapisu i slično. Rešenje je zanimljivo jer dozvoljava istovremeni upis u dve tabele – tokom unosa podataka za fakturu možete ispraviti broj telefona kupca.

Za demonstraciju primera potrebne su dve tabele i relacije postavljene kao na slici 1. U primeru su korišćeni entiteti „Saradnik“ i „Ugovori“, međutim vi možete koristiti „Kupac“ i „Računi“. U tabeli tblUgovori polje IDSaradnik nije Lookup polje, već obično tekst polje. BrojUgovora (odnosno BrojRačuna) je indeksirano polje sa primarnim ključem, bez ponavljanja unosa. Drugim rečima, unos jedinstvenog podatka je obavezan.

Pošto ste formirali tabele, pređite na okno relacija (Relationships). Dodajte obe tabele u okno relacija i zatim dva puta kliknite na liniju koja spaja polja IDSaradnik. Uključite Enforce Referential Integrity; druge dve opcije nisu obavezne, što se vidi na slici 2.

Pređite na karticu upita i kreirajte novi upit. Dodajte obe tabele. Iz tabele sa strane 1 (tblSaradnici) dodajte sva polja osim IDSaradnik. Iz tabele sa strane „više“ dodajte sva polja. Za demonstraciju će poslužiti forma koju kreira čarobnjak. Obeležite upit i iz menija (sa ribona) odaberite taster AutoForm. Primetite da je na formi koju program kreira polje IDSaradnik polje za „slobodan unos“, međutim u njega možete upisati samo ID brojeve saradnika (odnosno kupaca). Pošto je ove šifre besmisleno pamtiti, ovo polje ćemo preraditi u auto‑lookup polje.

PCPress.rs ImagePređite u režim izmene dizajna forme. Kliknite desnim tasterom na polje IDSaradnik. Iz kontekstnog menija odaberite Change To, pa zatim Combo Box. Otvorite karticu osobina ovog polja (Properties) i postavite sledeće osobine:

Row Source: tblSaradnici

Column Count: 2

Column Widths: 0; 1

Za izvor podataka polja zadali ste tabelu tblSaradnici. Iz tabele će se koristiti dve kolone, s tim da je prva sakrivena (širina = 0), dok se druga prikazuje (ime i prezime, odnosno naziv). Pod pretpostavkom da određeni unosi tabele tblSaradnici već postoje, unos podataka za saradnika se svodi na kucanje prvog ili prvih nekoliko slova imena. U ovom primeru će se polja Fiksni telefon i Mobilni telefon sama popunjavati po izboru saradnika.

Na formi je sada moguće dodavati nove ugovore, ali i promeniti brojeve telefona, pa čak i naziv saradnika, što naravno nije uvek poželjno. Olakšano je ažuiranje podataka spoljne tabele, ali se tu krije zamka: svaka ispravka nekih od podataka spoljne tabele se reflektuje na sve zapise tabele ugovora gde se saradnik kome su izmenjeni podaci nalazi. Iz tog razloga se ponekad podaci namerno „denormalizuju“, uz omogućavanje duplog unosa istih podataka.

(Objavljeno u PC#191)

Facebook komentari:
Računari i Galaksija
Tagovi: , ,

1 thoughts on “Auto-Complete forma

  • 01. 01. 2013. at 12:51
    Permalink

    a u slucaju da koristite autocomplete osigurajte se dobrim antivirusom jer upravo iz autocomplete-a vam hakeri ocitavaju passworde

Comments are closed.