Applies ToAccess за Microsoft 365 Access 2021 Access 2019

Следващите раздели предоставят полезна информация за VBA. Имената на обектите са предоставени, така че да можете лесно да ги прегледате в базата данни Northwind 2.0 Starter Edition.

VBA (Visual Basic for Applications) е езикът за програмиране, използван във всички продукти на Microsoft 365, а не само в Access. Тук основно е документирано: документация за разработчици на Access.За да започнете, вижте Въведение в програмирането за Access.

Когато търсите информация, не забравяйте да потърсите конкретни примери за Access и да включите Microsoft Access в израза за търсене. Често решенията за другите продукти на Microsoft 365 ще работят, но може да изискват промени.

Microsoft Access е продукт за възрастни. Това означава, че има много примери, което е чудесно за вас. Това означава също, че по-старите книги в програмирането на Access все още са жизнеспособни, за да можете да ги преглеждате. Много от по-старите книги все още са налични в сайтове за използвани книги на част от първоначалните им разходи. 

Файловете на Microsoft Access са файлове на Microsoft 365. Файловете на Microsoft 365 трябва да са в надеждно местоположение или съдържанието им да е разрешено. Тези елементи се считат за безопасни, защото сте ги създали или са дошли от надежден източник. Тази проверка се извършва всеки път, когато отворите файл на Microsoft 365. От тук нататък ще наричаме това "надеждно/разрешено". Ако се издаде и отвори нова версия на приложението от ненаверено местоположение, процесът на разрешаване на съдържанието ще се повтори. За повече информация вижте Надеждни местоположения за файлове на Microsoft 365, Как да се доверите на база данни и Добавяне, премахване или промяна на надеждно местоположение в Microsoft 365.

Макросите, функциите и подпроцесите са начинът, по който реализирате бизнес логика във вашата база данни на Access.

Контролите във формуляр (например бутони, текстови полета, етикети и т.н.) могат да използват своите събития (като например щракване върху контролата), за да задействат други процеси, като например добавяне, изтриване на записи или отваряне на формуляри. Тези процеси могат да бъдат внедрени с помощта на макроси или VBA. Northwind използва предимно макроси и някои VBA. За повече информация вижте Макродействие RunCode.

Някои типове контроли имат вградени съветници, които автоматично създават макрос. Например добавянето на команден бутон към формуляр ще отвори съветник, който ще предложи няколко възможности за избор на функционалност за бутона. Добавянето на разгъващ се списък ще отвори съветник, който може да бъде конфигуриран да намери конкретен запис във формуляра.

Навигационният екран е основният начин, по който преглеждате и отваряте всички обекти на базата данни, и се показва от лявата страна на прозореца на Access по подразбиране. Навигационният екран на Northwind 2.0 Starter Edition е персонализиран. Създадохме потребителска категория, наречена Northwind Starter 2.0. Това ни позволява да организираме обектите по функционална област. За повече информация вижте Персонализиране на навигационния екран.

Важно е да научите за обхвата и видимостта в Access и Microsoft 365. Обхват се отнася до наличността на променлива, константа или процедура за използване от друга процедура. Има три нива на обхват: ниво процедура, ниво частен модул и ниво публичен модул. Определяте обхвата на променлива, когато я декларирате. Добра идея е да декларирате изрично всички променливи, за да избегнете грешки в конфликт при именуване между променливи с различни обхвати. Всички модули имат две декларации за директива: Option Compare Database и Option Explicit.  За повече информация вижте Разбиране на обхвата и видимостта, публичната команда, декларацията Private, статичната команда и Разбирането на жизнения цикъл на променливите

Понякога ви трябва променлива, която да съществува, след като обектът, който го е създал, излезе от обхвата. Има три основни начина да направите това: Публични променливи, TempVars и съхраняване на стойностите в локална таблица. Всяко от тях има предимства и недостатъци. Много разработчици използват комбинация от тези.

Публичните променливи и TempVars съществуват за текущата сесия и излизат от обхвата, когато приложението се затвори. Какво да направите, ако искате да запазите конкретните за потребителя променливи в сесиите му? Можете да съхранявате тези типове стойности в локална таблица. В Northwind 2.0 Starter Edition имаме тези стойности в таблица, наречена SystemSettings. Например една стойност в таблицата е "ShowWelcome". Тази стойност ни показва дали искате да виждате приветстващия екран всеки път, когато влизате или не.

Ако сте използвали някакви съветници за контроли, вградени в Access, знаете, че ако се създава макрос, често изобщо няма обработване на грешки и ако vba е създаден, той може да бъде ограничен до msgBox функция, стил Err.Description.

В Northwind 2.0 Starter Edition внедрихме така наречения глобален манипулатор на грешки. Грешките, които възникват във всяка процедура, извикват функция на глобално ниво, за да покажат грешката. Голямото предимство е, че кодът е съгласуван и ако съобщението трябва да се промени, например като се покаже номерът на грешката или се регистрира грешката във файл, това може да се извърши само на едно място.

clsErrorHandler е модулът на класа, който реализира кода за обработване на грешки. Модулът на класа запазва всичките си основни и помощни функции заедно в един урок, което прави кода по-капсулиран. Макросът AutoExec евентуално извиква функцията за стартиране в modStartup, създава екземпляр на clsErrorHandler и го записва като глобална променлива, така че да може да се използва в цялото приложение.

Всъщност кодът за обработване на грешки в процедурите е толкова съгласуван, че успяхме да създадем всичко това за по-малко от пет минути с помощта на украсен VBA код, който се съобрази с всяка процедура с правилния манипулатор на грешки. Този код не е включен в шаблона.

Вж. също

Northwind 2.0 Starter Edition

Нуждаете ли се от още помощ?

Искате ли още опции?

Разгледайте ползите от абонамента, прегледайте курсовете за обучение, научете как да защитите устройството си и още.

Общностите ви помагат да задавате и отговаряте на въпроси, да давате обратна връзка и да получавате информация от експерти с богати знания.