русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Сохранение данных, введенных в форму


Дата добавления: 2015-07-23; просмотров: 887; Нарушение авторских прав


Проверка корректности данных - это только одна задача, которую решает процедура cmdSave_Click. Вторая задача, решаемая данной процедурой, заключается в записи данных, введенных в форму, в ячейки рабочего листа. Для этого применяются уже проверенные на корректность значения свойств Text и Value элементов управления. Используйте следующие инструкции для завершения написания процедуры cmdSave_Click.

  1. Перейдите на рабочий лист Лист3 и переименуйте его на Расходы.
  2. В первой строке листа создайте строку заголовков, повторяющую названия элементов управления формы. За образец возьмите рабочий лист, показанный на рис. 15.6.
  3. Перейдите в редактор Visual Basic и отобразите экранную форму.
  4. Чтобы открыть окно кода, дважды щелкните на кнопке Сохранить.
  5. Введите в процедуру cmdSave_Click перед оператором Unload Me следующий код:

Worksheets("Расходы").Activate

Range("A2").Select

If Range("A2").Value = "" Then

Range("A2").Activate

Else

Range("A2").CurrentRegion.Select

ActiveCell.Offset(Selection.Rows.Count, 0).Activate

End If

With ActiveCell

.Value = txtRoomNumber.Text

.Offset(0, 1).Value = txtGuestName.Text

.Offset(0,2).Value = lstExpenseType.Text

.Offset(0, 3).Value = txtAmount.Text

.Offset(0, 4).Value = txtDate.Text

If chkTipIncluded.Value = True Then

.Offset(0,5).Value=txtTipAmount.Text

End If

If optBillToRoom.Value = True Then

.Offset(0, 6).Value = "В счет"

ElseIf optCash.Value = True Then

.Offset(0, 6).Value = "Наличные"

ElseIf optCheck.Value = True Then

.Offset(0, 6).Value = "Чеком"

ElseIf optCreditCard.Value = True Then

.Offset(0, 6).Value = "Кредитная карта"

.Offset(0, 7).Value = lstCardType.Text

.Offset(0, 8).Value = txtCardNumber.Text



.Offset(0, 9).Value = txtExpires.Text

End If

End With

  1. Перейдите в рабочую книгу на Лист1.
  2. Сохраните рабочую книгу. (Вообще возьмите себе за правило сохранять рабочую книгу после создания каждой процедуры.)
  3. Щелкните на кнопке, вызывающей экранную форму. Введите 430 в поле Номер комнаты и ваше имя в качестве имени гостя. Выберите в списке Тип расходов пункт Уроки гольфа. В поле сумма введите число 100. Установите флажок Включить и в поле сумму введите 10. Установите переключатель Кредитная карта и выберите тип карты Visa. Введите номер кредитной карты 112233, а срок окончания годности карты - 1.01.01. Щелкните на кнопке Сохранить.
  4. Форма закроется, а введенные в нее данные будут записаны в ячейки рабочего листа Расходы (рис. 15.6).

Теперь изучим подробнее вторую часть кода процедуры. Рассмотрим начало записи данных в рабочий лист.

Worksheets("Расходы").Activate

Range("A2").Select

If Range("A2").Value = "" Then

Range("A2").Activate

Else

Range("A2").CurrentRegion.Select

ActiveCell.Offset(Selection.Rows.Count, 0).Activate

End If

Рис. 15.6. Все введенные в форму данные скопированы в рабочий лист

Здесь сначала делается текущим рабочий лист Расходы, а затем - ячейка А2. Ввод данных начинается со второй строки рабочего листа, так как в первой размещены заголовки столбцов. Далее проверяется, занята ли ячейка А2. Если нет, то начинается запись данных. Если ячейка А2 занята, то находится последняя занятая ячейка. Здесь ведущую роль играет свойство CurrentRegion (Текущая область) объекта Range. После выделения текущей области можно определить ее размеры и, следовательно, найти первую свободную строку. Для этого используется свойство Offset (Смешение).

Далее в процедуре идет непосредственно запись введенных данных в рабочий лист. Затем проверяется, установлены ли флажок Включить и переключатель Кредитная карта, и если установлены, то также переписываются данные из соответствующих полей.

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

  1. Перейдите в редактор Visual Basic и дважды щелкните на кнопке Отмена. Откроется окно кода с заголовком процедуры cmdCancel_Click.
  2. В эту процедуру введите следующую строку кода:

Unload Me.

  1. Сохраните рабочую книгу.

Теперь, если пользователь щелкнет на кнопке Отмена, то экранная форма удалится из памяти компьютера и с экрана. В реальных приложениях при щелчке на кнопке Отмена часто открывается окно сообщения, требующее подтверждение на закрытие формы. Надеюсь, для вас не составит большого труда добавить в процедуру cmdCancel_Click код, открывающий такое окно сообщения.

Резюме

Итак, создано полнофункциональное диалоговое окно, позволяющее вводить данные, проверять их и записывать в рабочий лист. Поздравляю! Вы делаете большие успехи в программировании!

Подведем промежуточные успехи. В последнем часе рассмотрена методика разработки структуры экранной формы. Этот час был посвящен автоматизации экранной формы, т.е. написанию процедур, управляющих поведением формы и ее элементов управления. Другими словами, вы прошли все этапы создания экранных форм от начала до конца. Вы знаете, как вывести форму на экран и инициализировать ее значения, как проверить корректность вводимых в форму данных и записать их в рабочий лист.



<== предыдущая лекция | следующая лекция ==>
Листинг 15.2. Проверка значения поля Номер комнаты | Вопросы и ответы


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.037 сек.