vba访问错误3349读取链接表中的记录



我的访问数据库中有一个链接的excel表。我需要从这张表中读出个人记录。不幸的是,有些单元格中包含#NA类型的错误。当我的代码到达这样一个单元格时,它会抛出一个运行时错误3349

如何捕获或简单地读取单元格中的值

运行时错误出现在If rs.Fields("SFDR_SUSTAINABLE") = 1 Then行上

这是我的所有代码:

Dim db As DAO.Database
Dim rs As DAO.Recordset
Set db = CurrentDb
Set rs = db.OpenRecordset("SELECT SFDR_SUSTAINABLE, E_SUSTAINABLE, SDG_E_CONTRIBUTION, SDG_S_CONTRIBUTION FROM ShareClasses WHERE ShareClassISIN='" & ISIN & "'")
Dim strMsg As String
If rs.RecordCount = 0 Then
Exit Function
Else
If rs.Fields("SFDR_SUSTAINABLE") = 1 Then strMsg = vbNewLine & "SFDR Sustainable" 'SFDR Sustainable
If rs.Fields("E_SUSTAINABLE") = 1 Then strMsg = strMsg & vbNewLine & "Envir. Sust." 'Environmentally Sustainable
If rs.Fields("SDG_E_CONTRIBUTION") = 1 Then strMsg = strMsg & vbNewLine & "Sust. Cont. (Envir.)" 'Sustainable Contribution (Environmental)
If rs.Fields("SDG_S_CONTRIBUTION") = 1 Then strMsg = strMsg & vbNewLine & "Sust. Cont. (Social)" 'Sustainable Contribution (Social)
End If
strMsg = Mid(strMsg, 3)
ESG_Rating = strMsg
End Function```

简单的方法是忽略错误:

If rs.RecordCount = 0 Then
Exit Function
Else
' Ignore errors and continue.
On Error Resume Next
If rs.Fields("SFDR_SUSTAINABLE") = 1 Then
If Err.Number = 0 Then     
strMsg = vbNewLine & "SFDR Sustainable" 'SFDR Sustainable
End If    
End If
If rs.Fields("E_SUSTAINABLE") = 1 Then 
If Err.Number = 0 Then     
strMsg = strMsg & vbNewLine & "Envir. Sust." 'Environmentally Sustainable
End If    
End If
If rs.Fields("SDG_E_CONTRIBUTION") = 1 Then 
If Err.Number = 0 Then     
strMsg = strMsg & vbNewLine & "Sust. Cont. (Envir.)" 'Sustainable Contribution (Environmental)
End If
End If
If rs.Fields("SDG_S_CONTRIBUTION") = 1 Then 
If Err.Number = 0 Then     
strMsg = strMsg & vbNewLine & "Sust. Cont. (Social)" 'Sustainable Contribution (Social)
End If    
End If

' Resume error handling.
On Error Goto 0
End If

如果该字段包含N/A,则只需跳过该字段。

最新更新