The code is in the Current not Load event.
There are no fields named txtmessage and txtname. The RecordsetClone code is referencing the controls on form and since focus remains on record 1 only those values are read.
This works:
Code:
Private Sub Form_Load()
With Me.RecordsetClone
Do Until .EOF
If !Feld2 Then
MsgBox !Feld1
End If
.MoveNext
Loop
End With
End Sub
I also tested your original code (copy/paste, no changes) and it works.
Big difference between the two methods is the first actually navigates records on the form so when it's done focus is on last record.