Well, I wouldn't say recommending, because I thought that's what you were asking for. That said, if you don't want to pass all the fields to the function, it would make sense to pass an ID field and then get the field data within the function. You couldn't do it with that syntax though. You would open a recordset on it. Here's a function that's not doing the exact same thing you want, but maybe gives you an idea of the basic structure you need:
Code:
Public Function CheckAbbr(varInput As Variant) As Variant
Dim strSQL As String
Dim db As DAO.Database
Dim rs As DAO.Recordset
On Error GoTo ErrorHandler
Set db = CurrentDb()
strSQL = "SELECT AbbrDesc FROM tblAbbreviations WHERE AbbrID = '" & Nz(varInput, "") & "'"
Set rs = db.OpenRecordset(strSQL, dbOpenDynaset)
If Not rs.EOF Then
CheckAbbr = rs!AbbrDesc
Else
CheckAbbr = varInput
End If
ExitHandler:
Set rs = Nothing
Set db = Nothing
Exit Function
ErrorHandler:
Select Case Err
Case Else
MsgBox Err.Description & " in CheckAbbr "
DoCmd.Hourglass False
Resume ExitHandler
End Select
End Function