ПредишенСледващото

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

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

се използват форми за достъп:

  • За да редактирате записите в таблиците в базата данни за достъп и външни източници на данни. С цел да се създадат такива форми не се нуждаят от програмиране - достатъчно, за да се създаде форма в режим на проектиране, или да използвате съветника за създаване на форми. Свързване с външен източник на данни (като например база данни на SQL Server или Oracle) може да се използва по достъп до файлове от менюто -> Get External Data -> Link таблици.
  • Както контролния панел на вашата кандидатура. Много често при прилагането на базата на Access създава първоначалния формуляр, който се отваря, когато стартирате това приложение. В тази форма осигурява бутони и други контроли за свикване на други форми, отчети, макроси, излизате от приложението, както и извършване на други операции. След приключването на други форми за контрол първоначална форма отново предадени.
  • Само за която позволява на потребителя да извършва действия. Например, формата може да се използва за избор на доклада параметри данните за употреба качване за външно приложение (например, Excel), и т.н.

Как да работим с форми за достъп от VBA?

Дим ОА Както AccessObject

За Всеки ОА CurrentProject.AllForms

Ако ме питате за форми на събиране AllForms с индекс, имайте предвид, че номерацията на формите в тази колекция започва с 0. За да се отговори на елементите в тази колекция и може да бъде наречена:

Специално IsLoaded собственост определя дали отворите тази форма (т.е. дали е зареден в RAM).

Програмно форми могат да се намерят по друг начин. Достъп до всички отворени форми автоматично се поставят в Application.Forms за събиране и представени под формата на обект Форма. Това - е нормално обект чиито свойства съответства на формата на свойства, достъпни чрез GUI. Например, ако формата Form1 отворен, за да получите информация за неговата ширина може да бъде, както следва:

Debug.Print Application.Forms ( "Форма 1"). Ширина

Този имот може да се използва за промяна на формата на ширината, но за тази цел се препоръчва да се използват DoCmd.MoveSize () метод, за да промените размера на активния обект (например, нашата форма, ако е активна):

DoCmd.MoveSize Широчина: = 10000

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

Как мога да се отвори форма?

Първото нещо, което да се каже - когато в Word или Excel, ние трябва да бъдем сигурни, за да отворите формуляра по програмен път за достъп не е задължителна. Можете да отворите формата и ръчно от прозореца на база данни (вж. Фиг. 12.1). От същия прозорец обикновено се прави, за да се създадат нови форми или да промени съществуващите.

Предмет и работа с форми на достъп VBA средства

Фиг. 12.1 Прозорец за работа с форми в Access

Друг често срещан начин - просто пуснете формуляра, когато отворите достъпа до бази данни. За да направите това в менюто Tools, изберете Опции за стартиране и изберете желаната форма в списъка показва форма / страница. Ако в същото време можете да премахнете всички други квадратчета, след прилагането, когато отворите приложението може да изглежда така, както е показано на фиг. 12.2:

Предмет и работа с форми на достъп VBA средства

Фиг. 12.2 Всички излишни функции за достъп са скрити от потребителя

прозореца Database е скрит от потребителя, което означава, че потребителят няма да бъде в състояние да получи никаква информация за таблиците в нашата база данни или други форми на или модулите - всички елементи на бази данни на услуги ще бъдат скрити от него. По принцип, потребителят може да заобиколи тази защита, като задържите натиснат бутона, когато стартирате Access , но програмно, и можете да затворите тази възможност.

Ако все пак се налага да отворите формата програмно (например, от друга форма), а след това DoCmd.OpenForm () метод може да се използва за тази цел. В най-простата форма, този метод просто отнема параметър с името на формата:

Ако формата е вече отворен, този метод е, разбира се, не се отваря формата отново, но просто го активирате. метод DoCmd.OpenForm () също отнема няколко незадължителни параметри, с които можете да настроите филтър, за да се покаже отчетност във форма, отворете режим форма (например, модалност), и т.н. Затваряне форми, получени при използване на метод DoCmd.Close (). Ако просто трябва да се скрие под формата, за да запазите на потребителя да го оцени и ще го покаже на следващото шоу, може просто да се направи под формата невидим, я присвоите на Видима имота False.

Формата ние обикновено не е необходимо да е само по себе си, но като контейнер, разположен на който контролира. Обикновено създавате програмно лостове - много по-лесно и по-удобно да ги поставят на формата в режим на дизайн за формата. В поредица от контроли за формата, предвидена като познатите контроли - текстови полета, етикети, копчета, квадратчета и бутони, както и нови елементи - свободен и свързан обект рамка, разделители на страници, подчинени форми / доклади и т.н. В горния десен ъгъл на кутията с инструменти за дизайнер на форми Microsoft Access е специален шперц. Ако се натисне, като към формата на обичайния контрол (например копчета) ще доведат до появата на съветника, който ще се опита да ви помогне да се генерира автоматично кода VBA, необходими за този контрол (вж. Фиг. 12.3)

Предмет и работа с форми на достъп VBA средства

Фиг. 12.3 бутон Wizard

Можете да използвате генерирания код за капитан makrorekordera заместител (който в Access не е налице), за да видите как можете да извършвате определени действия.

За това, нестандартни (спрямо конвенционалните форми на VBA) Контроли:

Например, да предположим, че в нашата база данни Access съдържа таблица с три колони, както е показано на фиг. 12.4.

Предмет и работа с форми на достъп VBA средства

Фиг. 12.4 таблица за съхранение на Word шаблони

В графата за файла, ние удържа на думата шаблони, които се използват за генериране на отчети. Ние поставяме върху контрола форма обвързан обект рамка с WordTemplate за името. След това, всичко, което трябва да се създаде документ на Word на базата на шаблон от базата данни, което вече имаме. За бутоните, като кликнете върху която ще генерира отчети, можете да използвате следния код:

'Get oFrame референтен обект рамка, прикрепена към формуляра

Дим oFrame Както BoundObjectFrame

Задайте oFrame = oForm.Controls ( "WordTemplate")

"Използване на метод DLookup (), да го свалите стойността от колона Файл маса

"Шаблони, където броят на ред (стойност Num колона), равно на 1

oFrame = Application.DLookup ( "[File]", "шаблони", "[Num] = 1")

"Отваряне на обекта в отделен прозорец приложение - това е, създаване на

"Документ на Word по образец, който се зарежда в кадър обект на форма

"Активиране на обекта за кандидатстване

"Вземи препратка към променливата Word oWord

Дим oWord Както Word.Application

Задайте oWord = GetObject ( "Word.Application")

"Вземете линк към документа, създаден от нас

Дим oDoc Както Word.Document

Комплект oDoc = oWord.ActiveDocument

"По-нататъшната работа с помощта на Microsoft Word, например, поставяне на желания текст

"В местата маркирани отметки

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

  • Контрол Page Break - определя началото на нова форма на екрана.
  • Подформуляр / доклад - използва се за да бъдат пуснати на формата на подчинени форми, таблици и отчети.

Както вече споменахме, програмно контролира формуляр за достъп трябва да се създаде рядко. Ако имате нужда от форма на променлива набор от контроли, че е разумно да се създаде от началото всички необходими проверки и необходимостта от тях, за да направи нещо видимо, нещо невидимо. Независимо от това да създавате програмно контрол на формата също е възможно. Тази операция се извършва чрез използване на метод Application.CreateControl (), която получава множество параметри - име форма, която контролен елемент, тип контрол, разположението си на формата и т.н.

Апел към стойностите на контролите във формуляра се извършва чрез събиране на Controls, която е в състояние да работят с имената на контролите:

Свързани статии

Подкрепете проекта - споделете линка, благодаря!