الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

حل مشكلة تحديث البيانات تلقائيا من داخل الكريستال ريبورت

مغلق
بدأه عماد الخليل في 10 أبريل 2007 · 6 رد · 2,747 مشاهدة · في قسم التقارير
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

بسم الله الرحمن الرحيم

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

بفضل الله تم ايجاد حل لمشكلة تحديث التقارير من داخل الكريستال ريبورت. واليكم التوصيف والحل

وصف الموضوع:

أ - الادوات المستخدمة: VB6 محدث الى SP6 بالاضافة الى كريستال ريبورت 10

ب - وصف المشكلة : تكمن المشكلة في انك اذا قمت بتحديث بيانات قاعدة بيانات من داخل الفجوال بيسك ومن ثم قمت بالدخول الى قسم الكريستال ريبورت للطباعة فانك ستجد البيانات القديمة وهي البيانات لحظة تشغيل برنامج الفجوال بيسك اول مرة وبالتالي فلو اجريت عمليات تحديث بيانات لقاعدة البيانات من داخل الفجوال ومن ثم دخلت لطباعة البيانات فانك لن تشاهد البيانات المحدثة بل البيانات الاولى عندما اشتغل الفجوال بيسك اول مرة. وهذا رابط تطرح فيه المشكلة ويمكن الاطلاع على المشكلة من خلال مشاركات اعضاء في هذا المنتدى تحديث لتقارير الكريستال ريبورت

الحل الاول: وهو حل سهل ويعرفه الكثير ولكنه يدويا وهو ان تجعل خاصية (كونترول) الكريستال الى EnableRefreshButton الى TRUE وبالتالي يظهر رمز REFRESH وهو رمز صورة صغيرة لونها اصفر يشبه اشارة تحذير من صاعق كهرباء وتبدو هكذا

CRYSTALRERESH9714428186.jpg

عند الضغط عليها يتم تحديث البيانات.

الحل الثاني: ويعرفه الكثير ايضا وهو ان تخرج من البرنامج ثم تدخل مرة اخرى فتتحدث البيانات ولكنه حل غير منطقي

الحل الثالث : وهو الاهم لانه يحدث بشكل تلقائي وهو ان تضيف مُؤقت (تايمر) للفورم الذي يحوي التقرير وليكن اسمه TIMER1 تضع داخل حدث التايمر بالشكل التالي:

	Timer1.Enabled = False
	frmReport.CRViewer1.Refresh

,وتضع اعدادات التايمر داخل الحدث CRViewer1_GotFocus بافتراض ان اسم كنترول الكريستال CRViewer1 وان اسم الفورم الذي يحوي التقرير هو frmReport

	Timer1.Interval = 3000
	Timer1.Enabled = True

ال 3000 تمثل 3 ثواني يمكن تقليل الوقت او زيادته بحسب التجربة.

انتهى والحمد لله

39_22.gif

تزود من التقوى فإنك لا تدري *** إذا جن ليل هل تعيش إلى الفجر

فكم من فتى أمسى وأصبح ضاحكاً *** وقد نسجت أكفانه وهو لا يدري

لقراءة القرآن الكريم و سماعه و تفسيره ........

ماذا يعني انني مسلم سني؟

قصة غريبة

ConflictResolution.gif

#2

أشكرك اخي الكريم ، فكرة ممتازة

تحياتي

OMANI FOR EVER

-------------------------------------------------

post-12787-12780191801974.jpg

-------------------------------------------------

#3

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

أخي عماد : لازالت مشكلة عدم التحديث قائمة عندي.. قضيت معها وقتا طويلا دون فائدة للاسف

حيث جربت طريقتك وكل المشاركات التي في المنتدى.. وأزلت إشارة الصح عن صندوق الاختيار

Save Data With Report

وحددت مسار قاعدة البيانات بالكود للتقرير...

وأنا على وشك تسليم البرنامج...

علماً بأني أستخدم VB6 +ACCESS2003+CRYSTAL10

عند الضغط على زر REFRESH الموجودة على أداة CRViewer التي على الفورم يعمل تحديث ويعرض البيانات الصحيحة.

حاولت أن أرفق مثال صغير يبين المشكلة ولكن يبدو انه غير متاح في التعقيب هل احتاج لمشاركة جديدة لكي أرفق المثال حيث يتضح فيه كل شي

أرجو المساعدة من الجميع

تحياتي

بارك الله فيكم على هذا المنتدى الرائع والمتميز

حسن ..... مبرمج ..... فلسطين

hassan.alaraishy@gmail.com

#4

فقط اضف هذا السطر قبل اسناد التقرير الى الجدول . أي في حدث Form_Load

Report.Database.SetDataSource RS

تحياتي

OMANI FOR EVER

-------------------------------------------------

post-12787-12780191801974.jpg

-------------------------------------------------

#5

يعطيك العافية أخي omani....

100% زبطت عملية التحديث.....

شكرا لك

بارك الله فيكم على هذا المنتدى الرائع والمتميز

حسن ..... مبرمج ..... فلسطين

hassan.alaraishy@gmail.com

#6
omani كتب:
فقط اضف هذا السطر قبل اسناد التقرير الى الجدول . أي في حدث Form_Load

Report.Database.SetDataSource RS

تحياتي

لا ادري كيف حدث ذلك

ولكنني كنت اقصد ان تقوم بتدمير التقرير المحفوظ وذلك باستخدام الامر التالي :

Report.DescordSavedData

تحياتي

OMANI FOR EVER

-------------------------------------------------

post-12787-12780191801974.jpg

-------------------------------------------------

#7

بسم الله الرحمن الرحيم

اللى فهمته ان اللى انتوا عاوزينه ان التقرير يتم تحديثه قبل الضغط على الطباعه ليشمل أخر شى تم أضافة لقاعدة البيانات الحل انك تطبع من كويرى وتحذفه قبل الطباعه وتعيد بنائه وبالطريقه دى هيتحدث ووبناء على ذلك يكتسب التقرير التحديث أيضا

سبحان الله وبحمده سبحان الله العظيم

s.gif

هذا الموضوع مغلق.

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…