السلام عليكم
ضع هذه الاكواد في وحدة نمطية
Function FirstRcd(Frm)
If Frm.Dirty = False Then
On Error GoTo err:
DoCmd.GoToRecord , "", acFirst
Exit Function
err:
If err.Number = 2105 Then
MsgBox "لا يمكن الذهاب إلى السجل المطلوب", vbCritical + vbMsgBoxRight, "خطأ"
End If
Else
MsgBox "تم تغيير محتويات النافذة يرجى الحفظ التغييرات", vbCritical
End If
End Function
Function NextRcd(Frm)
If Frm.Dirty = False Then
On Error GoTo err:
DoCmd.GoToRecord , "", acNext
Exit Function
err:
If err.Number = 2105 Then
MsgBox "لا يمكن الذهاب إلى السجل المطلوب", vbCritical + vbMsgBoxRight, "خطأ"
End If
Else
MsgBox "تم تغيير محتويات النافذة يرجى الحفظ التغييرات", vbCritical
End If
End Function
Function prevRcd(Frm)
If Frm.Dirty = False Then
On Error GoTo err:
DoCmd.GoToRecord , "", acPrevious
Exit Function
err:
If err.Number = 2105 Then
MsgBox "لا يمكن الذهاب إلى السجل المطلوب", vbCritical + vbMsgBoxRight, "خطأ"
End If
Else
MsgBox "تم تغيير محتويات النافذة يرجى الحفظ التغييرات", vbCritical
End If
End Function
Function LastRcd(Frm)
If Frm.Dirty = False Then
On Error GoTo err:
DoCmd.GoToRecord , "", acLast
Exit Function
err:
If err.Number = 2105 Then
MsgBox "لا يمكن الذهاب إلى السجل المطلوب", vbCritical + vbMsgBoxRight, "خطأ"
End If
Else
MsgBox "تم تغيير محتويات النافذة يرجى الحفظ التغييرات", vbCritical
End If
End Function
ثم في أي نموذج اكسس يمكنك التنقل بين السجلات باستخدام الاكواد التالية
الانتقال الى السجل الاول
Call FirstRcd(Me)
الانتقال الى السجل السابق
Call prevRcd(Me)
الانتقال الى السجل التالي
Call NextRcd(Me)
الانتقال الى السجل الاخير
Call LastRcd(Me)