Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Создание интерфейса работы с базой данныхСодержание книги Поиск на нашем сайте
Возможности Excel и VBA можно использовать для формирования простых баз данных и пользовательского интерфейса управления ими.
Создадим базу данных по учету оплаты за электроэнергию. Таблица базы данных должна содержать: фамилию, имя, адрес плательщика, дату платежа, тариф, показания счетчика (текущее
и предыдущее), подсчитанный расход электроэнергии, сумму к оплате.
Откроем новую рабочую книгу Excel и перейдем в редактор VBA. Выберем из меню Вставка команду UserForm. В редакторе появится заготовка диалоговой формы. Изменим в свойстве
Caption заголовок формы UserForm1 на Учет оплаты за электроэнергию.
Создадим в форме две рамки (Frame).
Первой рамке в свойстве Caption изменим заголовок на Информация о клиенте, а второй рамке—на Информация о платеже. В этих рамках разместим элементы управления Label и TextBox.
Изменим имена всем семи элементам TextBox. В их соответствии можно разобраться по коду макроса CommandBut-ton1_Click(), приведенного ниже.
Также добавим три элемента управления CommandButton с заголовками: Принять, Отмена, Выход, Диаграмма (Рисунок 5.14).
Затем вернемся к нашей рабочей книге. Листу с именем Лист 2 присвоим имя База,а листу Лист 1 присвоим имя Меню. На листе с именем Меню поместим элемент ActiveX Кнопка. Изменим заголовок кнопки на Прием платежа (свойство Caption),а имя кнопки(свойство Name) —на ПриемПлатежа.
Рисунок 5.14 — Форма с размещенными на ней
объектами интерфейса
Перейдем в редакторе на лист 1 (Меню) и создадим процедуру отклика кнопки на щелчок:
Private Sub ПриемПлатежа _Click()
'Вызываем процедуру формирования заголовков базы данных
ЗаголовокРабочегоЛиста End Sub
Для формирования заголовков столбцов базы данных создадим процедуру ЗаголовокРабочегоЛиста, которая будет вызываться из процедуры обработки кнопки рабочего листа «Прием платежа». Для этого выполним команду меню «Вставка | Процедура».Присвоим ей имя. Процедура выполняет следующие действия:
– проверяет, заполнена ли первая строка — строка заголовков столбцов (по значению ячейки А 1); если заполнена, то не выполняет никаких действий и завершает работу, передавая управление в точку вызова; – если первая строка не заполнена, то в ячейки первой строки рабочего листа записывает название граф баз данных, комментарии к ним, закрепляет первую строку и завершает работу, передавая управление в точку своего вызова.
В окне редактирования кода введем текст этой процедуры:
Private Sub ЗаголовокРабочегоЛиста ()
'Активизируем рабочий лист
Application.Worksheets(" База ").Activate 'Проверяем, есть ли названия столбцов. В противном случае вносим их With ActiveSheet
If.Range("A1").Value = " Фамилия " Then .Range("A2").Select Else 'Очищаем рабочий лист ActiveSheet. Cells. Clear 'Записываем названия столбцов
Application.Worksheets(" База ").Range("A1:I1").Select With Selection
.Value= Array(" Фамилия ", " Имя ", " Адрес ", " Текущее показание счетчика ", " Предыдущее показание счетчика ", " Тариф ", " Дата платежа ", " Расход электроэнергии ", " Сумма ") .Interior.ColorIndex = 8 .Font.Bold = True End With 'Вставляем комментарии .Range("A1").AddComment .Range("A1").Comment.Visible = False .Range("A1").Comment.Text Text:= " Фамилия клиента " .Range("B1").AddComment .Range("B1").Comment.Visible = False .Range("B1").Comment.Text Text:= " Имя клиента " .Range("C1").AddComment .Range("C1").Comment.Visible = False .Range("C1").Comment.Text Text:= " Адрес клиента "
.Range("D1").AddComment .Range("D1").Comment.Visible = False . Range («D 1»). Comment. Text Text:= " Текущее показание счетчика "
.Range("E1").AddComment.Range("E1").Comment.Visible =False .Range("E1").Comment.Text Text:= " Предыдущее показание счетчика " .Range("F1").AddComment.Range("F1").Comment.Visible = False.Range("F1").Comment.Text Text:= " Тариф ".Range("G1").AddComment.Range("G1").Comment.Visible = False.Range("G1").Comment.Text Text:= " Дата платежа ".Range("H1").AddComment.Range("H1").Comment.Visible = False .Range("H1").Comment.Text Text:= " Расход электроэнергии " .Range("I1").AddComment.Range("I1").Comment.Visible = False .Range("I1").Comment.Text Text:= " Сумма " End If End With 'Форматирование табличных ячеек
Worksheets(" База ").Range("A:I").Select With Selection
.HorizontalAlignment = xlCenter .VerticalAlignment = xlCenter .WrapText = True .Orientation = 0 .AddIndent = False .ShrinkToFit = False End With 'Вызвать на экран форму
UserForm1.Show End Sub
Напишем процедуры для кнопок Принять, Отмена и Выход. Перейдем к форме, щелкнув два раза по UserForm1 в окне Project-VBAProject. В появившейся форме два раза щелкнем покнопке «Принять», перейдя в процедуру обработки события Click.
Запишем следующий код (здесь, как и в предыдущей работе, изменены имена элементов управления на форме: Private Sub CommandButton1_Click() 'Декларация переменных Dim fam, nam, adr As String
|
||||
Последнее изменение этой страницы: 2020-11-11; просмотров: 302; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.147.68.25 (0.007 с.) |