Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Покажчик поточного запису

Для виділення поточного запису в таблиці служить покажчик поточного запису. Для переходу до іншого запису набору даних використовуються методи MoveFirst, MoveLast, MovePrevious та MoveNext. Метод MoveFirst призначений для переміщення покажчика на перший запис таблиці. MoveLast переміщає покажчик на останній запис таблиці. MovePrevious переміщає покажчик на попередній запис. MoveNext переміщає покажчик на наступний запис. Ці методи відповідають кнопкам на елементі управле­ния Data.

Data1.Recordset.MoveFirst

Data1.Recordset.MoveLast

Data1.Recordset.MoveNext

Data1.Recordset.MovePrevious

Застосування перших двох методів не викликає труднощів. Проблеми виникають при використанні методів MovePre­vious і MoveNext, коли покажчик знаходиться на першій або на останньому записі. В цьому випадку Visual Basic генерує помилку виконання.

 

Властивості BOF і EOF

Проте Visual Basic надає можливість уникнути цієї помилки. Набір записів Recordset має дві властивості BOF і EOF, які доступні тільки під час виконання. Властивість BOF приймає значення True, якщо покажчик теку­чого запису розташований перед першим записом набору записів, і значення False, якщо покажчик поточного запису розташований на першому записі набору або на будь-якому записі після нього. Властивість EOF має значення True, якщо покажчик поточного запису розташований після останнього запису набору, і значення False, якщо покажчик поточного запису розташований на останньому запи­сі набору або на будь-якому записі перед ним.

Властивість RecordCount

За допомогою властивості RecordCount можна визначити кількість записів в наборах даних Recordset або Dy­naset. Щоб отримати правильний результат, перед зверненням до властивості RecordCount слідує за допомогою методу MoveLast встановити покажчик на останній запис набору даних. Інакше значення RecordCount не буде рівне фактичній кількості записів.

Властивість AbsolutePosition

Властивість AbsolutePosition показує номер текучого запису в наборі даних і залежить від заданого критерію сортування. Встановивши значення цієї властивості, можна пере­вести покажчик на потрібний запис набору даних. Властивість AbsolutePosition є тільки у наборів записів типу Dynaset і Snapshot. Якщо поточний запис не визначений або записів в наборах даних немає, властивість має значення -1. Дана властивість не призначена для позиціонування покажчика запису. Для фіксації поточної позиції в наборі і для повернення в цю позицію рекомендується використовувати закладки.

 

Властивість Bookmark

Значення властивості Bookmark є набором символів, однозначно вказуючих на певний запис. В програмі Visual Basic є можливість зберегти закладку поточного запису, для чого слід привласнити змінній типу String і Variant значення властивості Bookmark.

Щоб повернутися на цей запис після переходів по записах форми, слід привласнити властивості Bookmark значення за­кладки, збереженої в змінній.

Dim BM As Variant

ВМ = Datal.Recordset.Bookmark

Datal.Recordset.MoveNext

"... інші переміщення по записах

Datal.Recordset.Bookmark = BM

Перехід до необхідного запису за допомогою закладок — це найшвидший спосіб. Щоб проглянути всі закладки, треба просто вивести всі властивості Bookmark набору записів.

Do

Debug.Print Data1.Recordset.Bookmark Datal.Recordset.MoveNext

Loop Until Datal.Recordset.EOF

Кількість створюваних закладок не обмежена. Закладки однозначно визначають кожний запис в наборі записів, тому ці закладки є непридатними до іншого набо­ру записів, навіть якщо обидва набори записів створюються на основі однієї таблиці запиту або оператора SQL.

 

Пошук записів

Пошук записів також є важливою функцією програм баз даних. Існує два принципово різних підходу до рішення задачі пошуку.

Перший з них припускає використовування Find методів:

FindFirst — для пошуку першого запису, який відповідає заданому критерію.

FindLast — для пошуку останнього запису, який відповідає заданому критерію.

FindPrevious — для пошуку попереднього запису, який відповідає заданому критерію.

FindNext — для пошуку наступного запису, який відповідає заданому критерію.

Якщо текст знайдений, то методи повертають значення True; в іншому випадку повертається значення False.

Ці методи дозволяють проглядати таблиці і використовуються аналогічно методам Move.

Recordset.FindFirst criteria

Критерій пошуку

Datal.Recordset.FindFirst "[Surname] = 'Майер' 'Шукає" всіх Майеров

Подвійні лапки повинні бути зовнішніми.

 

Властивість NoMatch

Властивість NoMatch показує, чи був знайдений потрібний за­пис в результаті виклику одного з методів групи Find. Значе­ння властивості рівно True, якщо пошук завершився невдало, і False, якщо цей запис знайдений. Data1.Recordset.FindFirst "[Surname] = 'Майер'"

If Data1.NoMatch

Then MsgBox "У нас немає ніякого Майера!"

Else MsgBox "У нас є Майер!"

End If

При використовуванні методів FindNext і FindPrevious слід враховувати, що процедура пошуку починається з поточного запису. При цьому не передбачені ніякі цикли, тобто FindNext закінчує пошук на останньому записі набору даних, а FindPrevious — на першому.

 

<== предыдущая лекция | следующая лекция ==>
Створення баз даних | Метод AddNew
Поделиться с друзьями:


Дата добавления: 2014-01-05; Просмотров: 334; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.012 сек.