اذهب الي المحتوي
أوفيسنا

الردود الموصى بها

قام بنشر

السلام عليكم ورحمة الله وبركاته

نفرض أنك تشتغل على نموذج بصورة شبه يوميه وتريد عندما تفتح النموذج أن يعود بك إلى أخر سجل قمت بإدخاله أو تعديله .

المثال التالي يحل المشكله ان شاء الله وهو يعتمد على نموذج يحتوي على حقل ترقيم تلقائي فريد باسم ( CustomerID )

الشـــرح:-

أولاً : أنشىء جدول باسم "tblSys" يتكون من الثلاث حقول التالية :

Variable (حقل نصي حجمه 20 حرف)

Value (حقل نص حجمه 80 حرف)

Description (حقل نص حجمه 255 حرف)

ثانياً: ضع الكود التالي في حدث عند إلغاء التحميل للنموذج المراد إستخدامه

Sub Form_Unload (Cancel As Integer)

  Dim rs As DAO.Recordset


  If Not IsNull(Me.CustomerID) Then

    Set rs = CurrentDb().OpenRecordset("tblSys", dbOpenDynaset)

    With rs

      .FindFirst "[Variable] = 'CustomerIDLast'"

      If .NoMatch Then

        .AddNew

          ![Variable] = "CustomerIDLast"

          ![Value] = Me.CustomerID

          ![Description] = "Last customerID, for form " & Me.Name

        .Update

      Else

        .Edit

          ![Value] = Me.CustomerID

        .Update

      End If

    End With

    rs.Close

  End If

  Set rs = Nothing

End Sub
ثالثاً: ضع الكود التالي في حدث عند التحميل للنموذج المراد إستخدامه
Sub Form_Load()

  Dim varID As Variant


  varID = DLookup("Value", "tblSys", "[Variable] = 'CustomerIDLast'")

  If IsNumeric(varID) Then

    With Me.RecordsetClone

      .FindFirst "[CustomerID] = " & varID

      If Not .NoMatch Then

        Me.Bookmark = .Bookmark

      End If

    End With

  End If

End Sub

ملاحظة: أضف المرجع DAO 3.6 إلى قائمة المراجع لديك في القاعدة لكي تعمل القاعدة بالشكل المطلوب.

للإستيضاح مرفق مثال على ذلك.

والله الموفق

(المرجع أحد المواقع الأجنبية)

Last_update_Recorde.zip

  • Like 2
  • Thanks 1
  • 1 year later...
زائر
هذا الموضوع مغلق.
  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information