Создайте новую базу данных. В ней простую форму в режиме конструктора с именем "Упражнение №1".
Задание №1. В форме создать кнопку, при нажатии которой в поле надписи высвечивается текущая дата.
Порядок выполнения. Внутри формы создайте надпись, присвойте ей имя посредством свойства "Имя". Значением имени пусть будет слово "Today". Создайте кнопку с текстом "Какое сегодня число?". Для кнопки определите свойства "События" - "Нажатие кнопки" как процедуру обработки события. Программа на VBA будет по умолчанию иметь имя "Кнопка№_Click" (вместо № будет какое-то число). В ее тексте запишите строку:
Today.Caption = Date()
Таким образом, функция даты (Date) присвоит значение надписи (Today.Caption) Запустите программу, исправьте возможные ошибки.
Задание №2. В форме создать кнопку, при нажатии которой в поле надписи может быть введена произвольная дата.
Порядок выполнения. Аналогично предыдущему примеру вплоть до текста процедуры обработки события. Если имя надписи "myDate", то текстом будет:
Dim d As String
d = InputBox("Введите дату")
myDate.Caption = d
Объявлена переменная d для ввода даты? Окно ввода данных InputBox, Надпись приняла Caption, равное d.
Если выполнить отмену ввода даты, то переменная d не принимает никакого значения, что ведет к ошибке. Добавьте строку, которая прервет выполнение события (Exit Sub), если d - не дата (Not IsDate(d) ):
If Not IsDate(d) Then Exit Sub
Задание №3. Надпись высвечивается цветом, принятым по умолчанию (черный). Изменить цвет надписи, если введенная дата - выходной день (воскресенье).
Порядок выполнения. Внесите изменения в текст процедуры обработки события:
После ввода даты определите номер дня в неделе, считая, что понедельник - 1-ый.
Dim n As Integer
n = WeekDay(d, vbMonday)
Выберите цвет надписи (ForeColor) равным 255 (красный), если номер = 7, и 0(черный) в остальных случаях.
If n = 7 Then
myDate.ForeColor = 255
Else
myDate.ForeColor = 0
End If
myDate.Caption = d
Дополнительное задание: Измените цвет и для субботы (шестой день недели).
Задание №4. Создать кнопку, при нажатии которой будет определен день недели для введенной даты.
Порядок выполнения. Аналогично второму заданию. Вместо вывода значения даты в надпись (имеет имя "Неделя"), нужно выводить текст названия дня недели в зависимости от его номера, который известен переменной n (например, номер понедельника = 1). Для выбора названия по номеру используйте оператор Select Case:
Select Case n
Case 1
Неделя.Caption = "Понедельник"
Case 2
Неделя.Caption = "Вторник"
End Select
Дополнительное задание. Задайте выделение цветом названий дней недели для выходных дней (суббота, воскресенье). (Убрать в макете формы - линейки прокрутки, полосы выделения, кнопки перехода по записям.)
Задание №1. В форме создать кнопку, при нажатии которой в поле надписи высвечивается текущая дата.
Порядок выполнения. Внутри формы создайте надпись, присвойте ей имя посредством свойства "Имя". Значением имени пусть будет слово "Today". Создайте кнопку с текстом "Какое сегодня число?". Для кнопки определите свойства "События" - "Нажатие кнопки" как процедуру обработки события. Программа на VBA будет по умолчанию иметь имя "Кнопка№_Click" (вместо № будет какое-то число). В ее тексте запишите строку:
Today.Caption = Date()
Таким образом, функция даты (Date) присвоит значение надписи (Today.Caption) Запустите программу, исправьте возможные ошибки.
Задание №2. В форме создать кнопку, при нажатии которой в поле надписи может быть введена произвольная дата.
Порядок выполнения. Аналогично предыдущему примеру вплоть до текста процедуры обработки события. Если имя надписи "myDate", то текстом будет:
Dim d As String
d = InputBox("Введите дату")
myDate.Caption = d
Объявлена переменная d для ввода даты? Окно ввода данных InputBox, Надпись приняла Caption, равное d.
Если выполнить отмену ввода даты, то переменная d не принимает никакого значения, что ведет к ошибке. Добавьте строку, которая прервет выполнение события (Exit Sub), если d - не дата (Not IsDate(d) ):
If Not IsDate(d) Then Exit Sub
Задание №3. Надпись высвечивается цветом, принятым по умолчанию (черный). Изменить цвет надписи, если введенная дата - выходной день (воскресенье).
Порядок выполнения. Внесите изменения в текст процедуры обработки события:
После ввода даты определите номер дня в неделе, считая, что понедельник - 1-ый.
Dim n As Integer
n = WeekDay(d, vbMonday)
Выберите цвет надписи (ForeColor) равным 255 (красный), если номер = 7, и 0(черный) в остальных случаях.
If n = 7 Then
myDate.ForeColor = 255
Else
myDate.ForeColor = 0
End If
myDate.Caption = d
Дополнительное задание: Измените цвет и для субботы (шестой день недели).
Задание №4. Создать кнопку, при нажатии которой будет определен день недели для введенной даты.
Порядок выполнения. Аналогично второму заданию. Вместо вывода значения даты в надпись (имеет имя "Неделя"), нужно выводить текст названия дня недели в зависимости от его номера, который известен переменной n (например, номер понедельника = 1). Для выбора названия по номеру используйте оператор Select Case:
Select Case n
Case 1
Неделя.Caption = "Понедельник"
Case 2
Неделя.Caption = "Вторник"
End Select
Дополнительное задание. Задайте выделение цветом названий дней недели для выходных дней (суббота, воскресенье). (Убрать в макете формы - линейки прокрутки, полосы выделения, кнопки перехода по записям.)
Немає коментарів:
Дописати коментар