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

Предоплата всего

Подписываем
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Предоплата всего
Подписываем
Рассмотрим в качестве примера организацию и программирование окна диалога, необходимого для ввода сведений о студентах, и последующем сохранении полученной информации в сформированной таблице.
Информация о студентах может быть сохранена на рабочем листе электронной таблицы, специально для этого сформированной, либо может быть организован элемент управления список, каждый элемент которого представлен в виде записи заданной структуры. Второй способ более эффективен для выполнения операций редактирования, просмотра дополнительных сведений об объекте и т.д.
Согласно возможностям Excel 7.0, диалоговые окна создаются либо непосредственно в редакторе Visual Basic в добавленной UserForm, либо на листе диалога среди рабочих листов книги. Рассмотрим второй вариант.
Итак, сформируем окно диалога на рабочем листе открытой рабочей книги, для чего при помощи дополнительного меню ярлычков листа, добавим в рабочую книгу лист диалога Excel 5.0 и вызовем для использования панель инструментов Формы. Согласно рисунку 1, создаём диалоговое окно «Личная карточка студента» с использованием полей ввода, надписей, переключателей, флажков, рамок, счётчиков, раскрывающихся списков и кнопок:
Рис. 1. Окно диалога Личная карточка студента.
Элементы управления формируются в окне диалога по порядку: слева направо, сверху вниз. Работа окна диалога тестируется при помощи кнопки : Отобразить окно, причём постоянно проверяется последовательность перехода от одного элемента управления к другому при помощи клавиши Тab. Проверенная последовательность сравнивается с фактической. Для этого необходимо в дополнительном меню окна диалога выбрать пункт Последовательность перехода.
Дальнейшие действия по активизации диалога связаны с фокусированием элементов управления счётчик и раскрывающийся список.
Раскрывающийся список для выбора месяца формируется следующим образом:
В поле ввода Формировать список по диапазону показать абсолютные адреса списка месяцев на рабочем листе.
Для фокусировки элемента Счётчик необходимо:
Процедура настройки работы счётчика имеет вид:
Sub ff ()
k = DialogSheets("Карточка").Spinners(1).Value
DialogSheets("Карточка").EditBoxes(6).Text = k
End Sub
, где переменной k присваивается значение (см. табл. на стр.5) первого счётчика окна диалога с именем Карточка, а затем содержимому шестого текстового поля значение переменной k .
Все разработанные процедуры можно отредактировать на одном листе модуля в редакторе Visual Basic. Для этого вызвав Сервис Макрос Редактор Visual Basic, входим в окно редактора и вставляем окно модуля при помощи пункта Вставка , либо кнопки: . Убедившись в работе вспомогательных элементов управле
DialogSheets("Карточка").Hide
End Sub
Кнопке Сохранить сведения назначается процедура Sav_dann (), которая вызывает процедуру Сlear (), выполняющую очистку и восстановление значений элементов управления окна диалога после произведённого считывания перед последующим обращении к диалогу:
Sub Сlear ()
With DialogSheets("Карточка")
.Buttons(1).DefaultButton = True
.Buttons(2).CancelButton = True
.EditBoxes(i).Text = " "
Next i
.Spinners(1).Min = 1960
.Spinners(1).Max = 2000
End With
End Sub
Sub Sav_dann()
Dim Dann(1 To 17) As Variant
Dim rg As Object
Set rg = Worksheets("Сп.студентов").Cells(1, 1).CurrentRegion
With DialogSheets("Карточка")
Dann(1) = .EditBoxes(1).Text
Dann(2) = .EditBoxes(2).Text
Dann(3) = .EditBoxes(3).Text
Dann(4) = .EditBoxes(4).Text
Dann(5) = .EditBoxes(5).Text
If .OptionButtons(1).Value = 1 Then
Dann(6) = "Мужской"
Else
Dann(6) = "Женский"
End If
Dann(7) = .EditBoxes(6).Text
Dann(8) = .DropDowns(1).List(.DropDowns(1).ListIndex)
Dann(9) = .EditBoxes(7).Text
Dann(10) = .EditBoxes(8).Text
Dann(11) = .EditBoxes(9).Text
Dann(12) = .EditBoxes(10).Text
If .CheckBoxes(1).Value = 1 Then
Dann(13) = "Холост"
Dann(14) = "Нет"
Else
Dann(13) = "В браке"
Dann(14) = .EditBoxes(11).Text
End If
Dann(15) = .EditBoxes(12).Text
Dann(16) = .EditBoxes(13).Text
Dann(17) = .EditBoxes(14).Text
End With
nw = rg.Rows.Count + 1
For i = 1 To 17
Worksheets("Сп.студентов").Cells(nw, i).Value = Dann(i)
Next i
clear
DialogSheets("Карточка").Hide
End Sub
Sub Out ()
DialogSheets("Карточка").Show
Варианты заданий:
Вариант 1.
В редакторе VBA сформировать при помощи элементов управления следующее окно диалога на добавленной Userfom:
Составить программу, которая при нажатии кнопки Сохранить (кнопка Отменить, соот-но, скрывает окно диалога.) заносит сведения о экзамене в специальную таблицу с полями № группы, № зачётной книжки, дисциплина, Ф.И.О. преподавателя, дата сдачи, Ф.И.О. студента, оценка за экзамен. Какими будут Ваши предложения по нормализации данных в базе? Составьте предварительный проект БД.
Наименование ВУЗа |
Код Спец-ти |
Фамилия |
Имя |
Отч. |
Пол |
Год рожд. |
Месяц рождения |
Место рождения |
Национ |
Образование |
Где обучался ранее |
Сем. полож. |
Дети |
Родители |
Адрес местожительства |
Прописка |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
Обьекты Visual Basic |
||||
№ |
Имя обьекта |
Название |
Методы |
Название |
1 |
Application |
Приложение |
CurrentRegion |
Текущая (актуальная) область |
2 |
Workbook |
Рабочая книга |
Activate |
Активизировать |
3 |
Worksheets |
Рабочий лист |
RemoveAllItems |
Удалите все элементы |
4 |
Range |
Диапазон |
AddItem |
Добавьте элементы |
5 |
Cell |
Ячейка |
Value |
Значение |
6 |
Chart |
Диаграмма |
Show |
Показать |
7 |
Rows |
Ряд (строка) |
Hide |
Скрыть |
|
Для элементов управления |
ListIndex |
Индекс листа |
|
8 |
EditBox |
Поле ввода |
Count |
Счет |
9 |
Listbox |
Список |
List |
Значение списка |
10 |
CheckBox |
Флажок |
||
11 |
Label |
Надпись( или метки) |
||
12 |
Spinner |
Счетчики |
||
13 |
OptionButton |
Переключатели ( или опции) |
||
14 |
DropDown |
Поле ввода с раскрывающимся списком |
||
15 |
ScrollBar |
Полоса прокрутки |
||
16 |
CommandButton |
Кнопка |
||
17 |
Frame |
Рамка |
||
18 |
Image |
Рисунок |
||
19 |
Toggle |
Выключатель |
||
20 |
TabScrip |
Набор вкладок |
- 5 -