طريقة غير صحة
بما انك تريد الشرط على البيانات الحالية في النموذج اذا يجب ان تستخدم حلقة تكرارية
في كل مرة تقوم بأخذ المؤشر الى اول سجل و ثم الانتقال للتالي الى ان تصل لأخر سجل
تفضل هذا الكود لعمل اللازم
ضعه في حدث عند التغيير
Dim x
x = iPage
Dim i, i2 As Integer
DoCmd.GoToRecord , , acFirst
For i = 0 To Me.Form.Recordset.RecordCount - 1
If iPage = x Then
i2 = i2 + 1
If i2 > 1 Then
If MsgBox("تم استخدام الحساب مسبقا" & vbNewLine & "هل تريد التراجع ؟", vbCritical + vbYesNo + vbMsgBoxRight, "تنبيه") = vbYes Then
DoCmd.SetWarnings False
DoCmd.RunCommand acCmdUndo
DoCmd.SetWarnings True
Exit Sub
End If
End If
End If
DoCmd.GoToRecord , , acNext
Next i
DoCmd.GoToRecord , , acNewRec
Me.iName.SetFocus