- •Введение
- •Тема 1. Технологии работы с объектами в базе данных ms Access.
- •Тема 2. Основы разработки приложения в субд access
- •Выражение1: Year(Now()) – Year([Студенты]![Дата рождения])
- •Соunt([Фамилия])
- •Списки студентов по курсам и группам
- •Тема 3. Целостность данных
- •Тема 4. Конструирование запросов
- •Тема 5. Создание вычисляемых полей. Запросы-действия
- •Тема 6. Конструирование отчетов
- •Тема 7. Язык sql
- •Insert into student (Id, city, name) values (101, null, "Туров", 200)
- •Содержание таблицы Авторы
- •Содержание таблицы Сувенир
- •Содержание таблицы Файл Содержание таблицы Дерево
- •Тема 8. Элементы автоматизации приложения
- •Тема 9. Программирование элементов управления формы
- •If Not IsNull(Me![Фото]) Then
- •If Not IsNull(Me![Фото]) Then
- •Тема 10. Конструирование макросов
- •Тема 11. Разработка кнопочной формы
- •Тема 12. Проектирование базы данных
- •Тема 13. Реализация проекта и управление базой данных
- •Литература Основная
- •Дополнительная
- •Содержание
If Not IsNull(Me![Фото]) Then
Me![ImageFrame].Picture = path & "\" & Me![ImagePath]
showImageFrame
Me.PaintPalette = Me![ImageFrame].ObjectPalette
If (Me![ImageFrame].Picture <> path & "\" & Me![ImagePath]) Then
hideImageFrame
ErrorMsg.Caption = "Фотография не найдена"
ErrorMsg.Visible = True
End If
Else
hideImageFrame
ErrorMsg.Caption = "Для добавления или удаления фотографии _
нажмите кнопку ""Добавить фото"" или ""Удалить фото"""
ErrorMsg.Visible = True
End If
Данная процедура позволяет отображать в форме фотографию, если она имеется для записи текущего сотрудника, Если указанный файл не существует, либо если для текущего сотрудника поле Фото пусто, надпись ЕrrorMsg выводит соответствующее сообщение.
Рис. 9.2. Диалог подключения дополнительных библиотек
В окне редактора Visual Basic выполнить команду Tools—References и подключить дополнительные библиотеки, как показано на рис. 9.2.
Скопировать тексты вспомогательных процедур из файла Procedurs_9.txt и вставить их после всех процедур, созданных для формы Студенты.
Содержимое файла Procedurs_9.txt:
Sub getFileName()
' Процедура выбора имени файла с фотографией текущего студента
' с помощью стандартного окна открытия файла Office.
' Если пользователь указывает файл, его содержимое
' отображается в элементе управления ImageFrame.
Dim fileName As String
Dim result As Integer
With Application.FileDialog(msoFileDialogFilePicker)
.Title = "Выбор фотографии студента"
.Filters.Add "Все файлы", "*.*"
.Filters.Add "JPEG", "*.jpg"
.Filters.Add "Рисунки", "*.bmp"
.FilterIndex = 1
.AllowMultiSelect = False
.InitialFileName = CurrentProject.path
result = .Show
If (result <> 0) Then
fileName = Trim(.SelectedItems.Item(1))
Me![ImagePath].Visible = True
Me![ImagePath].SetFocus
Me![ImagePath].Text = StrReverse(Left(StrReverse(fileName), _
InStr(1, StrReverse(fileName), "\") - 1))
Me![Имя].SetFocus
Me![ImagePath].Visible = False
End If
End With
End Sub
Sub showErrorMessage()
' Выводит сообщение errormsg, если файл фотографии недоступен.
If Not IsNull(Me![Фото]) Then
ErrorMsg.Visible = False
Else
ErrorMsg.Visible = True
End If
End Sub
Sub hideImageFrame()
' Скрывает элемент управления с фотографией.
Me![ImageFrame].Visible = False
End Sub
Sub showImageFrame()
' Выводит элемент управления с фотографией.
Me![ImageFrame].Visible = True
End Sub
Форму сохранить, перейти в режим Формы и проверить работоспособность сделанных изменений.
Задание 9.4. Создать форму для работы с таблицей Успеваемость и возможностью ввода названия предмета при отсутствии его в списке предметов.
Рекомендации по выполнению:
Создать форму для ввода и просмотра данных таблицы Успеваемость:
на закладке Формы выбрать строку Создание формы с помощью мастера;
выбрать поля Фамилия, Имя, Отчество, Группа из таблицы Студенты и поля Предмет, Оценка из таблицы Успеваемость;
выбрать вид представления данных по таблице Студенты;
выбрать внешний вид подчиненной формы — Ленточный;
выбрать стиль — Стандартный;
задать имена форм:
Форма: Оценки студентов
Подчиненная форма: Успеваемость подчиненная форма
открыть форму Успеваемость подчиненная форма в режиме Конструктора;
открыть свойства формы на закладке Данные;
нажать кнопку ... для строки Источник записей;
выбрать в бланке запроса поля в следующем порядке: Оценка, Предмет, Фамилия, Имя, Отчество;
для поля Оценка задать сортировку по возрастанию;
закрыть построитель запросов и форму, сохранив изменения.