访问VBA:无当前记录

时间:2018-08-27 10:03:31

标签: ms-access access-vba

在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

1 个答案:

答案 0 :(得分:1)

您应该使用.EOF来检测是否有记录。如果记录集位于文件的末尾(没有记录),并且在刚打开文件集时位于文件的末尾,则记录不存在。

If Not VESRecordSet.EOF Then
    Var = VESRecordSet.Fields(0).Value
Else
    Var = "100"
End If