在Access数据库中,我设置了一个VBA代码,该代码在名为FieldB
的字段中查找具有特定值的记录。如果存在记录,则变量Var
将使用字段FieldA
的值,否则将使用默认值100
。
我编写的代码如下。问题是,当记录不存在时,我在命令No current record
处收到错误IsNull(VESRecordSet.Fields(0).Value)
。我想这段代码中有一些错误,可以用更好的方式编写。
sql = " SELECT * FROM TableA WHERE FieldB = 'current_value');"
Set VESRecordSet = CurrentDb.OpenRecordset(sql)
If IsNull(VESRecordSet.Fields(0).Value) Then
Var = VESRecordSet.Fields(0).Value
Else
Var = "100"
End If
答案 0 :(得分:1)
您应该使用.EOF
来检测是否有记录。如果记录集位于文件的末尾(没有记录),并且在刚打开文件集时位于文件的末尾,则记录不存在。
If Not VESRecordSet.EOF Then
Var = VESRecordSet.Fields(0).Value
Else
Var = "100"
End If