Описание
Объекты Recordset — метод удаляет текущую запись в обновляемом объекте Recordset. В рабочей области ODBCDirect тип драйвера определяет, являются ли объекты Recordset обновляемыми и, как следствие, поддерживают ли они метод Delete.
Семейства — Метод удаляет постоянный объект из семейства.
наборЗаписей.Delete семейство.Delete имяОбъекта
Параметры
наборЗаписей
Объектная переменная, представляющая обновляемый объект Recordset, содержащий удаляемую запись.
семейство
Объектная переменная, представляющая семейство, из которого удаляется имяОбъекта.
имяОбъекта
Выражение или переменная типа String, представляющая значение свойства Name объекта в семействе.
Замечания
Метод Delete позволяет удалить постоянный объект. Однако в семействах Databases, Recordsets или Workspaces (каждое из которых сохраняется только в оперативной памяти) удаление открытого или активного объекта допускается только после закрытия этого объекта с помощью метода Close.
Удаление сохраненного объекта происходит немедленно, однако, при этом следует вызвать метод Refresh для обновления всех других семейств, на которые может повлиять изменение структуры базы данных.
При удалении объекта TableDef из семейства TableDefs происходит удаление как описания таблицы, так и всех данных в этой таблице.
Пример
Следующая программа использует метод Delete для удаления указанной записи из объекта Recordset. Для выполнения этой процедуры требуется процедура DeleteRecord.
Sub DeleteX() Dim dbsNorthwind As Database Dim rstEmployees As Recordset Dim lngID As Long Set dbsNorthwind = OpenDatabase("Борей.mdb") Set rstEmployees = dbsNorthwind.OpenRecordset("Сотрудники") ' Добавляет временную запись, которая будет удалена. With rstEmployees .Index = "PrimaryKey" .AddNew !Имя = "Вова" !Фамилия = "Сидоров" .Update .Bookmark = .LastModified lngID = !КодСотрудника End With ' Удаляет запись о сотруднике с указанным кодом. DeleteRecord rstEmployees, lngID rstEmployees.Close dbsNorthwind.Close End Sub Sub DeleteRecord(rstTemp As Recordset, lngSeek As Long) With rstTemp .Seek "=", lngSeek If .NoMatch Then MsgBox "Нет сотрудника с кодом #" & lngSeek & " в файле!" Else .Delete MsgBox "Запись для сотрудника #" & lngSeek & " удалена!" End If End With End Sub