Готово у свим Access апликацијама које креирате потребно је да од корисника добијете неке информације. Ово се углавном ради преко Input Box-а, али ова контрола (функција) није дизајнирана да задовољи сложеније потребе, већ само за једноставне уносе. На пример, можда ћете желети да корисницима понудите избор једне од две понуђене могућности. Пошто не постоји начин да ограничите оно што корисници уносе у Input Box, ова контрола неће задовољити потребе.
Ради заобилажења ове лимитације, можете креирати форму која ће одиграти улогу Input Box-а. Отворите форму ради уноса и потом, када се форма затвара, преузмете улазе и наставите даље са програмским кодом. Објаснићемо и сам поступак - како имплементирати ово решење:
- Унутар секције декларација модула, у којој се налази функција и за коју треба да обезбедите улазе, димензионисаћете нове варијабле које ће чувати враћене вредности (оне које је корисник унео или изабрао на форми). Вредности ових варијабли ће бити видљиве вашој функцији након уноса корисника.
- Додајте нову процедуру у исти модул где се налази и основна функција. Ваша Input Box форма ће позивати ову нову процедуру. Искључива сврха ове нове процедуре јесте да прихвати вредности из улазне форме као параметре и пребаци вредности параметара у вредности нових варијабли на нивоу модула.
- Дизајнирајте сопствену "input box" форму као dialog box форму. Када се отвори овај дијалог прозор, ваш програмски код ће се паузирати, и то све док се форма не затвoри.
- Унутар обраде догађаја OnClose форме, додајте позив процедуре коју сте управо написали. Као вредности параметара наведите вредности из текст поља или опционих група са форме. Овим ћете податке вратити у ваш модул када се дијалог затвори.
- Такође, у процедуру укључите параметар који ће указивати функцији да је корисник кликнуо дугме Cancel уместо OK на крају процеса.