Сделай Сам Свою Работу на 5

Методы элемента управления Data





К встроенным функциональным возможностям элемента управления Data можно обращаться из кода приложения, используя методы Data. Самые простые методы - это методы перемещения, соответствующие действиям четырех кнопок перемещения:

§ MoveFirst. Перемещает элемент управления на первую запись.

§ MoveLast.Перемещает элемент управления на последнюю запись.

§ MovePrevious. Перемещает элемент управления на предыдущую запись.

§ MoveNext. Перемещает элемент управления на следующую запись.

 

Эти методы используются для реализации кнопок перемещения. В качестве примера использования методов элементов управления Data рассмотрим приложение Data2. Здесь сформирован интерфейс для управления таблицей Titles БД BIBLIO, которая содержит поля Title (название), ISBN (издательский код), Description (описание), Subject (дополнительное приложение к книге), Соmments (примечания). Для разработки формы приложения Data2 необходимо выполнить следующие действия. Поместите элемент Data и соедините его с БД BIBLIO, задав в свойстве DatabaseName путь к БД, а в свойстве RecordSource - таблицу Titles. Разместите в форме элементы управления, связанные с данными, и подключите их к Data, установив в их свойстве DataSource значение Datal, а в свойстве Datafield - отображаемые поля.



 

Рис. 2. Приложение Data2

 

Код приложения Data2 (обработка кнопок перемещения элемента управления Data)

Private Sub frstBttn_Click()

Data1.Recordset.MoveFirst

End Sub

 

Private Sub LastBttn_Click()

Data1.Recordset.MoveLast

End Sub

 

Private Sub NextBttn_Click()

Data1.Recordset.MoveNext

If Data1.Recordset.EOF Then

MsgBox "Достигнута последняя запись"

Data1.Recordset.MoveLast

End If

End Sub

 

Private Sub PreviousBttn_Click()

Data1.Recordset.MovePrevious

If Data1.Recordset.BOF Then

MsgBox "Достигнута первая запись"

Data1.Recordset.MoveFirst

End If

End Sub

 

Первые две подпрограммы обеспечивают перемещение соответственно на первую и последнюю записи. При нажатии клавиши Next в третьей подпрограмме выполняется перемещение на следующую запись, а затем проверяет свойство EOF.

Если EOF равно True, значит текущая запись располагается за последней. Программа отображает сообщение, что достигнута последняя запись, а затем возвращается на нее. Код для кнопки Previous такой же. Он вызывает метод MovePrevious, а вместо свойства EOF проверяет свойство BOF элемента управления Data.



В дополнение к методам перемещения элемент управления Data предоставляет четыре метода для поиска записей в RecordSet. Одна из основных операций, которые выполняются над БД, - нахождение требуемых записей. Следующие методы осуществляют нахождение записей, удовлетворяющих заданным критериям:

§ FindFirst - находит первую запись;

§ FindLast -находит последнюю запись;

§ FindNext -находит следующую запись;

§ FindPrevious- находит предыдущую запись.

Эти методы находят в RecordSet любую запись на основе критериев, заданных пользователем.

Синтаксис всех методов имеет вид

<Имя эл-та Data>.RecordSet.FindFirst <criteria>,

где параметр criteria - строковое выражение, определяющее отношение между значениями полей и константами. Следующее выражение находит первую запись в RecordSet поле State которой равно NY.

 

Datal.RecordSet.FindFirst "State = 'NY' "

 

Определенные пользователем критерии могут содержать несколько полей, логические операции и операции отношений. Следующий оператор находит первый счет, выданный (Invoice_Date) с 1997 года, общая стоимость (Invoice) которой превышает 1000 $:

 

Data1.RecordSet.FindFirst "Invoice_Date > '12/31/1996' And Invoice >= 1000"

 

В дополнение к обычным операциям отношений можно использовать оператор LIKE, который позволяет находить записи, удовлетворяющие шаблону. Например, для поиска любой книги в БД BIBLIO с наименованием, включающей словосочетание SQL, можно использовать выражение:

 

Data1.RecordSet.FindFirst "Title LIKE '*SQL*' "

 

Строка *SQL* - это шаблон для нахождения любого количества символов до и после символов SQL. То есть он соответствует наименованиям книг: “Введение в SQL”, “Овладение SQL-методами” или “SQL: Руководство пользователя”. В данном случае поиск методом Find был выполнен без учета регистра. Таким образом, параметр *SQL* соответствовал SQL, sql и Sql. Для изменения заданного по умолчанию режима поиска на сравнение без учета регистра используется оператор



Option Compare Text,

а для сравнения с учетом регистра – оператор

 

Option Compare Binary.

Эти операторы следует помещать в объявлениях форм или модулей.

Демонстрация поиска записей в БД приведена в приложенииFindDemo(рис.3.). Первый элемент управления ComboBox (как это показано на рис. 3) позволяет выбрать таблицу, а второй элемент ComboBox - поле. Затем в текстовом поле Search For можно ввести критерии для операции поиска и нажимая кнопки, найти записи, удовлетворяющие заданным критериям.

Форма приложения FindDemo содержит связанный с данными элемент управления Grid и невидимый элемент управления Data. Элемент управления Grid рассматривается ниже. Он связан с элементом Data и отображает содержимое RecordSet в табличном виде. Можно определить дополнительные поля в критерии поиска (помимо выбранного в ComboBox). Любые строковые константы в поле Search For должны быть заключены в одинарные кавычки. В качестве альтернативы можно написать процедуру, которая заменяет двойные кавычки в строке одинарными. Если установить указатель мыши на разделительной линии между двумя столбцами элемента управления GRID, то он превращается в двойную стрелку, указывая, что можно изменять размеры столбца. Для удаления столбцов с ненужными данными достаточно установить ширину, равной нулю.

Рис.3. Приложение FindDemo

 








Не нашли, что искали? Воспользуйтесь поиском по сайту:



©2015 - 2024 stydopedia.ru Все материалы защищены законодательством РФ.