Чтение онлайн

на главную - закладки

Жанры

Интернет-журнал "Домашняя лаборатория", 2007 №4
Шрифт:

Заполнение списков проводится при помощи метода Addltem или установкой свойства List.

Построим простое приложение для демонстрации использования списка и комбинированного списка. Положим, что у нас есть база данных PRODUCTS.MDB для учета товаров, единственная таблица которой PRODUCTS содержит поля, как показано в таблице.

Текстовое поле Depository определяет наличие товара на складе и может содержать только одну из двух строк “Да” или “Нет”.

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

как показано на рис. 8.1.

Рис. 8.1. Расположение элементов управления на форме

В окне свойств объекта Data1 определите свойство Caption, как “Товары”, установите свойство DatabaseName как имя файла базы данных с указанием полного пути, например, C: \WORK\PRODUCTS.MDB и укажите в качестве источника данных имя таблицы PRODUCTS определением свойства RecordSource. Затем установите свойства меток, текстовых окон и командной кнопки, списка и комбинированного списка следующим образом:

Label1.Caption=Код товара

Label2.Caption=Наименование

Label3.Caption=Цена

Label4.Caption=Присутствие на складе

Label5.Caption=Примечание

Соmmand1.Caption=Добавить

Text1.DataSource=Data1

Text1.DataField=Id

Text2.DataSource=Data1

Text2.DataField=Product

Text3.DataSource=Data1

Text3.DataField=Price

Text4.DataSource=Data1

Text4.DataField=Note

List1.DataSource=Data1

List1.DataField=Depository

Combo1.DataSource=Data1

Combo1.DataField=Depository

В процедуру обработки события нажатия кнопки добавьте код, который добавит пустую запись в набор записей и сделает ее текущей:

Private Sub Command1_Click

Data1.Recordset.AddNew

End Sub

И наконец, в окне свойств списка и комбинированного списка определите свойство List добавив строки “Да” и “Нет”.

Запустите проект и добавьте записи в базу данных. Ввести значение в поле Depository можно выбрав “Да” или “Нет” в простом или комбинированном списке. При перемещении указателя текущей записи по набору записей в комбинированном списке будет отображаться “Да” или “Нет” в зависимости от содержимого поля Depository, в то время как в обычном списке значение поля будет выделяться подсветкой (рис. 8.2).

Рис. 8.2. Результат работы приложения

Контейнер OLE (OLE container)

Применение объекта OLE container дает возможность не только размещать на экранной форме приложения различные OLE-объекты, хранящиеся в базе данных, но и редактировать их. В качестве OLE-объектов могу выступать например: рисунки, документы Microsoft Word, таблицы Microsoft Excel, звуковые фрагменты и видеоклипы и многое другое. Посмотреть, какие OLE-объекты вы имеете возможность разместить в своей базе данных можно, например, выполнив команду меню Вставка->Объект текстового процессора Microsoft Word. В появившемся окне будет находиться список всех объектов OLE, зарегистрированных в вашей системе (рис. 8.3).

Рис. 8.3. Список OLE-объектов,

зарегистрированных в системе

В своем приложении вы можете использовать либо внедренные (embedded) либо связанные (linked) объекты. Внедренные OLE-объекты содержат информацию как о самом объекте, так и о приложении его создавшем — OLE-сервере. Редактирование внедренного объекта можно проводить только с помощью приложения-клиента. В нашем случае это разрабатываемая СУБД. В отличие от внедренных, связанные OLE-объекты в базе данных сохраняют связь с объектом — оригиналом и любое изменение оригинала приведет к аналогичному изменению объекта, хранящегося в БД.

В базе данных формата MS Access внедренные объекты или ссылки на связанные объекты всегда хранятся в поле типа OLE Object. Понятно, что если вы создадите базу данных с документами Microsoft Word, то просматривать эту БД можно будет только на компьютере, на котором так же установлен этот текстовый процессор.

Контейнер OLE связывается с базой данных установкой свойств DataSource и DataField и его пиктограмма на панели инструментов —

.

Продемонстрируем использование элемента управления OLE-контейнер в приложениях. Для этого построим простую СУБД по управлению базой данных, содержащую OLE-объекты.

Положим, что у на есть база данных OLEOBJ.MDB, таблица которой OBJ содержит поля, как показано в таблице.

Создайте новый проект и расположите на форме объект управления данными, две метки, два текстовых окна, OLE-контейнер и командную кнопку, как показано на рис. 8.4.

Рис. 8.4. Расположение элементов управления на экранной форме

Установите свойства объекта управления данными следующим образом. Свойство Caption определите как “OLE объекты”, свойство DatabaseName установите как имя файла базы данных C: \WORK\DB.MDB и укажите в качестве источника данных (свойство RecordSource) имя таблицы OBJ. Затем установите свойства меток, текстовых окон, контейнера OLE и командной кнопки:

Label1.Caption=Идентификатор

Label2.Caption=Описание

Text1.DataSource=Data1

Text1.DataField=Id

Text2.DataSource=Data1

Text2.DataField=Desc

OLE1.DataSource=Data1

OLE1.DataField=Obj

Command1.Caption=Добавить

Запустите проект. Если ваша базе данных не пуста и в ней есть какие-либо записи с OLE-объектами (в данном случае с помощью MS Access созданы две записи с математическим уравнением и рисунком), вы увидите, что в OLE-контейнере отобразится содержимое поля Obj первой записи (рис. 8.5).

Рис. 8.5. Результат работы приложения

Поделиться:
Популярные книги

Огни Эйнара. Долгожданная

Макушева Магда
1. Эйнар
Любовные романы:
любовно-фантастические романы
эро литература
5.00
рейтинг книги
Огни Эйнара. Долгожданная

Real-Rpg. Еретик

Жгулёв Пётр Николаевич
2. Real-Rpg
Фантастика:
фэнтези
8.19
рейтинг книги
Real-Rpg. Еретик

Вперед в прошлое 2

Ратманов Денис
2. Вперед в прошлое
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Вперед в прошлое 2

Как я строил магическую империю

Зубов Константин
1. Как я строил магическую империю
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Как я строил магическую империю

Возвращение Безумного Бога 5

Тесленок Кирилл Геннадьевич
5. Возвращение Безумного Бога
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Возвращение Безумного Бога 5

Ненужная жена

Соломахина Анна
Любовные романы:
любовно-фантастические романы
5.86
рейтинг книги
Ненужная жена

Идеальный мир для Социопата 6

Сапфир Олег
6. Социопат
Фантастика:
боевая фантастика
рпг
6.38
рейтинг книги
Идеальный мир для Социопата 6

Вечный. Книга II

Рокотов Алексей
2. Вечный
Фантастика:
боевая фантастика
попаданцы
рпг
5.00
рейтинг книги
Вечный. Книга II

Мимик нового Мира 6

Северный Лис
5. Мимик!
Фантастика:
юмористическая фантастика
попаданцы
рпг
5.00
рейтинг книги
Мимик нового Мира 6

Разбуди меня

Рам Янка
7. Серьёзные мальчики в форме
Любовные романы:
современные любовные романы
остросюжетные любовные романы
5.00
рейтинг книги
Разбуди меня

Новая мама в семье драконов

Смертная Елена
2. В доме драконов
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Новая мама в семье драконов

Ты всё ещё моя

Тодорова Елена
4. Под запретом
Любовные романы:
современные любовные романы
7.00
рейтинг книги
Ты всё ещё моя

Разведчик. Заброшенный в 43-й

Корчевский Юрий Григорьевич
Героическая фантастика
Фантастика:
боевая фантастика
попаданцы
альтернативная история
5.93
рейтинг книги
Разведчик. Заброшенный в 43-й

Газлайтер. Том 9

Володин Григорий
9. История Телепата
Фантастика:
фэнтези
попаданцы
5.00
рейтинг книги
Газлайтер. Том 9