вівторок, 18 жовтня 2011 р.

Access+VBA

Создайте новую базу данных. В ней простую форму в режиме конструктора с именем "Упражнение №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

Дополнительное задание. Задайте выделение цветом названий дней недели для выходных дней (суббота, воскресенье). (Убрать в макете формы - линейки прокрутки, полосы выделения, кнопки перехода по записям.)

Немає коментарів:

Дописати коментар