Примеры метода Close для объекта Connection и свойства Type для объекта Table (Visual Basic)
Установка для свойства ActiveConnection значения Nothing должна закрыть подключение к каталогу. Связанные коллекции будут пустыми. Все объекты, созданные из объектов схемы в каталоге, будут потеряны. Все свойства тех объектов, которые были кэшированы, по-прежнему будут доступны, но попытка чтения свойств, требующая вызова поставщика, завершится ошибкой.
' BeginCloseConnectionVB
Sub Main()
On Error GoTo CloseConnectionByNothingError
Dim cnn As New ADODB.Connection
Dim cat As New ADOX.Catalog
Dim tbl As ADOX.Table
cnn.Open "Provider='Microsoft.Jet.OLEDB.4.0';" & _
"Data Source= 'Northwind.mdb';"
Set cat.ActiveConnection = cnn
Set tbl = cat.Tables(0)
Debug.Print tbl.Type ' Cache tbl.Type info
Set cat.ActiveConnection = Nothing
Debug.Print tbl.Type ' tbl is orphaned
' Previous line will succeed if this info was cached.
Debug.Print tbl.Columns(0).DefinedSize
' Previous line will fail if this info has not been cached.
'Clean up.
cnn.Close
Set cat = Nothing
Set cnn = Nothing
Exit Sub
CloseConnectionByNothingError:
Set cat = Nothing
If Not cnn Is Nothing Then
If cnn.State = adStateOpen Then cnn.Close
End If
Set cnn = Nothing
If Err <> 0 Then
MsgBox Err.Source & "-->" & Err.Description, , "Error"
End If
End Sub
' EndCloseConnectionVB
Закрытие объекта Connection , который использовался для открытия каталога, должно иметь тот же эффект, что и установка для свойства ActiveConnectionзначения Nothing.
Attribute VB_Name = "Connection"
См. также:
Свойство ActiveConnection (ADOX)
Объект Catalog (ADOX)
Объект Column (ADOX)
Коллекция Columns (ADOX)
Объект Table (ADOX)
Коллекция Tables (ADOX)
Свойство Type (Table) (ADOX)