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

خاصية DIRTY


safari

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

وعليكم السلام 🙂

 

النموذج لما يتم فتحه ، تكون السجلات نظيفة me.Dirty=false ، ولما يتم التعديل على اي منها ، فيكون السجل  me.Dirty=true ،

فإذا اردت ان تطبع التقرير مثلا ، ولكن تريد إظهار بيانات السجل الذي انت عليه ، وقد تكون فد عملت تعديلات على السجل ، لذا فانت تريد التأكد من حفظ السجل قبل الطباعة ، فيمكنك عمل التالي قبل سطر طباعة التقرير:

1. docmd.runcommand accmdsaverecord 
يحفظ السجل
بغض النظر ان السجل نظيف او لا


2. me.refresh
يعمل انتعاش للنموذج ، والذي بدوره يجعل مؤشر البيانات ينتقل الى اول سجل
وبما ان السجل يفقد التركيز ، فيتم حفظه تلقائيا
ويعيد طلب البيانات من الجداول ، بغض النظر ان السجل نظيف او لا


3. me.requery
تقريبا نفس طريقة عمل #2 اعلاه


4. if me.Dirty then me.Dirty=false
اذا كان السجل غير نظيف ، فيقوم بحفظ السجل

.

رجاء تخيل ان قاعدة البيانات الخلفية موجودة على سيرفر ، لذلك يُوجب عدم مزاحمة السيرقر إلا في اضيق الحالات ،

الطريقة:

1. تحفظ البيانات ، بغض النظر اذا كان الوضع يتطلب ذلك او لا ، ففيه عمل اضافي ،

2 و 3. تحفظ البيانات ،  بغض النظر اذا كان الوضع يتطلب ذلك او لا ، ويطلب البيانات مرة اخرى من الجداول ، ففيه عمل اضافي بزيادة ،

4. تحفظ البيانات وقت الحاجة فقط ، فتكون هذه الطريقة هي الامثل 🙂

 

جعفر

  • Like 1
رابط هذا التعليق
شارك

20 ساعات مضت, safari said:

السلام عليكم

خاصية DIRTY

مقصود بيها ايه ؟

و فايدتها ايه ؟

 

بالاضافة لما تفضل به الاخ الكبير @jjafferr

 

تستعمل dirty  في بعض الحالات مثال :

اذا كان عندك نموذج وكتبت به بعض البيانات ولم تكملها جميعها

واردت الخروج من النموذج 

تستطيع وضع كود ينبهك انه هناك بيانات في النموذج اذا تريد حفظها او لا 


 

If MsgBox("هل تريد الخروج؟", vbYesNo, "تأكيد الخروج") = vbYes Then
    If Me.Dirty Then
        If MsgBox("هل تريد حفظ الإدخال الحالي", vbYesNo, "حفظ السجل") = vbNo Then
            Me.Undo
            DoCmd.Close
        Else
            DoCmd.Save
            DoCmd.Close
        End If
    Else
       DoCmd.Close
     End If

Else
       Me.xxx.SetFocus
End If

 

تم تعديل بواسطه jjafferr
وضع الكود بالطريقة الصحيحة بإستخدام <> القائمة
  • Like 1
رابط هذا التعليق
شارك

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



سجل دخولك الان
  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

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

Important Information