把 ActiveConnection 属性设置为 Nothing 将“关闭”目录。关联的集合将被置空。目录中任何通过模式对象创建的对象都将被孤立。这些已缓存对象的任何属性依然可用,但读取属性时如果该属性需要调用提供者,则此操作将会失败。
Sub CloseConnectionByNothing() Dim cnn As New Connection Dim cat As New Catalog Dim tbl As Table cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _ "Data Source= c:\Program Files\Microsoft Office\" & _ "Office\Samples\Northwind.mdb;" Set cat.ActiveConnection = cnn Set tbl = cat.Tables(0) Debug.Print tbl.Type ' 缓存 tbl.Type 信息 Set cat.ActiveConnection = Nothing Debug.Print tbl.Type ' tbl 被孤立 ' 如果它被缓存,前面的行将成功 Debug.Print tbl.Columns(0).DefinedSize ' 如果该信息未被缓存,前面的行将失败End Sub
关闭用于“打开”目录的 Connection 对象,与将 ActiveConnection 属性设置为 Nothing 效果相同。
Sub CloseConnection() Dim cnn As New Connection Dim cat As New Catalog Dim tbl As Table cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _ "Data Source= c:\Program Files\Microsoft Office\" & _ "Office\Samples\Northwind.mdb;" Set cat.ActiveConnection = cnn Set tbl = cat.Tables(0) Debug.Print tbl.Type ' 缓存 tbl.Type 信息 cnn.Close Debug.Print tbl.Type ' tbl 被孤立 ' 如果它被缓存,前面的行将成功 Debug.Print tbl.Columns(0).DefinedSize ' 如果该信息未被缓存,前面的行将失败End Sub