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

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

Жанры

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

s$ = "<Код товара |<Дата зак.|<Код покуп.|>Кол-во |<Наименов. товара|<Цена "

MSFlexGrid1.FormatString = s$

Заголовки строк сетки определяются аналогичным образом, только в начало строки необходимо поместить символ “точка с запятой”, который укажет сетке, что это именно заголовки строк:

s$ = Имя|Адрес|Телефон"

MSFlexGridl1.FormatString = s$

Получить или установить содержимое произвольной ячейки позволяет свойство TextArray. Это свойство имеет синтаксис:

MSFlexGrid1.TextArray(cellindex) [= string]

где string —

текстовое содержимое ячейки, определенной аргументом cellindex. Аргумент cellindex представляет собой индекс ячейки в сетке и рассчитывается следующим образом. К номеру колонки произвольной ячейки прибавляется произведение ее номера строки на общее количество колонок в сетке, определенное свойством Cols. Для расчета аргумента cellindex удобно использовать следующую функцию:

Function GetCellIndex(row As Integer, col As Integer) As Long GetCellIndex = row*MSFlexGrid1.Cols + col End Function

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

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

База данных CASTOMER.MDB включает в себя три таблицы:

CASTOMER — содержит информацию о покупателях,

ORDERSALES — содержит информацию о сделанных ими заказах,

PRODUCTS — содержит информацией о товарах.

Структуры таблиц базы данных показаны в следующих таблицах.

Таблица. Структура таблицы CASTOMER

Поле • Описание

Idcust • Код покупателя

Name • Имя

LastName • Фамилия

Concern • Предприятие

Address • Адрес

Phone • Телефон

Note • Примечание

Таблица. Структура таблицы ORDERSALES

Поле • Описание

Idprod • Код товара

Dateorder • Дата заказа

idcust • Код покупателя

numorder • Количество заказанного товара

Datesale • Дата продажи

numsale

Количество проданного товара

Note • Примечание

Таблица. Структура таблицы PRODUCTS

Поле • Описание

Idprod • Код товара

Product • Наименование товара

Price • Цена за единицу товара

Repository • Наличие товара на складе

Note • Примечание

Связь между таблицами осуществляется на основании значений совпадающих полей idcust и Idprod.

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

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

В окне свойств первого объекта управления данными установите свойство DataBaseName как имя базы данных CASTOMER.MDB. Затем определите свойство RecordSource этого объекта как CASTOMER. У второго объекта Data установите свойство DataBaseName аналогичным образом, а его свойство RecordSource определим позднее в коде программы и оно будет устанавливаться должным образом во время выполнения приложения. Этот объект можно сделать невидимым, установив его свойство Visible в False.

Определите свойства меток, текстовых окон и объекта MSFIexGrid следующим образом:

Label1.Caption=Имя

Label2.Caption=Фамилия

Label3.Caption=Предприятие

Label4.Caption=Код покупателя

Label5.Caption=Заказы

Text1.DataSource=Data1

Text1.DataField=Name

Text2.DataSource=Data1

Text2.DataField=LastName

Text3.DataSource=Data1

Text3.DataField=Concern

Text4.DataSource=Data1

Text4.DataField=Id_Cust

DataSource=Data2

FixedCols=0

FixedRows=1

Cols=2

Rows=2

Теперь установите свойство Caption командной кнопки как “Просмотр заказов” и добавьте в процедуру обработки нажатия кнопки следующий код:

Private Sub Command1_Click

' Определим источник данных для объекта

Data2 Dim str As String

str = "SELECT ORDERSALES.Id_prod, PRODUCT.product, PRODUCT.price,

ORDERSALES.num_order, ORDERSALES.Date_order, ORDERSALES.Id_cust, ORDERSALES.Date_sale, ORDERSALES.num_sale FROM ORDERSALES, PRODUCT WHERE ordersales.Id_cust=" + Text4.Text + "AND ordersales.id_prod = product.id_prod"

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

Адвокат империи

Карелин Сергей Витальевич
1. Адвокат империи
Фантастика:
городское фэнтези
попаданцы
фэнтези
5.75
рейтинг книги
Адвокат империи

Черный Маг Императора 7 (CИ)

Герда Александр
7. Черный маг императора
Фантастика:
фэнтези
попаданцы
5.00
рейтинг книги
Черный Маг Императора 7 (CИ)

Титан империи

Артемов Александр Александрович
1. Титан Империи
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Титан империи

Мастер клинков. Начало пути

Распопов Дмитрий Викторович
1. Мастер клинков
Фантастика:
фэнтези
9.16
рейтинг книги
Мастер клинков. Начало пути

Ученичество. Книга 5

Понарошку Евгений
5. Государственный маг
Фантастика:
фэнтези
попаданцы
аниме
фантастика: прочее
5.00
рейтинг книги
Ученичество. Книга 5

Шлейф сандала

Лерн Анна
Фантастика:
фэнтези
6.00
рейтинг книги
Шлейф сандала

Шериф

Астахов Евгений Евгеньевич
2. Сопряжение
Фантастика:
боевая фантастика
постапокалипсис
рпг
6.25
рейтинг книги
Шериф

Законы рода

Flow Ascold
1. Граф Берестьев
Фантастика:
фэнтези
боевая фантастика
аниме
5.00
рейтинг книги
Законы рода

Неудержимый. Книга XII

Боярский Андрей
12. Неудержимый
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Неудержимый. Книга XII

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

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

Фронтовик

Поселягин Владимир Геннадьевич
3. Красноармеец
Фантастика:
боевая фантастика
попаданцы
5.00
рейтинг книги
Фронтовик

Кто ты, моя королева

Островская Ольга
Любовные романы:
любовно-фантастические романы
7.67
рейтинг книги
Кто ты, моя королева

Зомби

Парсиев Дмитрий
1. История одного эволюционера
Фантастика:
рпг
постапокалипсис
5.00
рейтинг книги
Зомби

Убивать чтобы жить 6

Бор Жорж
6. УЧЖ
Фантастика:
боевая фантастика
космическая фантастика
рпг
5.00
рейтинг книги
Убивать чтобы жить 6