клас модули

Вторият тип модул в Access е модул на клас. клас модул се различава от стандартния модул, който в допълнение към процедурите, тя съдържа описание на обекта и се използва за създаване на обекти. Процедурите, определени в този модул са методи и свойства на обекта. Примери за клас модули са модули форми и отчети.







Модули форми и отчети, свързани с конкретната форма или отчет и съдържа процедури събития за формата или отчета. форма модул не е създаден веднага, когато създавате нова форма. Тя е създадена и свързани с формата, в момента, в който се опитаме да създадем процедурата на първо събитие за формата или една от контролите формата или натиснете бутона програма (Code) в прозореца Form Designer.

Фиг. 13.9. Диалог образува свойства

Към от VBA код за отваряне на формата и да промените всяка собственост на форма или форма контроли, могат да се използват от двата метода.

  • OpenForm макро, като метод на обекта DoCmd, например:
  • Позоваване на съответния клас модул, например:

В този и в друг случай, при извършване на стандартен отворен екземпляр на формуляра, "Стоки" (Продукти) и се заменя с източника на рекорд за формата.

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

Форма клас може да има само едно копие на стандарта, така че в този случай трябва да се създаде потребителски инстанция на формата. За тази цел на програмата е необходимо да се опише типа на променливата, която е името на класа на формата на модула, а в променливата декларация за включване на нова ключова дума. Така например, следната команда създава нова инстанция на формата "Клиенти" (клиенти) и го свързва с променлива от тип Форма:







Сега промените източника на данни за тази форма, местоположението на екрана (само друга форма на припокриване) и възлага имота се появява на екрана (видимото), за да Да (Yes):

frm.RecordSource = "Нашата организация" DoCmd.MoveSize 1440, 2400 frm.Visible = True

За да промените позицията на екрана с помощта на макро SdvigRazmer (MoveSize), при което в този случай координатите на горния ляв ъгъл на главния прозорец на относителната достъп до прозорец форма.

За да се формира на втора инстанция не изчезва от екрана веднага след появата, на FRM променлива трябва да бъде обявена на ниво модул, т.е.. Д. е обявен в раздел (декларации) модул с помощта на ключовата дума Private.

Стойността на имотите и да е форма за контрол се прилагат само за текущата инстанция на формата и няма да бъдат запазени след това се затваря. Това е в контраст с модула за клас от стандартен модул: те имат съхраняват различни данни. Стандартната модул може да обяви променлива Public, и то се инсталира, той запазва стойността си толкова дълго, колкото е ясно, няма да се променя от друг отбор в друг модул. В класа на данни модул принадлежат към същата клас модел, т.е.. E. един обект. Те се появяват, когато се създава обекта, и изчезват, когато обектът изчезне. Това означава, че променливите с обществеността в модул клас ще бъдат достъпни само толкова дълго, колкото има променлива, която съдържа препратка към отделна инстанция на класа. Това важи също и за процедурите, обявени за обществено.

Форми и доклади са стандартни класове от обекти в Access, но можете да използвате класа модули за създаване на собствени обекти. Търговското наименование на запазена клас модул става името на специален предмет. Под-вид и функция, както е определено в процедурата за клас модул, обектът ще бъде методите и процедурите Тип на имота Да, може да получи вещите и имуществените Set-свойства на обекти. За описание на метода, няма никаква стойност за връщане, използвайте процедура Sub, както и за метод, който връща стойност, - процедура Function. процедура Get имота връща стойността на обекта. процедура на имота Set присвоява стойността на обект имота. Property Let процедура определя стойността на имота не са собственост на обекта. По-подробна информация за тези процедури могат да бъдат получени от Access Help, чрез въвеждане на критерий Име на процедура за търсене: Имоти Позволявам, Get вещите и имуществените Set съответно.

След този призив към своите методи и свойства чрез използване на тази променлива. Например, ако се определя модула MyProcedure процедура, за да се изпълни тази процедура, изразът