Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Управление_базами_данных&A2007_New.doc
Скачиваний:
17
Добавлен:
25.09.2019
Размер:
6.43 Mб
Скачать

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. Диалог подключения дополнительных библиотек

  1. В окне редактора Visual Basic выполнить команду Tools—References и подключить дополнительные библиотеки, как показано на рис. 9.2.

  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

  1. Форму сохранить, перейти в режим Формы и проверить работоспособность сделанных изменений.

Задание 9.4. Создать форму для работы с таблицей Успеваемость и возможностью ввода названия предмета при отсутствии его в списке предметов.

Рекомендации по выполнению:

  1. Создать форму для ввода и просмотра данных таблицы Успеваемость:

    • на закладке Формы выбрать строку Создание формы с помощью мастера;

    • выбрать поля Фамилия, Имя, Отчество, Группа из таблицы Студенты и поля Предмет, Оценка из таблицы Успеваемость;

    • выбрать вид представления данных по таблице Студенты;

    • выбрать внешний вид подчиненной формы — Ленточный;

    • выбрать стиль — Стандартный;

    • задать имена форм:

Форма: Оценки студентов

Подчиненная форма: Успеваемость подчиненная форма

  • открыть форму Успеваемость подчиненная форма в режиме Конструктора;

  • открыть свойства формы на закладке Данные;

  • нажать кнопку ... для строки Источник записей;

  • выбрать в бланке запроса поля в следующем порядке: Оценка, Предмет, Фамилия, Имя, Отчество;

  • для поля Оценка задать сортировку по возрастанию;

  • закрыть построитель запросов и форму, сохранив изменения.