我写了一个打开记录集的函数。在函数的结尾,我想关闭记录集,如果它尚未关闭,出于错误捕获的目的。如果记录集=无,我得到一个错误
当我尝试运行该函数时,出现以下编译错误:对象的无效使用。因为我没有试图改变记录集对象的值,所以不应该出现这个错误。
Dim rs as Recordset
...
If Not rs = Nothing Then
rs.Close
set rs = Nothing
End If
我写了一个打开记录集的函数。在函数的结尾,我想关闭记录集,如果它尚未关闭,出于错误捕获的目的。如果记录集=无,我得到一个错误
当我尝试运行该函数时,出现以下编译错误:对象的无效使用。因为我没有试图改变记录集对象的值,所以不应该出现这个错误。
Dim rs as Recordset
...
If Not rs = Nothing Then
rs.Close
set rs = Nothing
End If
正确的说法应该是:
If Not rs is Nothing Then
rs.Close
set rs = Nothing
End If
由于没有什么是一个对象,这意味着未知,它不等于任何。甚至不是自己。
更改这段代码:
If Not rs Is Nothing Then
rs.Close
Set rs = Nothing
End If
而且如果它的清理程序关闭代码,打开的对象失效之前只使用On Error Resume Next
,没必要检查它们是否有效。
您可以使用'DMax'功能大量简化您的代码。 – Andre
@安德烈,谢谢!你不知道你帮了我多少。但是最初,我的代码获得了** date **字段的最大值。它也适用于这种类型吗? – MJH
是的,DMax也在日期/时间字段上工作。 – Andre