Последовательный метод поиска записи Find — КиберПедия 

История развития пистолетов-пулеметов: Предпосылкой для возникновения пистолетов-пулеметов послужила давняя тенденция тяготения винтовок...

Папиллярные узоры пальцев рук - маркер спортивных способностей: дерматоглифические признаки формируются на 3-5 месяце беременности, не изменяются в течение жизни...

Последовательный метод поиска записи Find

2022-10-29 29
Последовательный метод поиска записи Find 0.00 из 5.00 0 оценок
Заказать работу

FindFirs t “<условие поиска>”, FindLast  “<условие поиска>”- поиск первой или последней записи, удовлетворяющей условию.

Пример. Rs.FindFirst “[Ng]=’Екатеринбург’”

FindNext, Findprevious   ‑ переход на следующую или предыдущую запись, удовлетворяющую условию, соответственно. 

Результат поиска содержится в свойстве NoMatch  объекта Recordset: False ‑ объект найден, и он становится текущим;

True ‑ объект отсутствует в наборе, и текущая запись не изменяется.

Прямой метод поиска записи Seek

Этот метод более эффективен, так как использует индексы.

Вызов метода имеет вид:

Seek <оператор сравнения (<, <=, >, >=, =)>, <значение>

Перед поиском нужно установить соответствующий индекс, используемый при поиске.

Пример

Private Sub Form_Load() ‘процедура загрузки формы

Private db As DataBase      ‘объявление переменной базы данных

Private rs As DAO.RecordSet ‘объявление переменной набора

End Sub

Private Sub cmdSeek_Click() ‘процедура обработки кнопки поиска

Set Rs.Index=”Familij”          ‘установка индекса под именем “Familij”

Set Rs.Seek “=”, Fam.Text   ‘значение фамилии введено в поле Fam

If rs.NoMatch Then              ‘запись отсутствует

MsgBox (“Фамилия “+Fam.Text+”отсутствует!”)     

Else

MsgBox(rs!Fam&rs!Gr&rs!Adr&rs!Oklad) ‘вывод полей найденной записи

End If

End Sub

Определение индекса с помощью объекта TableDef

При выполнении операции поиска Seek над объектом Recordset табличного типа нужно знать доступные индексы. Для этого используется свойство Indexes объекта TableDef.

Пример

Private Sub Form_Load() ‘процедура загрузки формы

Private db As DataBase      ‘объявление переменной базы данных

Private rs As DAO.Recordset ‘объявление переменной набора

Set db=OpenDatabase(App.Path+“\Строительство.mdb”) ‘открытие базы строек

End Sub

Private Sub cmdShowInd_Click() ‘обработка кнопки вывода индексов

Dim td As TableDef ‘объявление переменной объекта TableDef

Dim ind As Index   ‘объявление переменной объекта Index

Dim f As Field     ‘объявление объекта Field

Set td=db.TableDefs(“uhet stroek”) ‘открытия объекта TableDef

For Each ind In td.Indexes   ‘цикл просмотра индексов в коллекции Indexes

Debug.print Ind.Indexes ‘вывод на экран имени очередного индекса

For Each f In ind.Fields

Debug.print “ поле “&f.Name ‘вывод на экран имени поля индекса

Next

Next

End Sub

Сохранение положения записи с помощью свойства Bookmark

С помощью свойства Bookmark можно запоминать адреса нужных записей в виде закладок. Для этого:

1. Перейдите на запись, которую хотите отметить закладкой.

2. Присвойте свойству Bookmark объекта Recordset уникальную закладку в виде строки.

3. Когда нужно вернуться к отмеченной записи, установите ее закладку в свойстве Bookmark.

Механизм транзакций

С помощью объекта Workspace устанавливается сеанс работы поль­зо­вателя с процессором базы данных. Эти объекты создаются в случаях, ког­да используются транзакции или для безопасности. Транзакция ‑ это процесс перевода состояния базы из одного целостного в другое целостное состояние, что повышает надежность хранения информации в базе. Для создания транзакции необходимо:

1. Использовать метод BeginTrans  объекта Workspace, который зап­ре­щает запись данных в базу до полного завершения транзакции (Workspaces(0).BeginTrans).

2. Если любая операция с базой закончилась аварийно или нужно отменить все операции, то выполните метод RollBack  объекта Workspace ( Workspaces(0).RollBack).

3. Для успешного завершения транзакции выполните метод CommitTrans (Workspaces(0).CommitTrans).

Связь между таблицами создается методом CreateRelation  объекта Database:

Set <переменная>=db.CreateRelation ([<имя связи>],[<имя родительской таблицы>],[<имя дочерней таблицы>],[<параметры>])

Уплотнение базы данных методом CompactDatabase

При удалении записей они перемещаются в специальную “корзину”, и при уплотнении она очищается. Синтаксис метода:

DBEngine.CompactDatabase <старое имя базы>,<новое имя базы> [,<порядок сортировки>][,<тип>][,<пароль>]

Восстановление базы методом RepairDatabase (<имя базы>) произ­во­дится в монопольном режиме. После восстановления реко­мен­дует­ся уплотнить базу.

Копирование набора в двумерный массив реализуется методом GetRows (п. 9.9.5).


Поделиться с друзьями:

Папиллярные узоры пальцев рук - маркер спортивных способностей: дерматоглифические признаки формируются на 3-5 месяце беременности, не изменяются в течение жизни...

Автоматическое растормаживание колес: Тормозные устройства колес предназначены для уменьше­ния длины пробега и улучшения маневрирования ВС при...

Эмиссия газов от очистных сооружений канализации: В последние годы внимание мирового сообщества сосредоточено на экологических проблемах...

Кормораздатчик мобильный электрифицированный: схема и процесс работы устройства...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.008 с.