Sometimes, you may need to perform conditional logic based on whether a field does or does not exist in a recordset. To check for the existence of a field, simply loop through the ADODB.Recordset Fields collection, looking for the specified field name:
Private Function FieldExistsInRS( _
ByRef rs As adodb.Recordset, _
ByVal fieldName As String)
Dim fld As adodb.Field
fieldName = UCase(fieldName)
For Each fld In rs.Fields
If UCase(fld.Name) = fieldName Then
FieldExistsInRS = True
Exit Function
End If
Next
FieldExistsInRS = False
End Function
Usage:
...
If FieldExistsInRS(MyRecordset, "FieldName") Then
' Do something if field exists
Else
' Do something else if field doesn't exist
End if