Студопедия
rus | ua | other

Home Random lecture






Практическая работа 28. MSFIexGrid


Date: 2015-10-07; view: 414.


1. Создать базу данных ACCESS с таблицами, например, student (см. ) и др, сохранить в файле stud.mdb; впоследствие это имя выбирается в стандартном диалоговом окне Open,

  Таблица 4.7. Содержимое таблицы student базы данных
Num Name Geschl Geb_dat Gruppe
Wolf M 20.08.76 Kp-3
Hase M 30.09.77 Kp-4
Weiss W 24.06.77 Kp-3
Kalb M 23.03.77 Kp-3

2. создать на форме объекты (см. и код, данный ниже):

o MSFlexGrid (см. выше),

o CommonDialоg: Проект Компоненты Управление Microsoft CommonDialog Control,

o CommandButton (Name = Command1),

o Data (Name = Data1, Connect = Accеss),

o ComboBox (Name = Combo1, Style = 0), см. 10.1,

o TеxtBox (Name = Text1),

3. ввести код, данный ниже, пояснения даны под комментариями:

Private Sub Command1_Click()

Dim i As Integer

' очистить свойство объекта CommonDialog, содержащее

' имя базы данных

CommonDialog1.FileName = ""

' стартовать CommonDialog

CommonDialog1.Action = 1

' выводится стандартное диалоговое окно Open;

' нужно выбрать требуемую базу данных.

 

' связать объект Data1 с файлом базы данных, выбранным с

' помощью элемента управления CommonDialog1

Data1.DatabaseName = CommonDialog1.FileName

' обновить содержимое элемента управления Data1

Data1.Refresh

 

' читать в цикле имена таблиц базы данных и занести

' их в ComboBox (AddItem)

For i = 0 To Data1.Database.TableDefs.Count - 1

' свойство Count определяет количестко элементов

Combo1.AddItem (Data1.Database.TableDefs(i).Name)

Next i

' после добавления имeн таблиц в ComboBox очистить теку-

' щее значение свойства Text

Combo1.Text = ""

 

' введeнный в текстовое поле строку SQL присвоить

' свойству RecordSource элемента Data1

Data1.RecordSource = Text1.Text

' обновить содержимое Data1. Реализуется запрос, т.к

' свойству RecordSource присвоено значение строки SQL

Data1.Refresh

 

' оставшаяся часть кода может быть заменена

' следующим оператором присваивания:

' MSFlexGrid1.DataSource = Data1 в Окне свойств. Эта

' часть кода нужна лишь для того чтобы пользователь мог

' освоить работу с ячейками MSFlexGrid.

' Свойство MSFlexGrid1.Cols - характеризует количество

' столбцов в сетке; Data1.Recordset.Fields.Count - количество

' столбцов таблицы базы данных, к которой сделан

' SQL-запрос

MSFlexGrid1.Cols = Data1.Recordset.Fields.Count

' MSFlexGrid1.Rows - количество строк в сетке

' установить равным 1

MSFlexGrid1.Rows = 1

 

' в элементе управления MSFlexGrid1 доступ к строкам и

' столбцам проводится начиная с ячейки (0,0),

' свойство TextMatrix(X, Y) позволяет получить доступ

' к отдельным ячейкам таблицы

 

For i = 0 To Data1.Recordset.Fields.Count - 1

' занести название имeн полей таблицы базы данных в

' первую строку MSFlexGrid1

MSFlexGrid1.TextMatrix(0, i) = Data1.Recordset.Fields(i).Name

Next i

 

' проверить, является ли запись в таблице (строка) по-

' следней; организовать цикл прохода по строкам

Do While Not Data1.Recordset.EOF

' увеличить количество строк в MSFlexGrid на единицу

MSFlexGrid1.Rows = MSFlexGrid1.Rows + 1

 

' цикл переноса данных из Data1 в MSFlexGrid1

For i = 0 To Data1.Recordset.Fields.Count - 1

' перенос данных данной строки (по полям). Если данные в

' ячейке Data1 имеются, то перенести их в

' таблицу MSFlexGrid1

If Not Data1.Recordset.Fields(i) = "" Then

MSFlexGrid1.TextMatrix(MSFlexGrid1.Rows - 1, i) = Data1.Recordset.Fields(i)

End If

' конец цикла переноса данных из элемента управления Data1

' в таблицу MSFlexGrid1 для одной строки

Next i

 

' использовать метод MoveNext - переход к

' следующей строке

Data1.Recordset.MoveNext

Loop

End Sub

4. стартовать проект, ввести в текстовое поле SQL-строку (запрос) SELECT * FROM student, сделать щелчок на командной кнопке, в выведенном стандартном диалоговом окне Open выбрать базу данных stud.mdb. В таблицу MSFlexGrid выводятся результаты запроса. Одновременно в список элемента управления ComboBox выводятся имена всех имеющихся таблиц,

5.


Рис. 4.4.MSFlexGrid

 

6. выбрать таблицу в списке ComboBox, изменить запрос - ввести новый запрос для другой таблицы (ввести этот запрос в текстовое поле), сделать щелчок на командной кнопке, наблюдать результат.


<== previous lecture | next lecture ==>
MSНFlexGrid и MSFlexGrid - элементы управления для отображения и оперирования данными в табличном формате | Репликация и синхронизация баз данных
lektsiopedia.org - 2013 год. | Page generation: 0.13 s.