Access VBA 中的 IsError()
IsError() in Access VBA
在我的代码中,我 运行 VBA 中的 SQL 语句如下:
Dim rs As DAO.Recordset
Dim db As DAO.Database
Set db = CurrentDb
Set rs = CurrentDb.OpenRecordset( SQL-Statement)
此 SQL- 声明 return 一个值或 none。
然后我想检查一个值是否returned。
If IsError(rs.Fields("Name").Value) = True Then
MsgBox(Error)
Else
Variable = rs.Fields("Name").Value
End If
但是:如果出现错误,方法 IsError 不会 return 为真,但脚本会显示 运行time-error 3021 并中断。
为什么这个方法会失败?
不幸的是,我不得不在我的手机上写这篇文章,因为我不允许从我的工作电脑登录平台。
提前准备好
您需要检查记录集的 EOF
属性。
试试这个:
If Not rs.EOF Then Variable = rs.Fields("Name").Value
与
相同
If Not rs.EOF Then Variable = rs![Name]
在我的代码中,我 运行 VBA 中的 SQL 语句如下:
Dim rs As DAO.Recordset
Dim db As DAO.Database
Set db = CurrentDb
Set rs = CurrentDb.OpenRecordset( SQL-Statement)
此 SQL- 声明 return 一个值或 none。
然后我想检查一个值是否returned。
If IsError(rs.Fields("Name").Value) = True Then
MsgBox(Error)
Else
Variable = rs.Fields("Name").Value
End If
但是:如果出现错误,方法 IsError 不会 return 为真,但脚本会显示 运行time-error 3021 并中断。 为什么这个方法会失败?
不幸的是,我不得不在我的手机上写这篇文章,因为我不允许从我的工作电脑登录平台。
提前准备好
您需要检查记录集的 EOF
属性。
试试这个:
If Not rs.EOF Then Variable = rs.Fields("Name").Value
与
相同If Not rs.EOF Then Variable = rs![Name]