Access

Vba access самоучитель: Самоучитель MS Office Access 2016

В.Д.Хорев — Самоучитель программирования на VBA в Microsoft Office

Работа с объектами MS Access 183

Метод Append

Но дело еще не сделано — поле создано, существует и содержится в переменной MyFLD. Но в состав таблицы “Клиенты” оно еще не включено. Метод Append позволяет включить поле в таблицу.

MyTDF.Fields.Append MyFLD

Метод Close: закрытие базы данных

Остается закрыть базу данных, и освободить выделенную под переменную MyDB память:

MyDB.Close

Set MyDB = Nothing

Если теперь запустить Access и открыть базу данных MyOffice, то нетрудно убедиться, что в таблице (в таблице, но не в форме!) “Клиенты” появилось новое поле.

Метод CreateTable: создание таблицы

Если требуется создать новую таблицу в существующей базе данных, то действовать следует аналогичным образом, только вместо открытия таблицы обращением к семейству TableDefs

следует использовать метод CreateTable того же семейства, и, пока на таблицу указывает объектная переменная, создать в ней необходимые поля.

Точно так же, как и в случае с полями, созданную таблицу необходимо затем включить в состав семейства при помощи метода Append.

Предположим, требуется добавить в офисную базу данных таблицу “Счета” для ведения лицевых счетов клиентов. Каждая запись в таблице должна состоять из двух полей: поля “ЛицевойС-

чет” (числового типа “длинное целое”) и поля “Остаток” для денежных значений типа Currency. Вот необходимая последовательность действий для ее создания.

1.Объявить необходимые переменные:

Dim MyTDF As TableDef

Dim MyDB As Database

2.Открыть базу данных:

Set MyDB = OpenDatabase(«C:\MyOffice.mdb»)

3.Создать новую таблицу:

Set MyTDF = MyDB.CreateTableDef(«ЛицевыеСчета»)

4.Создать в новой таблице два поля:

With MyTDF

.Fields.Append.CreateField(«ЛицевойСчет», dbLong)

.Fields.Append.CreateField(«Остаток», dbCurrency)

End With

5.Включить новую таблицу в базу данных:

MyDB.TableDefs.Append MyTDF

6. Закрыть базу данных и освободить память:

MyDB.Close

Set MyDB = Nothing

184 Глава 7. В мире объектов MS Office

Свойства полей

При создании новых полей можно задавать различные свойства поля. Набор возможностей здесь аналогичен набору возможностей при работе в окне конструктора таблиц.

Ввод в поле таблицы значения по умолчанию (DefaultValue)

Например, для поля можно задать значение по умолчанию, то есть значение, которое будет в нем содержаться, если пользователь не введет в него никакого значения:

Dim MyFLD As Field, MyTDF as TableDef, MyDB As Database

Set MyDB = OpenDatabase(«C:\MyOffice.mdb «) Set MyTDF = MyDB.TableDefs(«Клиенты»)

Set MyFLD = MyTDF.Fields(«Телефон») MyFLD.DefaultValue = «000-00-00»

Свойство Required: проверка допустимых значений вводимых в поле

Свойство Required определяет, допустимы ли для поля пустые значения. Поле нельзя оставлять пустым. Access не позволит создать новую запись, пока поле не будет заполнено:

Set MyFLD = MyTDF. Fields(«Телефон»)

MyFLD.Required = True

Свойство Type: тип данных

Тип данных, для хранения которых предназначено поле, задается свойством Type. В это свойство необходимо записать соответствующую константу. Если поле должно быть текстовым, то одновременно следует в свойстве Size указать размер поля:

Set MyFLD = MyTDF.Fields(«ОписаниеКлиента»)

MyFLD.Type = dbText

MyFLD. Size = 200

Свойство FieldSize: размер поля

Размер поля любого типа содержится в свойстве FieldSize, которое не следует путать со свойством Size. Значение в FieldSize показывает физический размер в байтах, которое поле занимает в базе данных.

Константы типа данных поля

Полный список констант, определяющих тип данных поля, можно узнать при помощи справочной системы. Далее перечислены некоторые из них:

dbCurrency — денежные значения типа Currency; dbDate — значения даты/времени;

dbFloat — дробные числа с плавающей точкой; dbInteger — целые числа;

dbText — текстовые значения.

Работа с содержимым базы данных Access

“Взаимоотношения” Access и VBA имеют свою предысторию, которая накладывает отпечаток на принципы работы в VBA-коде с данными Access. Дело в том, что собственные средства автоматизации Access существовали еще до изобретения VBA. Это так называемые макрокоманды Access. Использование этих макрокоманд — и по сей день самый простой способ работать с базой данных Access.

Работа с объектами MS Access 185

Объект DoCmd

Для интеграции механизма макрокоманд в код VBA используется специальный объект DoCmd (выполнить команду), методы которого в точности соответствуют старым макрокомандам Access.

Объект DoCmd позволяет оперировать содержимым не только таблиц, но и форм и других объектов базы данных. Ниже приведен ряд примеров, иллюстрирующих работу с методами объекта

DoCmd.

Метод OpenTable: открытие таблицы

Пример, открывающий форму “Клиенты” с отображением записей, в которых поле “Фамилия” содержит значение “Иванов”:

DoCmd. OpenTable «Клиенты»

DoCmd.ApplyFilter , «Фамилия =’Иванов'»

Метод OutputTo: вывод таблицы

Пример вывода таблицы “Клиенты” в файл формата HTML:

DoCmd.OutputTo acOutputTable, «Клиенты», _ acFormatHTML, «C:\Clients.htm»

Метод PrintOut: печать таблицы

Пример, открывающий форму “Клиенты” и печатающий страницы 1-5:

DoCmd.OpenTable «Клиенты»

DoCmd.PrintOut acPages, 1, 5

Метод OpenForm: открытие формы

Метод Maximize: развернуть форму

Пример, открывающий форму “Клиенты” и разворачивающий ее на весь экран:

DoCmd.OpenForm «Клиенты»

DoCmd.Maximize

Метод Maximize: свернуть форму до значка

Пример, открывающий форму “Клиенты” и сверачивающий ее в значок на рабочей поверхности окна Access:

DoCmd.OpenForm «Клиенты»

DoCmd.Minimize

Метод GoToRecord: навигация формы

Для навигации формы, то есть для перемещения формы по записям таблицы, используют метод GoToRecord. Пример, открывающий форму “Клиенты” с переходом на 101-ю запись:

DoCmd. OpenForm «Клиенты»

DoCmd.GoToRecord acDataForm, «Клиенты», acGoTo, 101

Метод GoToControl: передача фокуса элементу управления формы

Метод GoToControl служит для передачи фокуса одному из элементов управления формы. Открыть форму “Клиенты” и поместить курсор в поле “E-Mail”:

186 Глава 7. В мире объектов MS Office

DoCmd.OpenForm «Клиенты»

DoCmd.GoToControl «E-Mail»

Свойство AllowDeletions: запрет удаления записей пользователем

Пример, открывающий форму “Клиенты” и запрещающий в ней удаление записей пользователем:

Dim MyFrm As Form

DoCmd.OpenForm «Клиенты» Set MyFrm = Forms![Клиенты]

MyFrm.AllowDeletions = False

Свойство AllowEdits: запрет изменения записей

Пример, запрета внесения изменений в существующие записи при помощи формы “Клиенты”:

DoCmd.OpenForm «Клиенты»

Set MyFrm = Forms![Клиенты]

MyFrm.AllowEdits = True

Свойства формы

Семейство Controls

Поля, списки и вообще все размещенные на форме элементы управления доступны посредством семейства Controls данной формы. Например, вот как можно открыть форму “Клиенты” и загрузить значение “Иванов” в поле “Фамилия”:

DoCmd.OpenForm «Клиенты», acNormal

Set MyFrm = Forms![Клиенты]

MyFrm.Controls(«Фамилия»).Value = «Иванов»

Свойство CurrentRecord

Свойство формы CurrentRecord возвращает номер текущей записи (это свойство доступно только для чтения). Код, позволяющий вывести на экран окно-сообщение с номером текущей записи:

DoCmd.OpenForm «Клиенты», acNormal

Set MyFrm = Forms![Клиенты]

MsgBox «Текущая запись: » + MyFrm.CurrentRecord

Свойство Dirty

Свойство Dirty сигнализирует о том, что запись содержит несохраненные изменения:

DoCmd.OpenForm «Клиенты», acNormal Set MyFrm = Forms![Клиенты]

If MyFrm.Dirty Then

MsgBox «Запись изменена. Сохранить?», vbYesNo

End If

Работа с объектами MS Access 187

Свойства FilterOn и Filter

Пользуясь свойством Filter можно наложить фильтр на отображаемые формой записи.

При этом фильтр необходимо включить, присвоив логическое значение True свойству FilterOn. Отключить фильтр можно присваиванием значения False.

Пример, открывающий форму “Все операции” с отображением только тех записей, где сумма операции больше 1000:

DoCmd.OpenForm «Все операции», acNormal Set MyFrm = Forms![Все операции]

MyFrm.Filter = «СуммаОперации > 1000» MyFrm.FilterOn = True

Пример, открывающий форму “Клиенты” с отображением только тех записей, где у клиента есть адрес E-Mail (то есть, поле “E-Mail” не пусто):

DoCmd.OpenForm «Клиенты», acNormal Set MyFrm = Forms![Клиенты]

MyFrm.Filter = «[E-Mail] <> ‘’» MyFrm.FilterOn = True

Свойство NavigationButtons

Свойство NavigationButtons определяет наличие в окне формы кнопок перехода и номера записи Пример, открывающий форму “Клиенты” без навигационных кнопок:

DoCmd.OpenForm «Клиенты», acNormal Set MyFrm = Forms![Клиенты]

MyFrm. NavigationButtons = False

Семейство Forms

Вообще, все открытые формы доступны посредством семейства Forms. Это семейство можно просматривать при помощи цикла For…Each. Пример, скрывающий все открытые формы:

Dim MyFrm As Form

For Each MyFrm In Forms MyFrm.Visible = False

Next

Пример, закрывающий все открытые формы с запросом на сохранение изменений:

Dim MyFrm As Form

For Each MyFrm In Forms

MyFrm.Close acForm, MyFrm.Name, acSavePrompt

Next

188 Глава 7. В мире объектов MS Office

Метод Quit: закрытие базы данных

Завершает работу с базой данных метод Quit. Окно Access при этом также закрывается. Пример, закрывающий базу данных с выдачей запроса на сохранение внесенных изменений:

DoCmd.Quit acQuitPrompt

см. также в гл. 9 раздел “Объектная модель Outlook 2000”.

Глава 8

VBA-программирование: примеры и иллюстрации

В предыдущих главах было совершено своеобразное путешествие по основным приложениям пакета MS Office, с целью изучения возможностей макросов VBA для автоматизации типичных задач. Ни сам программный пакет MS Office, ни возможности VBA-программирования в приложениях Office, конечно же, этим не исчерпываются. В состав MS Office входят и другие приложения, а также множество вспомогательных инструментальных средств. Макросы VBA с успехом работают в презентациях MS PowerPoint и в формах MS Outlook, наконец, даже в тех приложениях, которые были затронуты (MS Word, MS Excel, MS Access), осталось множество тем, о которых не было сказано ни слова.

см. подробнее о программировании в MS Outlook в гл. 9 “Программирование в Outlook: документооборот и электронная почта”.

Кроме того, в рабочей среде Office, с точки зрения VBA-программирования, существует множество объектов, которые вообще не относятся ни к одному из приложений, вернее сказать, относятся сразу ко всем приложениям. Это объекты самого пакета MS Office, которые обслуживают интегрированную среду приложений Office, те объекты, которые обеспечивают, в частности, пользовательский интерфейс. Например, знаете ли вы, что любое приложение (допустим, Word) при помощи VBA-кода можно изменить до неузнаваемости, преобразовав не только внешний вид окна приложения, но и “переработав” полностью его систему меню и панели инструментов? При помощи макросов VBA можно создать собственную версию Word (которая будет разительно отличаться от Word в стандартном варианте), приспособленную для решения специфичных для конкретного пользователя задач.

В такой области, как форматирование (и вообще — изменение внешнего вида) объектов MS Office осталось множество не упомянутых вещей.

Попробуем совершить небольшую “обзорную экскурсию” по миру VBA-программирования в среде MS Office, чтобы посетить те места, которые были пропущены, но где стоит побывать. Сделаем это в форме множества небольших примеров VBA-кода, снабженных иллюстрациями и пояснениями.

Речь не идет о законченных процедурах-макросах. Здесь будем приведен программный код в виде нескольких строк исходного текста, и описаны результаты его выполнения. Любой из этих фрагментов может быть использован в пользовательском макросе или процедуре обработки события.

Чтобы проверить подобный пример в действии и поэкспериментировать с ним, можно создать макрос с произвольным именем, например, при помощи команды Сервис | Макрос | Макросы или любым другим способом.

В окне редактора Visual Basic любой макрос, в тексте которого находится курсор ввода, можно запустить нажатием клавиши [F5], а при помощи клавиши [F8] можно выполнять макрос в режиме отладки, построчно.

Программирование объектов интегрированной среды MS Office 191

Программирование объектов интегрированной среды MS Office

Вот примеры кода, работающего с объектами интегрированной среды MS Office. Все упоминаемые здесь объекты не относятся к какому-либо приложению. На рис. 8.1 изображен фрагмент окна MS Word, иллюстрирующий результат выполнения программного кода, однако в MS Excel этот фрагмент выполнит точно такую же операцию, только по отношении к панели инструментов Excel. Никаких ссылок задавать для этого не требуется, поскольку речь идет об объектах, общих для всех приложений Office.

Панели инструментов и меню в приложениях MS Office

Объекты типа CommandBar

В объектной модели Office все панели инструментов и меню представлены объектами типа CommandBar. Каждая панель инструментов, строка меню, каждое меню в строке меню, и даже подменю, заключающееся в пункте меню — это объект типа CommandBar. Все объекты CommandBar приложения (не имеет значения, о каком приложении идет речь — макрос VBA может даже “не знать”, в какой именно среде он работает) объединены в семейство CommandBars данного приложения.

Объекты типа CommandBarControl

Находящиеся на панели инструментов элементы управления представлены объектами типа

CommandBarControl, которые объединены в семейство CommandBarControls. Вообще го-

воря, дело обстоит несколько сложнее, но для решения простейших задач такого представления вполне достаточно. Как знает каждый пользователь, занимавшийся настройкой среды хотя бы одного из приложений MS Office 2000, панели инструментов подвержены самым различным изменениям. В окне приложения может присутствовать множество панелей или же ни одной. Все инструментальные панели, доступные в меню Вид | Панели инструментов. Кнопки и прочие элементы управления можно убрать с панели или поместить на любую панель. То же самое касается и меню. Набор меню и команд каждый пользователь настраивает произвольным образом при помощи диалогового окна Сервис | Настройка.

Метод FindControl: поиск элемента управления

По этой причине довольно затруднительно было бы оперировать жестко заданными элементами управления на жестко заданных панелях инструментов. Чтобы обратиться к конкретному элементу управления, используют метод FindControl семейства CommandBars. Этот метод способен найти элемент управления по его “личному номеру” — коду-идентификатору. Чтобы посмотреть на деле, как можно управлять элементами управления на инструментальных панелях MS Office, объявим переменную типа CommandBarControl:

Dim MyCon As CommandBarControl

Затем используем метод FindControl семейства CommandBars текущего приложения, чтобы присвоить переменной в качестве значения кнопку Открыть на панели инструментов Стандартная (идентификатор этой кнопки — число 23).

Set MyCon = CommandBars.FindControl(ID:=23)

Теперь переменная MyCon представляет хорошо всем знакомую кнопку (см. рис. 8.1), при помощи которой пользователи, обычно, открывают документы приложения

192 Глава 8. VBA-программирование: примеры и иллюстрации

ПРИМЕЧАНИЕ

Еще раз укажим на то, что на рис. 8.1 изображен фрагмент окна Word, однако все сказанное в равной мере относится к любому приложению Office, где есть панель инструментов Стандартная.

Рис. 8.1. Кнопка Открыть присутствует на па-

Рис. 8.2. Кнопка Открыть получила рисунок,

нели инструментов Стандартная большинства

идентичный рисунку кнопки Вырезать, однако

приложений Office

функции кнопки от этого не поменялись

Свойство FaceId: изменение значка на элементе управления

Если теперь обратиться к переменной MyCon, то можно что-нибудь сделать с кнопкой Открыть. Например, чтобы заменить рисунок (значка) на кнопке, следует изменить значение свойства FaceId (идентификатор “лица” кнопки):

MyCon.FaceId = 21

В результате кнопка Открыть “примет обличье” кнопки Вырезать, однако на выполняемые кнопкой функции это никак не повлияет.

Создание пользовательской панели инструментов

Немного усложним теперь постановку задачи. Будем по-прежнему использовать “готовую” кнопку Открыть, однако поместим ее на другую панель инструментов. На какую? На пользовательску (собственную) панель инструментов, которая была создана специально для этой цели! Теперь, кроме переменной MyCon, потребуется переменная типа CommandBar, назовем ее MyCBar:

Dim MyCBar As CommandBar

Dim MyCon As CommandBarControl

Метод Add

Далее, чтобы создать новую панель инструментов, необходимо добавить новый элемент в семейство CommandBars. Как всегда, эта задача решается при помощи метода Add:

Set MyCBar = CommandBars.Add(Name:=»Моя панель инструментов», _ Position:=msoBarTop, Temporary:=True)

При помощи именованного параметра Name здесь задается имя пользовательской панели инструментов, а параметр Position определяет ее местоположение (msoBarTop означает прикрепление панели к верхней границе окна). Логический параметр Temporary, имеющий по умолчанию значение False, получает здесь значение True. Благодаря этому панель будет создана с временным статусом — после окончания данного сеанса работы с приложением она исчезнет.

Свойство Visible

Далее остается сделать панель инструментов видимой присваиванием значения True ее свойст-

ву Visible:

MyCBar.Visible = True

Самоучитель Microsoft Access 2000.

Бекаревич Ю., Пушкина Н.

СПб.: БХВ — Санкт-Петербург, 1999. — 480 с.; ил.

Данная книга — пособие для самостоятельного освоения новейшего продукта фирмы Microsoft — СУБД Access 2000. Работая с книгой за компьютером, читатель изучит инструментальные средства создания реляционной базы данных, построения форм, запросов и отчетов, макросов, процедур обработки событий на VBA, разработки диалогового интерфейса приложения пользователя, получит представление о новейших технологиях взаимодействия Access 2000 с внешними источниками данных через интерфейсы ODBC и OLE DB для организации разнородных данных фирмы в единое информационное пространство, включая создание страниц доступа к данным в Internet.

Книга начинается с основных понятий системы управления базами данных Microsoft Access. Кратко рассматриваются основные и новые средства, их назначение и особенности применения, а также интерфейс и начало работы в Access.

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

Отдельная глава посвящена технологии обработки данных. Здесь читатель познакомится с диалоговыми средствами выборки и обработки данных в базах Access, которые позволяют решать многие задачи, не прибегая к программированию. Затем описывается конструирование отчета в виде печатного документа.

После знакомства со средствами, позволяющими сконструировать основные объекты Access (формы, отчеты, запросы) и использовать их для реализации отдельных модулей поставленных пользователем задач, авторы переходят к организации технологического процесса обработки данных в едином диалоговом приложении. Решить эту задачу позволяют макросы и модули на языке Visual Basic, которые через обработку событий, вызываемых действиями пользователя, управляют процессом. В книге изучаются основы создания программ (макросов) и программирование на языке VBA при создании приложения пользователя в среде Access. Изложены основы конструирования макросов и возможности макрокоманд. Дано описание концепции объектно-ориентированного программирования на языке VBA. Приводятся примеры формирования макросов и модулей, предусматривающие обработку различных событий, наступающих в сеансе интерактивной работы пользователя.

Последняя глава книги посвящена многопользовательской технологии работы Access в сети, основанной на концепции клиент-сервер. В ней изложены способы взаимодействия приложения Access с базами данных Microsoft SQL Server через два основных интерфейса: ODBC и OLE DB.

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

В приложении приведены параметры структуры таблиц базы данных «Учебный процесс» и данные для их заполнения.

Компьютерная газета. Статья была опубликована в номере 33 за 1999 год в рубрике литература :: разное

Visual Basic для приложений в Microsoft Access — учебные пособия Holowczak.com

Posted on by holowczak

Microsoft Access включает ряд функций, позволяющих разработчикам баз данных создавать формы ввода данных, отчеты и запросы, которые могут помочь пользователям запрашивать существующие данные в базе данных и вводить новые данные. Различные инструменты построения запросов и мастера упрощают этот процесс разработки. Однако даже с этими инструментами могут возникнуть ситуации, когда разработчик захочет добавить еще больше функций, которые еще не предусмотрены инструментами разработки MS Access. Например, разработчик может захотеть автоматически исправлять неверные данные перед их сохранением в базе данных, отображать предупреждение в случае нарушения бизнес-правил, помогать пользователю переходить от одной формы ввода данных к другой или запускать отчет с некоторыми пользовательскими фильтрами. Способ выполнить такую ​​настройку — добавить код с помощью языка программирования Visual Basic для приложений.

Visual Basic для приложений (VBA) — это язык программирования, используемый в семействе программных продуктов Microsoft Office, таких как Excel и Access. Язык VBA происходит от языка «Basic», изобретенного в 1964 году и ставшего популярным на персональных компьютерах в 1970-х годах. «Визуальная» часть имени была добавлена ​​Microsoft, чтобы отразить использование языка программирования Basic в Microsoft Windows.

Существует множество руководств, знакомящих с основами программирования. В этом руководстве основное внимание будет уделено небольшому набору функций языка VBA, используемого в MS Access.

В этом руководстве предполагается, что читатель имеет опыт разработки форм в MS Access. Возможно, вы захотите сначала пройти мой учебник по MS Access и мой учебник по расширенному дизайну форм доступа, прежде чем переходить к изучению VBA.

Содержимое

  • События в Microsoft Access
  • Пример кода VBA: проверка правильности регистра имен
  • Язык VBA — объявление и присвоение переменных, условные операторы и комментарии
  • Язык VBA – функции, методы и примеры
  • Язык VBA — свойства
  • Упражнения по кодированию VBA
  • Обработка ошибок в VBA
  • Выполнение пользовательских запросов SQL в VBA

На следующей странице представлены события в Microsoft Access.

Страницы: 1 2 3 4 5 6 7 8 9

Категория: Доступ

Теги: Access, Access 2013, Access 2016, SQL, VBA, Visual Basic для приложений

Поиск Holowczak. com Искать:

Пожертвования Добро пожаловать

Если вы нашли что-то образовательное или развлекательное на holowczak.com, рассмотрите возможность отправки пожертвования через: PayPal
LRC: 0xbe6738ed824cd34b9a109daa956ee448e41a545d
ETH: 0x1F8C9e8B4342872f868c1d313C13259bc4683933
BTC: 3JC5ZVGejv1seyALGiiSdbET9zomJz464X
Спасибо!

Реферальный код моего кошелька Loopring: 013928.

Недавние Посты

  • Обратное проектирование схемы Google BigQuery с помощью Dataedo 10

Категории сообщений Категории сообщенийВыберите категориюДоступ к блогуBloombergC#C++CIS 4620Облачные вычисленияХранилище данных и аналитикаБаза данных   MySQLDiagramingFactSetFinancial ITInteractive BrokersJavaMicrosoft OfficeOraclePowerPointПрограммирование   HTMLASSQLSQL ServerVisioVisual Studio

Код для программирования в MS Access VBA

Ссылки на этой странице ведут к лучшим доступным источникам в Интернете, включая документацию для разработчиков Microsoft Office, Аллен Браун и The Access Web. Когда возможные решения были включены в качестве фрагментов в библиотеку фрагментов включен в надстройку Code VBA для знаний и повышения производительности, которую можно скачать здесь. При выборе страниц для ссылок я сделал личное суждение о том, что я считаю полезным. Ссылки сгруппированы по темам, которые говорят сами за себя. Всякий раз, когда сам заголовок ссылки недостаточно ясен, я добавляю краткое объяснение того, чего ожидать.

Работа с формами доступа с помощью VBA

Открытие и закрытие форм

  • Открыть форму доступа — используя аргументы DoCmd.OpenForm: представление, режим данных, имя фильтра, где условие и аргументы открытия.
  • Закрыть форму доступа — сохранить запись перед закрытием формы, запросить подтверждение у пользователя перед закрытием формы, закрыть все открытые формы, сохранить изменения в объекте формы
  • Держите что-то открытым — после закрытия формы, возможно, что-то вроде формы «Коммутатор».

Навигация по данным формы

  • Перейти к записи с помощью DoCmd — сначала перейти, затем, использовать смещение. Также использование DoCmd.GoToRecord для навигации по подчиненной форме и как отключить кнопки навигации, если это первая или последняя запись в форме
  • Фильтр формы в поле со списком или поле в подчиненной форме
  • Изменение фильтра или порядка сортировки формы или отчета. После открытия формы или отчета вы можете изменить фильтр или порядок сортировки в ответ на действия пользователей, задав свойства формы и отчета.
  • Возврат к той же записи при следующем открытии формы

Изменение данных формы

  • Дублировать запись в форме и подформе
  • Присвоить значения по умолчанию из последней записи
  • Блокировка связанных элементов управления в форме и подчиненных формах для предотвращения случайного изменения данных в Access
  • Запрашивать подтверждение, когда пользователь удаляет запись (Form_BeforeDelConfirm)
  • Выполнять проверки достоверности данных при редактировании записи

Другое

  • Управление несколькими экземплярами формы
  • Формы, отчеты и базы данных по умолчанию
  • Распечатать запись в форме
  • Для установки свойства формы или отчета — другой синтаксис и что быстрее

События

  • Порядок событий для объектов базы данных Access
  • События формы

Органы управления

См.

элементы управления
  • См. Элементы управления в форме с вкладками
  • Установить свойство элемента управления

Текстовое поле

  • Свободное текстовое поле: ограничение длины записи
  • Автоматически размещать курсор в конце текста
  • Предотвратить #Error, когда в подчиненной форме нет записей

Поле со списком/раскрывающийся список

  • Использование поля со списком для поиска записей
  • Комбинации с десятками тысяч записей
  • Ограничить содержимое полей со списком/списков
  • Добавление значений в таблицы поиска
  • Раскрывающийся список, когда элемент управления получает фокус

Подформа

  • Скрыть подчиненную форму при отсутствии записей

Раздел

  • Для установки свойства раздела формы или отчета

Работа с отчетами о доступе

  • Отчет об открытом доступе — с использованием аргументов DoCmd.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *