Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Создание интерфейса работы с базой данных

Поиск

 

Возможности 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 с.)