У вас вопросы?
У нас ответы:) SamZan.net

Информация о студентах может быть сохранена на рабочем листе электронной таблицы специально для этого сф

Работа добавлена на сайт samzan.net: 2016-03-30

Поможем написать учебную работу

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

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

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 6.4.2025

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

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

Согласно возможностям Excel 7.0, диалоговые окна создаются либо непосредственно в редакторе Visual Basic в добавленной UserForm, либо на листе диалога  среди рабочих листов книги. Рассмотрим второй вариант.

Итак, сформируем окно диалога на рабочем листе открытой рабочей книги, для чего при помощи дополнительного меню ярлычков листа, добавим в рабочую книгу лист диалога Excel 5.0 и вызовем для использования панель инструментов Формы. Согласно рисунку 1, создаём диалоговое окно «Личная карточка студента» с использованием полей ввода, надписей, переключателей, флажков, рамок, счётчиков, раскрывающихся списков и кнопок:

Рис. 1. Окно диалога Личная карточка студента.

Элементы управления формируются в окне диалога по порядку: слева направо, сверху вниз. Работа окна диалога тестируется при помощи кнопки         : Отобразить окно, причём постоянно проверяется последовательность перехода от одного элемента управления к другому при помощи клавиши Тab. Проверенная последовательность сравнивается с фактической. Для этого необходимо в дополнительном меню окна диалога выбрать пункт Последовательность перехода.

Дальнейшие действия по активизации диалога связаны с фокусированием элементов управления счётчик и раскрывающийся список.

Раскрывающийся список для выбора месяца формируется следующим образом:

  1.  На рабочем листе книги создать список смежных ячеек: Январь, Февраль, ..., Декабрь.
  2.  На листе диалога получить дополнительное меню для созданного элемента управления Поле ввода с раскрывающимся списком (по правой кнопке «мыши»).
  3.  Выбрать в меню пункт Формат объекта и выбрать в раскрывшемся окне вкладку Элемент управления:
  4.  

В поле ввода Формировать список по диапазону показать абсолютные адреса списка месяцев на рабочем листе.

  1.  В следующем поле ввода указать адрес пустой ячейки, куда будет заноситься номер выбранного элемента списка, например, 3, если выбран Март.
  2.  Указать количество элементов (строк) списка, равное 12 (12 месяцев) и ОК.

Для фокусировки элемента Счётчик необходимо:

  1.  В его дополнительном меню указать начальное (1960), минимальное (1960) и максимальное (2000) значения счётчика, шаг равен 1;
  2.  Как и в предыдущем случае указать адрес пустой ячейки для помещения результата выбранного значения счётчика;
  3.  Для того, чтобы данное значение отображалось не только в указанной ячейке рабочего листа, но и в шестом  текстовом поле  окна диалога, надо составить программу переприсвоения значения выбранного счётчика содержимому текстового поля.

         Процедура настройки работы счётчика имеет вид:

Sub ff ()

 k = DialogSheets("Карточка").Spinners(1).Value

 DialogSheets("Карточка").EditBoxes(6).Text = k

End Sub

, где переменной k присваивается значение (см. табл. на стр.5) первого счётчика окна диалога с именем Карточка, а затем содержимому шестого текстового поля – значение переменной k .

Все разработанные процедуры можно отредактировать на одном листе модуля в редакторе Visual Basic. Для этого вызвав Сервис Макрос Редактор Visual Basic, входим в окно редактора и вставляем окно модуля при помощи пункта Вставка , либо кнопки:                                . Убедившись в работе вспомогательных элементов управле

                                     ния, переходим к активизации кнопок Сохранить сведения 

                                     (по нажатии клавиши Enter) и кнопки Отмена ( по нажатии

                                     клавиши Esc).

Кнопке Отмена назначим  макроопределение, закрывающее диалоговое окно:     

                         Sub cancel()

  DialogSheets("Карточка").Hide

                End Sub

       Кнопке Сохранить сведения назначается процедура Sav_dann (), которая вызывает процедуру Сlear (), выполняющую очистку и восстановление значений элементов управления окна диалога после произведённого считывания перед последующим обращении к диалогу:

Sub Сlear ()

With DialogSheets("Карточка")

   .Buttons(1).DefaultButton = True

  .Buttons(2).CancelButton = True

  For i = 1 To 14

    .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

Согласно данной программе, вся информация, указанная пользователем в диалоговом окне Карточка, будет сохранена в таблице (см. стр.5), сформированной на рабочем листе Сп.студентов.

Для вызова окна диалога Карточка студента необходимо создать собственную панель инструментов с кнопкой вызова процедуры активизации окна:

 Sub Out ()

                                 DialogSheets("Карточка").Show

                             End Sub

Таблица, где будут храниться записи базы данных, имеет вид, показанный на странице 5. Необходимо на рабочем листе с именем Сп.студентов сформировать данную таблицу и протестировать работу диалогового окна.

Варианты заданий:

Вариант 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 -




1. американская философия направление в философской мысли XX века развивающееся преимущественно в англояз
2. Связи с общественностью в современных организациях
3. ВАРІАНТ 3 Початковий рівень Вкажіть коли в основному завершився перехід промисловості на випуск мирн
4. Москва третий Рим
5. Мова та література яка полягає в умінні встановлювати елементарні комунікативні контакти під час виконан
6. а сведения любого характера производственные технические экономические организационные и другие в том
7. правовом смысле и субъектом МП например колониальные страны
8. Модуль Тематичний модуль Тема заняття
9. Методические рекомендации для практических занятий Тема- Воспаление- изучение механизмов во
10. рефератов к олимпиаде По дисциплине судоустройство Судебноправовая реформа- значение и способ