Ms access Access VBA:没有当前记录

Ms access Access VBA:没有当前记录,ms-access,vba,Ms Access,Vba,在Access DB中,我设置了一个VBA代码,用于在名为FieldB的字段中查找具有特定值的记录。如果记录存在,变量Var将采用字段FieldA的值,否则默认值为100 我写的代码如下。问题是,当记录不存在时,我在命令IsNullVESRecordSet.Fields0.Value处得到错误No current record。我认为这段代码中有一些错误,可以用更好的方式编写 sql = " SELECT * FROM TableA WHERE FieldB = 'current_value')

在Access DB中,我设置了一个VBA代码,用于在名为FieldB的字段中查找具有特定值的记录。如果记录存在,变量Var将采用字段FieldA的值,否则默认值为100

我写的代码如下。问题是,当记录不存在时,我在命令IsNullVESRecordSet.Fields0.Value处得到错误No current record。我认为这段代码中有一些错误,可以用更好的方式编写

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
您应该使用.EOF来检测是否有记录。如果记录集位于文件的末尾,则不存在任何记录,如果您刚刚打开它时它位于文件的末尾,则不包含任何记录,则为真

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