» »

Введение в использование типов данных и свойств полей. Вставка объектов в поле с типом данных ole Поддерживаемые свойства полей

23.11.2020

Поля объекта OLE

MS Access позволяет хранить в таблицах изображения и другие двоичные данные (например, электронную таблицу MS Excel, документ MS Word, рисунок звукозапись). Для этих целей служит тип данных Поле объекта OLE. Фактический объем данных, который Вы можете ввести в поле данного типа, определяется объемом жесткого диска Вашего компьютера (до 1 Гигабайта).

Тип данных мастер подстановок

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

Размер данного поля совпадает с размером ключевого поля, используемого в качестве подстановки (обычно, 4 байта).

Создание структуры таблицы

После того как мы рассмотрели типы данных в Access и отдельные свойства полей таблицы, можно приступить к созданию структуры таблицы. Создание структуры таблицы рассмотрим на примере создания таблицы Заказы базы данных Борей, поставляемой вместе с Access. Данная таблица уже имеется в базе данных Борей, но рассмотрение процесса создания этой таблицы будет весьма полезным. Для того, чтобы не нарушить структуру базы данных Борей, предварительно, создайте учебную базу данных и откройте ее окно.

В окне конструктора таблицы в столбце Имя поля введите КодЗаказа .

Нажмите клавишу Tab или Enter , чтобы перейти в столбец Тип данных. При этом обратите внимание, что в нижней части окна диалога появляется информация в разделе "Свойства поля”.

В столбце Тип данных появилось значение Текстовый. Нажмите на кнопку раскрытия списка в правой части прямоугольника, и Вы увидите список, содержащий все типы данных. Из этого списка с помощью мыши или клавишами вверх и вниз выберите значение Счетчик и нажмите на клавишу Tab для перехода в столбец Описание. Столбец Описание представляет собой пояснение, которое Вы даете своим полям. Когда Вы в будущем будете работать с данной таблицей, это описание будет появляться в нижней части экрана MS Access всякий раз, когда Вы окажетесь в поле КодЗаказа , и напомнит Вам назначение данного поля.

Введите поясняющий текст в столбец Описание и нажмите клавишу Tab или Enter , чтобы перейти к вводу информации о следующем поле.

Аналогичным образом введите описание всех полей таблицы.

Завершив ввод структуры таблицы, сохраните ее, выполнив команду Файл/Сохранить.

В Access 2010 имеется возможность добавлять объекты в поле с типом данных OLE . В том случае, когда тип данных задан, как OLE (Object Linking and Embedding – связывание и внедрение объекта), тогда СУБД Access сохраняет внешний объект в общем файле базы данных, отводя на его хранение столько места, сколько этот объект занимает в виде отдельного файла. Под объектами следует понимать файлы, созданные в виде приложений в графических редакторах, видеоклипов, в приложениях MS Office и т.д. При заполнении таблицы данными, которые являются объектами, в соответствующей позиции поля с типом данных OLE формируется сообщение о программе, с помощью которой можно открыть этот объект. Отображение объекта будет осуществляться только в формах и отчетах.

Для встраивания объекта в поле с типом данных OLE необходимо открыть таблицу в режиме «Конструктор». Добавить новое поле, например «Фото товара». Выбрать тип данных «Поле объекта OLE» , после чего сохранить таблицу.

Затем в режиме «Таблица» в строке для ввода данных щелкнуть правой клавишей мыши, в открывшемся меню следует выбрать строку с командой , что приведет к открытию диалогового окна (рис. 3.38, рис. 3.39).

Рис. 3.38 Вставка объекта

Рис. 3.39 Диалоговое окно для добавления нового объекта в таблицу Access

Следует помнить, что имеется две возможности встраивать объекты в виде данных. Первая возможность предусматривает использование типовых приложений для создания файла, которые поддерживает Access, вторая возможность вставки объекта , что позволяет использовать любой файл в качестве источника данных (рис. 3.40).

Рис. 3.40 Добавления нового объекта в таблицу Access из файла

1. Создание объекта из файла.

Когда речь заходит о данных, которые являются объектами для базы данных, и являются внешними файлами, то требуется иметь эти файлы. Поэтому, потребуется создать несколько файлов, чтобы в дальнейшем увидеть их отображение в базе данных, а также попробовать провести изменение этих файлов. Например, если вы имеете фотографию объекта в файле Монитор.jpg (jpg - универсальный фото формат). Для того чтобы этот файл сохранился в базе данных, следует в окне (рис. 3.40) поставить отметку «Создать из файла» , после чего появится окно, которое представлено на рисунке 3.41. С помощью кнопки «Обзор» следует выбрать необходимый файл.

Рис. 3.41 Поиск файла при создании объекта в базе данных

В соответствующей строке для поля например, «Фото товара» появится слово «Пакет» (Package) , это означает, что файл привязан к приложению, с помощью которого он был создан. Поэтому, при просмотре базы данных, будет ли это запрос, форма или отчет, пользователь увидит изображение файла в виде значка , а при двойном щелчке по этому изображению система сначала найдет приложение, а затем в нем отобразит содержимое файла (в данном примере это фотография). Исключением являются файлы с изображениями, сохраненные с расширением .bmp (bit map format). Вместе с тем, следует напомнить, что файлы, созданные в приложениях Microsoft, будут отображаться сразу в формах и отчетах. Вывод простой, фотографии можно вставлять в такие приложения как Paint, Word, Power Point, сохранять в виде отдельных файлов, а затем подключать в виде объекта к базе данных. Попробуйте создать несколько файлов с фотографиями и текстом, используя различные редакторы Windows. Например, можно открыть документ Word, вставить из файла фотографию, добавить текст, а затем сохранить как: Монитор.docx (рис. 3.42).

Рис. 3.42 Файл с фотографией, созданный в Word

2. Создание новых объектов.

Под созданием новых объектов в базе данных следует подразумевать использование приложения, в котором создается файл, а затем подключается в поле с описанием типа данного OLE. Для запуска режима создания новых объектов, необходимо открыть таблицу в режиме «Таблица» , выбрать вариант «Создать новый» в диалоговом окне (рис. 3.39), а затем в списке выделить «Тип объекта» (необходимое приложение). Перечень приложений, которые поддерживает Access для создания объекта, находятся в списке (рис. 3.43), который раскроется после запуска команды «Вставить объект» .

Рис. 3.43 Перечень типов объектов Access, которые можно использовать для создания файлов

Удобством использования приложений для создания объектов в виде файлов заключается в том, что в дальнейшем эти файлы можно использовать автономно или осуществлять их коррекцию в базе данных.

Рассмотрим вариант создания объектов для базы данных, с помощью с приложения paint.

Например, необходимо создать объект с изображением предприятия и текстом, который в дальнейшем пользователь базы данных сможет заменить или исправить. Для этого необходимо выбрать из списка объект Bitmap Image , дальнейшая технология создания объекта показана на рисунке 3.44.

1. Откройте приложение Paint

2. Вставьте фото из файла.

3. Добавьте текст (если это необходимо).

4. Сохраните, как файл.

5. Закройте приложение.

Рис. 3.44 Технология создания объекта в приложении Paint

Задание3.11

1. В таблице «Товары » в режиме «Конструктор» добавьте новый столбец с именем «Фото товара» , тип данных «Поле объекта OLE» , сохраните изменения.

2. В режиме «Таблица» в поле «Фото товара» выберете строку «Вставить объект из файла» , выберите (поставьте точку) «Создать новый» и из раскрывающегося списка укажите документ Microsoft Word . При этом откроется текстовый редактор MS Word , здесь необходимо вставить рисунок, соответствующий товару в данной строке. Рисунки выберите из списка, который хранится непосредственно в редакторе (вкладка «Вставка», значок «Картинка», в диалоговом окне справа кнопка «Начать»), или вставьте рисунок из других программ. Можете использовать приложение Paint (объект Bitmap Image), где нарисуйте товар самостоятельно. Созданный файл закройте, он автоматически будет привязан к вашей базе, к строке, в которую ее вставили.

3. Проделайте данную процедуру для всех строк вашей таблицы «Товары» .

4. Сохраните изменения.

Контрольные вопросы

1. Какие объекты можно вставить в базу данных с типом данных OLE?

2. Как можно вставить фото в таблицу в режиме «Таблица»?

3. Где в базе данных будет отображаться фотография?

4. Чем отличается способ «Создать новый объект» от способа «Создать из файла»?

5. Как поместить файл фотографии товара в базу данных, если он имеет расширение .png ?

6. Можно ли осуществлять правку файла, который вставлен как объект в базу данных непосредственно в файловой системе компьютера?

7. Как вставить презентацию в базу данных?

8. Объекты каких приложений можно вставить в базу данных?

Ячейка в поле логического типа может содержать только одно из двух значений: Да или Нет. Access предлагает еще два варианта названий логического типа: Истина/Ложь и Включено/Выключено. Вне зависимости от того, какой формат поля вы изберете, в таблице логическое поле будет представлено в виде набора флажков. Когда вы щелкаете флажок мышью, это приводит к тому, что в квадрате появляется изображение галочки, что соответствует логическому значению Да

Сброс флажка означает присвоение ячейке поля логического значения Нет. Использование логических полей может быть различным, например, в анкетах или для создания элементов управления.

Поле объекта OLE

Поле объекта OLE (Object Linking and Embedding) – последний выбираемый из списка тип поля. Он имеет всего два свойства: подпись и параметр «обязательное поле». Поля данного типа не хранят информацию как таковую, а содержат ссылки на объекты, которые могут быть включены в БД с использованием OLE-протокола обмена данными. Такими объектами могут быть, например, графические файлы.

Для того чтобы внедрить в ячейку поля OLE-объект, надо установить на нее курсор и, нажав правую кнопку мыши, вызвать контекстное меню. В нем выберите команду Вставить объект. Программа раскроет окно диалога для выбора типа объекта. Объект в данном случае отождествляется с приложением, в котором он может быть создан или отредактирован.

Второй вариант вставки объекта – выбор переключателя Создать из файла в окне Вставка объекта. В этом случае подразумевается, что файл уже существует, и нужно установить с ним связь. Access откроет окно открытия документа и после выбора нужного файла определит, какое приложение необходимо открыть для работы с ним.

Текст или комбинация текста и чисел, используемая как адрес гиперссылки.

Адрес – это текст, задающий путь и имя файла для открываемого документа. Путь может представлять собой путь к файлу, записанному на жестком диске, являться адресом в формате UNC или адресом URL в Интернете.

Для вставки адреса в поле можно использовать команду Гиперссылка в меню Вставка.

Многотабличные базы данных. Отношения между таблицами

Реляционные базы данных состоят из нескольких таблиц, связь между которыми устанавливается с помощью совпадающих полей. Каждая запись в таблицах идентифицирует один объект. Отношение между объектами определяет отношение между таблицами. Существует 4 типа отношений:

1. Отношение «один к одному» означает, что каждая запись в одной таблице соответствует только одной записи в другой таблице. Одному гражданину страны соответствует только один номер паспорта, в то же время как один номер паспорта соответствует только одному человеку.

2. Отношение «один ко многим» означает, что каждой записи в одной таблице соответствует одна или несколько записей в другой таблице. Один абитуриент может поступать во многие вузы и в тоже время в один вуз может поступать много абитуриентов.

3. Отношение «многие ко многим» возникает между двумя таблицами в тех случаях, когда:

Одна запись из первой таблицы может быть связана более чем с одной записью из второй таблицы;

Одна запись из второй таблицы может быть связана более чем с одной записью из первой таблицы.

Например, связь между преподавателями и группами студентов. Несколько преподавателей ведут занятия в нескольких группах, и несколько групп занимаются у нескольких преподавателей.

В большинстве случаев любые две таблицы связаны отношением «один – ко многим».

Создание связей между таблицами

Для того чтобы рассмотреть создание связей между таблицами построим в базе данных «Профконсультант» еще две таблицы:

1. Таблица тАбитуриенты:

КодАб является ключевым полем.

2. Таблица пересечения тСвязьАбВУЗ:

Первые два поля являются ключевыми, причем для таблицы тСвязь-Абвузы они являются чужими ключами.

Рисунок 12.6. Схема данных

Чтобы определить связи, необходимо использовать команду Сервис->Схема данных (кнопка

). Если связь определяется впервые в базе данных, то Access откроет пустое окно Схема данных, а затем выведет на экран окно диалога Добавление таблицы. В этом окне необходимо выделить нужные таблицы и нажать кнопку Добавить. В нашем случае в окно схемы данных надо добавить все три таблицы. Кнопка Закрыть закрывает окно диалога Добавление таблицы (данное окно можно вызвать по нажатию кнопки

). После этого окно Схемы данных должно выглядеть примерно так, как показано на рис. 3 (кроме линий соединения). Чтобы установить связь между таблицами твузы и тСвязьАбвуз, надо выделить поле Кодвуза в таблице твузы (щелкнуть левой кнопкой «мыши»), перетащить и опустить его на поле Кодвуза в таблице тСвязьАбвуз. Аналогично устанавливается связь между двумя другими таблицами.

Когда вы отпустите кнопку мыши, Microsoft Access откроет окно диалога Связи, представленное на рис. 12.7.

Рисунок 12.7. Настройка связей между полями таблиц

После установки флажка Обеспечение целостности данных, Access делает доступными еще два флажка: Каскадное обновление связанных полей и Каскадное удаление связанных записей. При установленном флажке Каскадное обновление связанных полей Microsoft Access обновляет все значения чужих ключей в дочерних таблицах (то есть в таблицах на стороне отношения «многие» при связи «один ко многим») при изменении значения первичного ключа в родительской таблице, которая находится на стороне отношения «один» при связи «один ко многим». Если же вы установите флажок Каскадное удаление связанных записей, Microsoft Access удалит дочерние строки (связанные строки в дочерних таблицах) при удалении родительской строки (связанная строка в родительской таблице). Установите флажок Каскадное обновление связанных полей, чтобы при изменении кода вуза Access автоматически обновлял записи в таблице тСвязьАбвуз.

После нажатия кнопки Создать Access создаст связь и нарисует линию между двумя таблицами, указывающую на наличие связи между ними. Заметьте: когда вы просите обеспечить целостность данных, Access изображает на конце линии у таблицы, находящейся на стороне отношения «один», цифру 1, а на другом конце у таблицы со стороны отношения «многие» – символ бесконечности. Чтобы удалить связь, щелкните по ее линии и нажмите клавишу Del. Если вы хотите отредактировать или изменить существующую связь, дважды щелкните по соответствующей линии, чтобы снова открыть окно диалога Связи.

Логические поля

Логические поля используются для хранения данных, которые могут принимать одно из двух возможных значений. Свойство Формат поля логического поля позволяет использовать специальные форматы или один из трех встроенных: Истина/Ложь, Да/Нет или Вкл/Выкл. При этом значения Истина, Да и Вкл эквивалентны логическому значению True, а значения Ложь, Нет и Выкл эквивалентны логическому значению False.

Если Вы выберете встроенный формат, а затем будете вводить эквивалентное логическое значение, то введенное значение будет отображаться в выбранном формате. Например, если значение True или Вкл вводится в элемент управления типа Поле, для которого в свойстве Формат поля указано Да/Нет, то введенное значение тут же преобразуется в Да.

При создании специального формата удалите текущее значение из свойства Формат и введите свой собственный формат.

Текстовые поля произвольной длины

Текстовые поля произвольной длины (поля MEMO) могут содержать те же типы данных, что и простые текстовые поля. Отличие между этими полями заключается в том, что длина полей типа MEMO может быть очень велика по сравнению с размером текстовых полей. Может содержать длинный текст или комбинацию текста и чисел.

Поля объекта OLE

MS Access позволяет хранить в таблицах изображения и другие двоичные данные (например, электронную таблицу MS Excel, документ MS Word, рисунок звукозапись), связанный или внедренный в таблицу Microsoft Access. Для этих целей служит тип данных Поле объекта OLE. Фактический объем данных, который Вы можете ввести в поле данного типа, определяется объемом жесткого диска Вашего компьютера (до 1 Гигабайта).

Тип данных мастер подстановок

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

В таблице КАФЕДРА предусмотрено поле ФОТО, которое должно содержать фотографию заведующего, хранящуюся в формате графического редактора Paint в файле с расширением.gif. Тип данных такого поля должен быть определен как Поле объекта OLE (OLE Object). Размещение этого объекта в поле производится на этапе заполнения полей таблицы. Объект может быть внедренным или связанным.

ЗАМЕЧАНИЕ

OLE (Object Linking and Embedding – связывание и внедрение объекта) – это метод передачи информации в виде объектов между приложениями Windows. Поле объекта OLE является средством, позволяющим установить связь с объектами другого приложения или внедрить объект в базу данных. Объектами могут быть тексты простые и форматированные, рисунки, диаграммы, файлы звукозаписи (.WAV), музыка в формате MIDI (музыкально инструментальный цифровой интерфейс), файлы анимации(.FLI, .MMM), видеоклипы (.AVI), электронные таблицы из других приложений, поддерживающих это средство. Access, поддерживая OLE, полностью интегрирован с другими приложениями пакета Microsoft Office.

Внедренный объект сохраняется в файле базы данных и всегда является доступным. Двойным щелчком мыши на ячейке, содержащей внедренный объект, открывается возможность редактирования объекта средствами приложения, в котором объект был создан.

Связанный объект сохраняется в файле объекта. Файл объекта можно обновлять независимо от базы данных. Последние изменения будут выведены на экран при следующем открытии формы или отчета. При работе с базой данных также можно просматривать и редактировать объект.

Отредактированный связанный объект будет сохраняться в файле объекта, а не в файле базы данных. Связывание объекта удобно при работе с большими объектами, которые нежелательно включать в файл БД, а также с объектами, используемыми в нескольких формах и отчетах. Если связанный файл объекта перемещен, необходимо повторно установить связь.

ЗАМЕЧАНИЕ

Для отображения объекта OLE в форме или отчете необходимо создать элемент управления “Присоединенная рамка объекта” (см. главы 4, 6).

Использование данных типа Поле MEMO

В таблице ПРЕДМЕТ предусмотрено поле ПРОГР, которое будет содержать текстовое данное большой длины – краткую программу курса. Для такого поля выбирается тип данного – Поле MEMO (Memo). Ввод данных в это поле можно выполнить непосредственно в таблице, либо через область ввода, вызываемую нажатием клавиш +.

Если тексты программ по предметам подготовлены в некотором текстовом редакторе, например, Microsoft Word, и хранятся в отдельных файлах, удобно для этого поля задать тип Поле объекта OLE (OLE Object) и при вводе значений в него установить связь с файлами.



Поля с типом Гиперссылка (Hyperlink) используются для перехода к объектам той же самой или другой базы данных Access, к документам, созданным в различных приложениях Microsoft Office, и расположенным на локальных или сетевых дисках, к страницам Web-серверов и документам других ресурсов в сети Internet или intranet. При щелчке мышью на гиперссылке осуществляется переход к документу, который открывается создавшим его приложением. Подробно создание гиперссылок в таблицах, формах и отчетах будет рассмотрено ниже. Там же рассмотрено создание гиперссылки в поле таблицы ПРЕПОДАВАТЕЛЬ.

Определение составного первичного ключа

В таблице СТУДЕНТ в составной первичный (уникальный) ключ входят поля НГ и НС. Для определения этого в режиме конструктора таблиц надо выделить оба эти поля, щелкая кнопкой мыши на области маркировки при нажатой клавише. Затем нажать кнопку панели инструментов Ключевое поле (Primary Key).

Аналогично определяются составные ключи в таблицах ИЗУЧЕНИЕ УСПЕВАЕМОСТЬ.

Упражнение

Создайте структуру таблиц ИЗУЧЕНИЕ, УСПЕВАЕМОСТЬ. При создании таблиц используйте параметры, которые представлены в Приложении A.

Таблица A.1. Описание свойств полей таблицы СТУДЕНТ

Имя поля Ключевое поле Уникальное поле Обязательное поле Тип данных Размер Число десятичных знаков Подпись поля
НГ Да Да Текстовый Группа
НС Да Да Текстовый Номер студента в группе
ФИО Да Текстовый ФИО
ГОДР Нет Числовой Целое Год рождения
АДРЕС Нет Текстовый
ПБАЛЛ Нет Числовой С плав. точкой 4 байта Проходной балл


Таблица A.2. Описание свойств полей таблицы ГРУППА

Таблица A.3. Описание свойств полей таблицы КАФЕДРА

Имя поля Ключевое поле Уникальное поле Обязательное поле Тип данных Размер Число десятичных знаков Подпись поля
ККАФ Да Да Да Текстовый Код
НКАФ Нет Текстовый Название
ТЕЛ Нет Текстовый
ЗАВ Нет Текстовый ФИО зав. каф.
ФОТО Нет Поле объекта OLE Фотография заведующего

Таблица A.4. Описание свойств полей таблицы ПРЕПОДАВАТЕЛЬ

Имя поля Ключевое поле Уникальное поле Обязательное поле Тип данных Размер Подпись поля
ТАБН Да Да Да Текстовый Таб. номер
ФИО Да Текстовый ФИО препод.
СТ Нет Текстовый Уч. степень
ЗВ Нет Текстовый Уч. звание
ККАФ Да Текстовый Код кафедры

Таблица A.5. Описание свойств полей таблицы ПРЕДМЕТ

Имя поля Ключевое поле Уникальное поле Обязательное поле Тип данных Размер Подпись поля Условие на значение Сообщение об ошибке
КП Да Да Да Текстовый Код предмета
НП Нет Текстовый Название предмета
ЧАСЫ Нет Числовой Целое Всего часов >0 And <=300 Число часов должно быть не более 300
ЛЕК Нет Числовой Целое Лекции
ПР Нет Числовой Целое Практика
ЧС Нет Числовой Целое Семестров
ПРОГР Поле MEMO Программа

Таблица A.6. Описание свойств полей таблицы ИЗУЧЕНИЕ

Имя поля Ключевое поле Уникальное поле Обязательное поле Тип данных Размер Число десятичных знаков Подпись поля
НГ Да Да Текстовый Ном. группы
КП Да Да Текстовый Код. предмета
ТАБН Да Да Текстовый Таб. н. преп.
ВИДЗ Да Да Текстовый Вид занятий
ЧАСЫ Нет Числовой Целое Ср. балл по предм.
СБАЛЛ. ГР Нет Числовой С пл. точкой 4 байта

Таблица A.7. Описание свойств полей таблицы УСПЕВАЕМОСТЬ

Имя поля Ключевое поле Уникальное поле Обязательное поле Тип данных Размер Число десятичных знаков Подпись поля
НГ Да Да Текстовый Номер группы
НС Да Да Текстовый Ном. студента
КП Да Да Текстовый Код предм.
ТАБН Да Да Текстовый Таб. н. препод.
ВИДЗ Да Да Текстовый Вид занятия
ОЦЕНКА Нет Числовой Целое

Ввод данных в таблицы БД