Студопедия

Главная страница Случайная страница

КАТЕГОРИИ:

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Создание формы, иллюстрирующей отношения родитель/потомок






 

1. Создайте новый проект. Поместите в форму поле ввода, две метки, элемент MS FlexGrid и два элемента управления данными. Пред­варительно необходимо добавить элемент MS FlexGrid к панели инструментов. От­кройте диалоговое окно Components и вы­берите Microsoft FlexGrid Control 6.0 (этот элемент находится в файле Msflxgrd.ocx).

2. Присвойте свойству Caption метки Labell значение «Издательство». Для второй метки оставьте свойство Caption пустым, оно будет изменено во время выполнения программы (см. рис.):

 

 

3. Элемент управления данными Datal должен создать набор записей обо всех издательствах. Он будет родителем. Установите для него свойство DatabaseName равным пол­ному пути к копии базы Biblio.mdb. Затем установите свойство RecordSource равным Publishers, свойству Caption также присвойте значение «Издательства». Это будет на­поминать пользователю о том, что элемент управления данными служит для навигации по одноименной таблице.

4. Элемент управления данными Data2 должен сформировать набор записей о кни­гах, которые связаны с текущей записью набора, созданного элементом Datal. Установите свойство DatabaseName равным полному пути к копии базы Biblio.mdb. Оставьте пока свойство RecordSource для элемента Data2 пустым, а свойство Visible установите равным False. Вы будете сами управлять этим элементом, так что пользователю его видеть не следует. Свойству Caption присвойте значе­ние «Названия». Элемент во время выполнения не отображается, но при проектиро­вании обязательно появится на экране, так что неплохо бы показать, для чего он используется.

5. Для элемента Textl задайте свойство DataSource равным Datal, а свойство DataField равным Name. Теперь в этом поле будет отображаться на­звание издательства из текущей записи набора, созданного элементом Datal.

6. Для элемента MS FlехGrid задайте свойство DataSourse равным Data2. Не забывайте, что в этом элементе должны отображаться книги, опубликованные текущим издательством. Во время выполнения программа будет запрашивать у эле­мента управления данными соответствующий набор записей.

7. Поскольку табличный элемент управления самостоятельно определяет размеры яче­ек, может получиться так, что часть информации будет «обрезана». Поэтому разрешим пользователю изменять параметры сетки. Задайте для свойства AllowUserResizing значение 3 - flexResize Both. В результате с по­мощью мыши можно будет менять высоту строки и ширину колонки. Позже будет показано, как уве­личивать или уменьшать шири­ну колонки из программы, что­бы. она точно соответствовала размеру отображаемого поля.

8. Теперь придется написать немно­го кода. Дважды щелкните по эле­менту Datal и выберите событие Reposition (Изменение пози­ции). Добавьте следующий код в обработчик этого события:

 

Private Sub Data1_Reposition()

Dim IPubID As Long

IPubID = Data1.Recordset! PubID

Data2.RecordSource = " SELECT * FROM TITLES WHERE PubID = " & IPubID

Data2.Refresh

End Sub

 

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

9. В обработчик события Text l_Change для поля ввода добавьте следующий код:

 

Private Sub Text1_Change()

Label2.Caption = " Название издательства: " & Text1

End Sub

 

10. Запустите программу.

 

 

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

 


Поделиться с друзьями:

mylektsii.su - Мои Лекции - 2015-2024 год. (0.013 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал