Talking through the real problem in the previous post led me to try a different approach. Instead of looking at the subform, I can query the table directly to see if the user has already voted.
Code:
User = Forms![Idea Form]![TxtCurrUser]
IdeaID = Forms![Idea Form]![ID]
Debug.Print "User = "; User
stQuery = "SELECT Votes.IdeaID, Votes.UserVote " & _
"FROM Votes WHERE (((Votes.IdeaID)= " & IdeaID & ") " & _
"AND ((Votes.UserVote)= '" & User & "'));"
Set rsQuery = CurrentDb.OpenRecordset(stQuery, dbOpenDynaset)
iRecords = rsQuery.RecordCount
Debug.Print "records = "; iRecords
If iRecords = 0 Then
Me.HeartPic.Visible = False
Else
Me.HeartPic.Visible = True
End If