Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Расписание (в определенном временном интервале)

Читайте также:
  1. Внимание - это направленность и сосредоточенность сознания на определенном объекте.
  2. Глава 13. От современного к пост-современному
  3. Глава X. Россия на современном этапе. 1991- 2012гг. 1 страница
  4. Глава X. Россия на современном этапе. 1991- 2012гг. 3 страница
  5. Замена переменной в неопределенном интеграле
  6. Замена переменной в определенном интеграле
  7. Каждая линия относится к определенному моменту, с тех пор как была активирована кнопка.

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

1. Заполнение формы:

2. Отображение результата на Листе №2:

Листинг

'====================================================================================

'Создает на 2 листе книги таблицу, которая содержит информацию о поездах, которые

'отправляются до заданной станции в заданном интервале времени

'====================================================================================

 

Private Sub CommandButton4_Click ()

'--------ОПИСАНИЕ ВНУТРЕННИХ ПЕРЕМЕННЫХ----------

Dim destination As String ' Станция назначения

Dim st_hour_s As Integer ' Час отправления (с)

Dim st_min_s As Integer ' Минута отправления (с)

Dim st_time_s As Date ' Время отправления в формате ЧЧ:ММ (с)

Dim st_hour_t As Integer ' Час отправления (до)

Dim st_min_t As Integer ' Минута отправления (до)

Dim st_time_t As Date ' Время отправления в формате ЧЧ:ММ (до)

 

Dim train_id As String ' Номер поезда

Dim tic_coupe As Integer ' Количество билетов в купе

Dim tic_reserve As Integer ' Количество билетов в плацкарт

 

Dim i, j As Integer ' Счетчики для циклов

 

'------------СБОР ДАННЫХ С ИНТЕРФЕЙСА------------

destination = TextBox13.Value

 

' Час отправления строго типизирован - отслеживаем ошибки:

On Error GoTo m_error_8

st_hour_s = TextBox14.Value

' Диапазон часов - от 0 до 23:

If ( st_hour_s < 0 Or st_hour_s > 23) Then GoTo m_error_8

' Минута отправления строго типизирована - отслеживаем ошибки:

On Error GoTo m_error_8

st_min_s = TextBox15.Value

' Диапазон минут - от 0 до 59:

If ( st_min_s < 0 Or st_min_s > 59) Then GoTo m_error_8

' Формируем строку с временем отправления поезда:

st_time_s = CDate ( st_hour_s & ":" & st_min_s )

 

' Час отправления строго типизирован - отслеживаем ошибки:

On Error GoTo m_error_8

st_hour_t = TextBox16.Value

' Диапазон часов - от 0 до 23:

If ( st_hour_t < 0 Or st_hour_t > 23) Then GoTo m_error_8

' Минута отправления строго типизирована - отслеживаем ошибки:

On Error GoTo m_error_8

st_min_t = TextBox17.Value

' Диапазон минут - от 0 до 59:

If ( st_min_t < 0 Or st_min_t > 59) Then GoTo m_error_8

' Формируем строку с временем отправления поезда:

st_time_t = CDate ( st_hour_t & ":" & st_min_t )

'--------------ПОИСК ПО ПАРАМЕТРАМ---------------

i = 1 ' Счетчик строк (Лист 1)

j = 1 ' Счетчик строк (Лист 1)

Worksheets ( "Лист2" ). Cells.ClearContents ' Очистка листа №2

' Заполняем шапку таблицы:

Лист2.Cells ( j, 1). Value = "Номер поезда"

Лист2.Cells ( j, 2). Value = "До станции:"

Лист2.Cells ( j, 3). Value = "Отправление"

Лист2.Cells ( j, 4). Value = "в купе"

Лист2.Cells ( j, 5). Value = "в плацкарте"

j = j + 1

Do

i = i + 1 ' Считаем очередную строку

' Ищем совпадения:

If ( Лист1.Cells ( i, 2). Value = destination ) And _

( CDate ( Лист1.Cells ( i, 4). Value ) >= st_time_s And CDate ( Лист1.Cells ( i, 4). Value ) <= st_time_t ) Then

' Нашли нужную запись - визуализируем на листе №2:

Лист2.Cells ( j, 1). Value = Лист1.Cells ( i, 1)

Лист2.Cells ( j, 2). Value = Лист1.Cells ( i, 2)

Лист2.Cells ( j, 3). Value = CDate ( Лист1.Cells ( i, 4))

Лист2.Cells ( j, 4). Value = Лист1.Cells ( i, 6)

Лист2.Cells ( j, 5). Value = Лист1.Cells ( i, 7)

j = j + 1

' Все ли записи проверили?

ElseIf ( Лист1.Cells ( i, 3). Value = "" ) Then

GoTo m_success: ' Список закончился

End If

Loop Until ( False )

GoTo m_success ' Все операции выполнены без ошибок

 

'------БЛОК ОБРАБОТКИ ВНЕШТАТНЫХ СИТУАЦИЙ--------

m_error_8:

MsgBox "Ошибка при вводе ВРЕМЕНИ ОТПРАВЛЕНИЯ!"

Exit Sub

 

'----ДИАГНОСТИКА УСПЕШНОГО ВЫПОЛНЕНИЯ ЗАДАЧИ-----

m_success:

MsgBox "Данные, удовлетворяющие параметрам, помещены на Лист №2."

End Sub


Дата добавления: 2015-10-29; просмотров: 172 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Добавление данных| Сортировка (по выбранному параметру)

mybiblioteka.su - 2015-2024 год. (0.015 сек.)