Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Met_BD_DAO.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
753 Кб
Скачать
☆

1.4. Методы элемента управления 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. Для изменения заданного по умолчанию режима поиска на сравнение без учета регистра используется оператор

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]