Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Пошук певного запису





Для наборів, заснованих на таблиці, можна використовувати метод Seek, який шукає запис, грунтуючись на порівнянні даних деякого індексу з заданими значеннями (найшвидший метод). Для прикладу запишемо програму, яка перевірятиме дублювання значень ключового поля таблиці Клієнти перед збереженням запису. Для перевірки результатів пошуку в об'єкті Recordset є властивість NoMatch. Якщо NoMatch одно False, то запис з заданими умовами пошуку відсутній в наборі.

Dim rst As Recordset

Set rst = CurrentDb.OpenRecordset ("Клієнти ", dbOpenTable)

rst.Index = " PrimaryКey "

rst.Seek "=", Me! [ КодКліента ]

If Not rst.NoMatch Then

MsgBox " Клінт з таким табельною номером вже існує в базі"

DoCmd.GoToControl " КодКліента "

End If

rst.Close

Метод Seek завжди починає пошук з початку набору тому пошук по одному і тому ж умові буде завжди приводити до однієї і тієї ж записи. Для пошуку за динамічними наборам інших типів можна застосовувати також методи FindFirst, FindLast, FindNext і FindPrevions. Наприклад, підрахуємо кількість замовлень певного клієнта:

intCount = 0

rstOrders.FindFirst " КодКліента =" & Me! [ КодКліента ]

Do While rstOrders.NoMatch

rstOrders.FindNext " КодКліента =" & Me! [ КодКліента ]

intCount = intCount + 1

Loop

Для пошуку записів можна також застосовувати сортування і фільтрацію. Для сортування записів краще всього відкрити новий динамічний набір, заснований на запиті SQL з оператором ORDER BY. для фільтрації можна задати властивість Filter об'єкта Recordset і потім обновити набір за допомогою методу OpenRecordset. Нижче наведено текст програми, що здійснює фільтрацію довільного набору:

Function FilterField (rstTemp As Recordset, strField As String, strFilter As String) As Recordset

rstTemp.Filter = strField & " = '" & strFilter & " '"

Set FilterField = rstTemp.OpenRecordset

End Function

Date: 2015-12-11; view: 267; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.006 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию