Читаем Интернет-журнал "Домашняя лаборатория", 2007 №4 полностью

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"

Data2.RecordSource = str

Data2.Refresh


' Установим Заголовки столбцов у объекта MSFlexGrid

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

MSFlexGrid1.FormatString = s$

MSFlexGrid1.Rows = MSFlexGrid1.Rows + 1

MSFlexGrid1.row = MSFlexGrid1.Rows — 1

MSFlexGrid1.col = 0 MSFlexGrid1.Text = "Всего:"

MSFlexGrid1.col = 1

' Расчет суммы заказа

Dim i As Integer

Dim sum As Double

sum = 0

For i = MSFlexGrid1.FixedRows To MSFlexGrid1.Rows — 1 sum = sum + Val(MSFlexGrid1.TextArray(GetCellIndex(i, 2))) *

Val(MSFlexGrid1.TextArray(GetCelllndex(i, 3)))

Next

MSFlexGrid1.Text = CStr(sum) + " руб."

MSFlexGrid1.row = 1

MSFlexGrid1.col = 1

End Sub

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

End Function


Сохраните и запустите проект. Результат работы приложения показан на рис. 9.2.



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


Улучшенное текстовое окно (RichTextBox)


Возможностей обычного текстового окна в большинстве случаев достаточно для отображения текстовой информации из базы данных. Однако, у него есть один недостаток — текстовое окно не допускает форматирования текста. Если необходимо хранить в базе данных текст с элементами форматирования, вы можете использовать улучшенное текстовое окно (RichTextBox). Этот объект управления позволяет работать со шрифтами, изменять атрибуты у выделенного фрагменты текста (полужирный, курсив, подчеркнутый или перечеркнутый), осуществлять различные виды выравнивание текста (по левому краю окна, по правому краю окна или по центру), устанавливать отступы и выступы у абзацев и др.

Все эти функции реализованы посредством поддержки этим объектом управления формата RTF (Rich Text Format — расширенный текстовый формат). Объект RichTextBox транслирует текст в формате RTF и выполняет форматирование и отображение текста на экранной форме.

С базой данных RichTextBox связывается установкой свойств DataSource и DataField. Тип поля в базе данных формата MS Access, с которым связывается объект RichTextBox, должен быть Binary или Memo. Если используется другой формат, то поле должно быть большой емкости (например, типа Text у базы данных Microsoft SQL Server).

По умолчанию RichTextBox недоступен на панели инструментов Visual Basic. Добавить его в проект можно выполнив команду меню Project->Components и отметив контрольный индикатор Microsoft Rich ТехВох Control в окне объектов управления (Controls). После этого но панели инструментов появится его пиктограмма ~

Создадим с помощью приложения VisData базу данных RICH.MDB, единственная таблица TEXTS которой содержит два поля Id (типа Integer) и Textl (типа Memo).

В демонстрационном приложении предусмотрим возможность форматирование текста изменением следующих нескольких свойств объекта RichTextBox: SelBold, Selltalic, SelUnderline и SelStrikeThru. Возможные установки этих свойств приведены в таблице.


Таблица.Некоторые свойства улучшенного текстового окна.

Перейти на страницу:

Похожие книги