![]() Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 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: 303; Нарушение авторских прав |