Grazie per i consigli, sto modificando il programma.
Comunque ho fatto 4 sub con MoveNext, MovePrevious ecc...
Non mi è molto chiaro il passaggio del DataField:
Io scrivo nella form_load:
Text1.DataField = "Nome_Del_Campo"
e quando mi serve al posto di:
Form2.Text1 = (rec.Fields("Date").Value)
devo scrivere:
Set Text1.DataSource = rec
Ho capito bene?

Comunque mi da ancora errore di with.
Ecco il nuovo codice aggiustato un pò:
Private Sub Avanti_Click()

rec.MoveNext
If rec.EOF = False Then
Form2.Text1 = (rec.Fields("Date").Value)
Form2.Text2 = (rec.Fields("Inputby").Value)
Form2.Combo1 = (rec.Fields("Priority").Value)
Form2.Text3 = (rec.Fields("Item").Value)
Form2.Text4 = (rec.Fields("Note").Value)
Else
rec.MoveFirst
Form2.Text1 = (rec.Fields("Date").Value)
Form2.Text2 = (rec.Fields("Inputby").Value)
Form2.Combo1 = (rec.Fields("Priority").Value)
Form2.Text3 = (rec.Fields("Item").Value)
Form2.Text4 = (rec.Fields("Note").Value)
End If
End Sub

Se hai altri suggerimenti da darmi li accetto volentieri.