End Function

В качестве параметров в функцию передаются имя панели команд barName, индекс элемента панели index и значение свойства state.

Переменная char будет содержать ссылку на нужную панель, возвращаемую

функцией CommandBars.

Семейство Controls содержит все элементы панели. Для доступа к конкрет­ному элементу используется индекс, соответствующий номеру элемента в семействе.

В отличие от других семейств объектной модели VBA в семействе controls элементы нумеруются не с нуля, а с единицы.

Это означает, что для ссылки на первый элемент семейства нужно использовать выражение

CommandBar.Controls(1) вместо ожидаемого CommandBar.Controls (0).

Аналогичная функция может быть использована для того, чтобы скрыть или показать отдельные меню или кнопки на панели команд, только изменяться должно свойство visible того же самого семейства controls:

Function SetEnabled (barName As String, index As Integer, state As Boolean)

Dim char As Object

Set char = CommandBars(barName)

char.Controls(index).Visible = state

SetEnabled = True

End Function

Созданные вами меню и панели инструментов должны в нужное время по­являться на экране.

В большинстве случаев это обеспечивается тем, что соз­дается одна общая строка меню и одна общая панель инструментов, кото­рые выводятся на экран при запуске приложения и заменяются в нужное время меню и панелями инструментов, связанными с формами и отчетами (если, конечно, вы отключили встроенные меню и панели инструментов Access, задав соответствующие параметры запуска).

Тем не менее, существует возможность программно управлять выводом на экран строк меню и панелей инструментов.

Чтобы задать свою собственную строку меню в качестве главной строки ме­ню в приложении можно либо изменить параметр Строка меню в окне Параметры запуска.

Для того чтобы показывать или прятать панели инструментов в процессе работы программы, можно использовать макрокоманду панельИнструментов. Эта макрокоманда имеет два аргумента: имя панели инстру­ментов и значение Показать.

Поле Показать на панели инструментов позволяет определить три зна­чения:

1. Да (Yes) — панель инструментов будет всегда отображаться на экране.

2. В обычном режиме (Where Appropriate) — панель инструментов будет ото­бражаться только при необходимости. Этот режим используется для встроенных панелей инструментов.

3. Нет (No) — панель инструментов будет скрыта.

Вместо макроса можно использовать метод showToolbar объекта DoCmd.

Это будет выглядеть в коде VBA следую­щим образом:

DoCmd ShowTooibar "Главное меню", acToolbarYes,

где acToolbarYes — встроенная константа.

Приложение

Рассмотрим реализацию следующей задачи:

Для некоторой фирмы-посредника между клиентом и поставщиками создать приложение, которое будет позволять вести работу с клиентом:

А) добавлять сведения о новом клиенте

Б) добавлять сведения о новых поступлениях товара

В) формировать бланк заказа, в котором будут видны сведения о

клиенте (название, адрес, телефон, № счета), текущая дата,

список купленных товаров с указанием цены, поставщика, количества,

ставки НДС, итоговой суммы, с указанием фамилии сотрудника данной

фирмы, оформившего заказ, с возможностью сохранения данных по

продажам в отдельных таблицах для анализа деятельности предприятия,

с возможностью вывода этого бланка на печать в качестве счета к оплате.

Этапы реализации задачи:

1. Создать таблицу «Анализ данных» (не заполнять) с полями:

Клиент

Исполнитель

Дата_заказа

Сумма_заказа

№_заказа - тип Счётчик

2. Создать таблицу «Анализ данных1» (не заполнять) с полями:

Поставщик

Товар

Цена

№_заказа

3. Создать таблицу «Товары» с полями:

Товар

Поставщик

Цена

Адрес_поставщика

№_счета_поставщика

4. Создать таблицу «Клиент» с полями:

Клиент

Телефон

Адрес_клиента

№_счета_клиента

5. Заполнить имеющимися данными эти таблицы.

     
 
 
 


6. Создать таблицу «Промежуточная» (не заполнять) с полями:

Товар

Поставщик

Цена

Количество

Ставка_НДС

Сумма_с_НДС

 
 


7.Создать форму «Клиент» с элементами управления:

а) поле со списком на основе таблицы «Клиент»

б) кнопка с именем «OK»

8.Создать форму «Товар» с элементами управления:

а) список на основе таблицы «Товар» (поля

Товар, Поставщик, Цена)

б) кнопка с именем «OK»

 
 


9.Создать автоформу табличную на основе таблицы «Промежуточная».

 
 


10.Создать форму «Бланк _заказа» с элементами управления:

o Поле_со_списком (имя –Исполнитель, с фиксированным набором значений, куда заносятся фамилии сотрудников данной фирмы)

o Текстовое поле с именем Дата

o Текстовые поля с именами Клиент, Телефон, Адрес_клиента, №счета_клиента

o Кнопка «Клиенты»

o Кнопка «Товары»

o Кнопка «Добавить клиента»

o Кнопка «Добавить товар»

o Кнопка «Итог»

o Текстовое поле с именем Итого

o Внедрить подчинённую форму «Промежуточная»

o Кнопка «Сохранить»

Форма будет выглядеть следующим образом:

 
 


11. Создать форму «Новый _товар» с элементами управления:

o текстовые поля с именами: Товар, Поставщик, Цена, Адрес_поставщика, №счета_поставщика

o кнопка Добавить_данные_о_товаре

 
 


В текстовом поле Дата должна стоять текущая дата.

Для этого в свойствах этого поля:

Вкладка ДАННЫЕ/Значение по умолчанию =Date().

После открытия формы в этом поле автоматически появляется значение текущей даты.

1. По нажатию кнопки Клиенты должна открываться форма «Клиент»:


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: