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

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

قام بنشر (معدل)

السلام عليكم 

اريد كود يقوم بنفس وظيفة زر refresh all

مع العلم اني قمت بتجربة

me.refresh

docmd.refreshrecord

55.PNG

تم تعديل بواسطه husseinharby
قام بنشر (معدل)

عندما اقوم بادخال بيانات مثل خصم علي الفاتورة واذهب لطباعة الفاتورة من تقرير لايعطيني صافي الفاتورة الا عندما اقوم  بعمل refresh All  من قائمة home  كما هو موضح في الصورة

اريد كود بديل لزر refresh all

 

تم تعديل بواسطه husseinharby
  • Like 1
  • أفضل إجابة
قام بنشر

الآن سؤالك كامل وواضح 🙂

 

لما تُدخل البيانات ، سؤاء في الجدول او الاستعلام او النموذج ، ترى ان طرف السجل عليه هذه العلامة :

image.png.0389f3ed7d542afb63a5dbbdacb08664.png

.

هذه العلامة معناها انك في وضع إدخال المعلومة / تعديلها / تحديثها ، ولكنك لم تحفظها بعد ،

فلما تخرج من السجل (خروجك من الحقل الى حقل آخر معناه انك لازلت على نفس السجل)  ، سواء الى السجل السابق او التالي او اي سجل او حتى خروجك من الجدول / الاستعلام / النموذج (لأن الاكسس تلقائيا يحفظ السجل في هذه الحالات) ، هنا فقط الاكسس يحفظ بيانات السجل ، وعليه تختفى هذه العلامة 🙂

 

بعض الاوقات في النموذج نكون نُدخل البيانات ، والاكسس لا يكون قد حفظ السجل ، لهذا السبب ، لا تظهر هذه المعلومة الجديدة في التقرير (لانها اصلا غير محفوظة في الجدول) 🙂

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

1. النقر على زر Refresh All (مثل ما عملت انت) والذي يضطر البرنامج الى دفع ثمن باهض ، بتحديثه سجلات جميع الجداول (وهذا يأخذ وقت اذا كان عدد الجداول كثير او في شبكة) التي في البرنامج (واذا كنت تشتغل في بيئة اكثر من مستخدم وهناك من يدخل البيانات ، فحتى بياناتهم يتم تحديثها غصبا عنهم) ،

2. استخدام الكود ، قبل سطر طباعة التقرير (هذا الكود الاسرع) :

يحفظ البيانات فقط اذا تم عمل تغيير عليها
if me.dirty then me.dirty=false

او
سيتم حفظ البيانات بغض النظر اذا تم تعديل عليها او لا
docmd.runcommand accmdsaverecord

3. استخدام الكود ، قبل طباعة التقرير (وهذا ابطئ ، لأنه يضطر الى تحديث بيانات الجدول ، ثم جلبها الى النموذج) :

me.Refresh

او
me.Requery

.

 

جعفر

  • Like 3
  • Thanks 1
قام بنشر
8 ساعات مضت, husseinharby said:

عندما اقوم بادخال بيانات مثل خصم علي الفاتورة واذهب لطباعة الفاتورة من تقرير لايعطيني صافي الفاتورة الا عندما اقوم  بعمل refresh All  من قائمة home  كما هو موضح في الصورة

اريد كود بديل لزر refresh all

 

هناك طريقة استعملها انا في برامجي

بعد الانتهاء من ادخال البيانات سواء خصم او سجل جديد

اجعل النموذج يغلق ويفتح مرة اخرى 

حيث اضع كود على زر حفظ وجديد

close window

docmd.openform"form_Name",acnormal

هيك تكون عمل ريفرش للبيانان ولما تروح على التقرير تكون البيانات محدثة

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

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

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

Important Information