Пример программы поиска и удаления записей
Пример программы поиска и редактирования записей
Требуется создать процедуру поиска записей в таблице Студенты учебной базы данных. Поиск осуществляется по фамилии студента, значение которой вводится с клавиатуры. Если записи найдены, то значение фамилии студентов изменяются на другую, вводимую с клавиатуры. Если подобных записей нет, то сообщение об этом не выводится.
'Работа с записями таблицы - поиск и редактирование
Sub редактирование()
Dim База, Запись As Variant
Set База = CurrentDb 'семейство объектов текущей базы данных
Set Запись = База.OpenRecordSet("Студенты")
'открытие набора записей текущей базы данных
Do Until Запись.EOF = True
'Свойство "End of File" - признак конца файла
If Запись![Фамилия].Value = InputBox ("Введите _
искомую фамилию") Then
Запись.Edit
'метод блокирует запись и разрешает обновление полей записи
Запись![Фамилия].Value = InputBox ("Введите _
новую фамилию")
Запись.Update 'метод сохраняет изменения полей записи
MsgBox Запись![Фамилия].Value
End If
Запись.MoveNext 'метод перехода к следующей записи
Loop
End Sub
Требуется создать процедуру поиска и удаления записей в таблице Студенты учебной базы данных. Поиск осуществляется по фамилии студента, значение которой вводится с клавиатуры. Если записи найдены, то выводится фамилия, имя, отчество студента и номер группы, после чего спрашивается разрешение пользователя на удаление этой записи. Если подобных записей нет, то выводится сообщение об этом.
'Последовательный поиск по фамилии и удаление
'Программа не проверяет корректность введенной с клавиатуры 'фамилии
Sub удаление()
Dim База, Запись As Variant
Dim p As String * 20, признак As Boolean, удаление As Byte
Set База = CurrentDb
Set Запись = База.OpenRecordSet("Студенты")
признак = False 'признак характеризует хотя бы одну найденную 'запись
p = InputBox("Введите фамилию", "Поиск и удаление")
If RTrim(p) = Empty Then Exit Sub
With Запись
Do Until Запись.EOF = True
If RTrim(![Фамилия].Value) = RTrim(p) Then
признак = True
удаление = MsgBox(RTrim(![Фамилия].Value) & " "
& RTrim(![Имя]) & " " & RTrim(![Отчество]) _
& " " & ![КодСпециальности] & "-" & ![Курс] _
& ![Группа], vbYesNoCancel + vbQuestion, _
"Удалить запись?")
Select Case удаление
Case vbYes
MsgBox RTrim(p) & " отчислен(а)!", vbCritical
.Delete
Case vbNo
MsgBox "Ура! Не отчислили!", vbExclamation
Case vbCancel
Exit Sub
End Select
End If
.MoveNext 'метод перехода к следующей записи
Loop
If признак = False Then MsgBox "Записи с фамилией " _
& RTrim(p) & " отсутствуют"
.Close
End With
End Sub