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

مشكلة مع الداتا ريبورت أرجو مساعدتكم فيها للاهمية ؟؟؟؟ (مثال مرفق)

مغلق
بدأه medo429 في 18 يناير 2008 · 12 رد · 2,376 مشاهدة · في قسم التقارير
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

قمت بعمل برنامج لادخال البيانت وعمل تقرير بالداتا ريبورت ولكن المشكلة التي تواجهني هي انه عند طباعة بيانات عميل معين يظهر التقرير بدون مشاكل ولكن عند تغيير العميل وعرض التقرير تظهر بيانات العميل السابق ولكي تنحل المشكلة لدي لابد من ان اقوم باغلاق البرنامج وتشغيله من جديد لكي اقوم بعرض تقرير جديد ارجو من لديه الخبرة في التعامل مع الداتا ريبورت ان يساعدني وجزاكم الله كل خير

يوجد بالمرفقات مثال علي المشكلة

وجزاكم الله كل خير

Report.rar

Report.rar

ما زال الرجل عالما طالما يتحري العلم فان قال علمت ........ فقد جهل

#2

انا واجهتني نفس المشكلة

استخدم الكود التالي

unload datarebort1

datareport1.show

#3

جزاك الله كل خير أخي الكريم ولكني جربت الكود والمشكلة تزال موجدة

ما زال الرجل عالما طالما يتحري العلم فان قال علمت ........ فقد جهل

#4

اخي كنت اعاني من نفس الاشكال لذلك انتقلت الى الكريستال ربورت

انتقل الى الكريستال ربورت وستجد نفسك تتمتع باشياء رائعة لم تكن تحلم بها مع الدايتا ربورت

تحياتي

#5

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

والمشكلة هي اني عملت ملف التقرير بالكريستال وعند اظهار التقرير بالكود التالي

crpt1.action=1

تظهر لي الرسالة التالية

method 'action' of object 'crystalctl' faild

ما زال الرجل عالما طالما يتحري العلم فان قال علمت ........ فقد جهل

#6

أخي الكريم ،

المشكلة ليست في تقرير الـ DataReport بل في الـ Recordset !!!

ببساطة شديدة ، قم بتعريف أثنين Recordset ، وأفتحهم علي جدول واحد مثلاً tbl ، هذا الجدول يحتوي علي 10 سجلات . أستخدم الـ Rs الأول في إدراج سجل جديد أو تغيير محتويات سجل معين أو حذف سجل ، ومن ثم أعرض محتويات الـ Rs الثاني ستجدة كما هو بالبيانات القديمة ، وإذا أغلقت الـ Rs الثاني وفتحتة مرة ثانية علي نفس الجدول ستجد التعديلات التي تمت علي Rs الأولي .

أتمني أن تكون فهمت ما أقصدة !!!

أنظر الكود :

Private Sub cmdViewReport_Click()
	Dim Rs As New ADODB.Recordset
	Rs.Open "Select * From Emp", Cn
	Set DataReport1.DataSource = rs
	DataReport1.Refresh
	DataReport1.Show
End Sub

أما إذا كنت تتعامل مع DataEnvironment فإليك الطريقة :

Private Sub cmdViewReport_Click()
	With DataEnvironment1.rsCommand1
		If (.State = 1) Then .Close
		.CursorLocation = adUseClient
		.Open "Select * From Tbl"
	End With
	Set DataReport1.DataSource = DataEnvironment1.rsCommand1
	DataReport1.Refresh
	DataReport1.Show
End Sub

أما إذا كنت تستخدم Adodc ، فبنفس الطريقة . بحيث أن يتم غلق الـ Rs القديم إذا كان مفتوحاً ومن ثم فتحة من جديد بنفس جملة الإستعلام ...

شكراً

لا تخلط ما بين شخصيتي وأسلوبي .. فشخصيتي هي

ما أنا عليه وتحت تصرفي .. وأسلـوبي يعتمد عليـك

أنت وتصرفاتك

ولحظاتي صمت... وصمـت لحظاتي كلام ... كلامه

اشد آلام ... فصمتي أنا عنوان

عصر التكنولوجيا المعلوماتية(مدونتي الخاصة)

My FaceBook

#7

مشكوووور أخي الكريم ولكني استخدم مكتبة الداو لو ممكن ان تضع لي الكود بس باستخدام مكتبة الداو وجزاك الله كل خير

ما زال الرجل عالما طالما يتحري العلم فان قال علمت ........ فقد جهل

#8

أخي الكريم ، لا يجوز التعامل مع تقارير DataReport إلا عن طريق ADO أو ADODOC أو DataEnvironment ، فالثلاثة طرق ما هو إلا ADO . أما إذا كنت ترغب في الربط مع DAO أو RDO فلا يمكن ذلك.

والله أعلم

شكراً

لا تخلط ما بين شخصيتي وأسلوبي .. فشخصيتي هي

ما أنا عليه وتحت تصرفي .. وأسلـوبي يعتمد عليـك

أنت وتصرفاتك

ولحظاتي صمت... وصمـت لحظاتي كلام ... كلامه

اشد آلام ... فصمتي أنا عنوان

عصر التكنولوجيا المعلوماتية(مدونتي الخاصة)

My FaceBook

#9

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

ما زال الرجل عالما طالما يتحري العلم فان قال علمت ........ فقد جهل

#10

أخي الكريم ،

أولاً : معني الرسالة تقريباً تشير بأن طريقة الإستدعاء غير سليمة ، فيمكنك تغيير من Action = 1 الي Action = 7 !!!

علي فكرة الرقم ( 7 ) شغال معاية في كريستال ( 7 ) ، ولكن أخي أفضل طريقة لبناء تقرير هي الآداة Viewer ، حيث تمكنك من دمج التقرير داخل الفيجوال EXE وليس من خارجها !!!

حتي ولو كنت تتعامل مع ملف خاريجي ، فيمكنك إستخدامها أيضاً بالعديد من الطرق المختلفة !!!

لكن هذا يرجع الي نوع الكريستال ، بمعني إذا كان نوع الكريستال القديم المرفق مع فيجوال بيزيك 5.0 فلا يمتلك هذه الآداة !!!

ثانياً : ليس من العقل الإنتقال من أفضل البرامج الي أحقر البرامج ، علي فكرة أنا في بدايتي كنت أتعامل مع الداتا ريبورت ، ولكن حينما قررت أن أدرس الكريستال ففوجأت بأنني أحتكر الداتا ريبورت !!!

ثالثاً : إذا كان الكريستال لا يعمل فبإمكانك البحث علي الويب وستجدة بمشيئة الله ، وأنصحك بكريستال ( 8 أو 10 أو 11 أو أعلي إذا وجد ) !!!

رابعاً : حاول تعيد تنصيب نظام التشغيل كلياً ، رغم أنني لا أرشح ذلك ، لكن يمكن يشتغل بس برضوا غير منطقي !!!

والله أعلم ، لأن البرنامج غير موجود أمامي ،

وشكراً

لا تخلط ما بين شخصيتي وأسلوبي .. فشخصيتي هي

ما أنا عليه وتحت تصرفي .. وأسلـوبي يعتمد عليـك

أنت وتصرفاتك

ولحظاتي صمت... وصمـت لحظاتي كلام ... كلامه

اشد آلام ... فصمتي أنا عنوان

عصر التكنولوجيا المعلوماتية(مدونتي الخاصة)

My FaceBook

#11

أخي الكريم ،

أولاً : معني الرسالة تقريباً تشير بأن طريقة الإستدعاء غير سليمة ، فيمكنك تغيير من Action = 1 الي Action = 7 !!!

علي فكرة الرقم ( 7 ) شغال معاية في كريستال ( 7 ) ، ولكن أخي أفضل طريقة لبناء تقرير هي الآداة Viewer ، حيث تمكنك من دمج التقرير داخل الفيجوال EXE وليس من خارجها !!!

حتي ولو كنت تتعامل مع ملف خاريجي ، فيمكنك إستخدامها أيضاً بالعديد من الطرق المختلفة !!!

لكن هذا يرجع الي نوع الكريستال ، بمعني إذا كان نوع الكريستال القديم المرفق مع فيجوال بيزيك 5.0 فلا يمتلك هذه الآداة !!!

ثانياً : ليس من العقل الإنتقال من أفضل البرامج الي أحقر البرامج ، علي فكرة أنا في بدايتي كنت أتعامل مع الداتا ريبورت ، ولكن حينما قررت أن أدرس الكريستال ففوجأت بأنني أحتكر الداتا ريبورت !!!

ثالثاً : إذا كان الكريستال لا يعمل فبإمكانك البحث علي الويب وستجدة بمشيئة الله ، وأنصحك بكريستال ( 8 أو 10 أو 11 أو أعلي إذا وجد ) !!!

رابعاً : حاول تعيد تنصيب نظام التشغيل كلياً ، رغم أنني لا أرشح ذلك ، لكن يمكن يشتغل بس برضوا غير منطقي !!!

والله أعلم ، لأن البرنامج غير موجود أمامي ،

وشكراً

لا تخلط ما بين شخصيتي وأسلوبي .. فشخصيتي هي

ما أنا عليه وتحت تصرفي .. وأسلـوبي يعتمد عليـك

أنت وتصرفاتك

ولحظاتي صمت... وصمـت لحظاتي كلام ... كلامه

اشد آلام ... فصمتي أنا عنوان

عصر التكنولوجيا المعلوماتية(مدونتي الخاصة)

My FaceBook

#12

أنا استعمل كريستال 4.6

انا أفعلا احتقرت الداتا ريبورت لاني كنت استخدم الكريستال 4.6 مع ان الكريستال اصدار قديم ولكن افضل بكثير من الداتا ريبورت ولكني انتقلت الي الداتا ريبورت لان برنامجي يتوقف علي التقارير وكنت قد بدأت بالفعل التقارير بالكريستال الي ان ظهر هذا العيب

لي سؤال :

هل طريقة التعامل مع الكريستال 8 او 10 او 11 تختلف عن الكريستال 4.6 انا لا اقول انهما متساويان في الامكانيات ولكني اقصد طريقة التعامل

وجزاك الله كل خير

ما زال الرجل عالما طالما يتحري العلم فان قال علمت ........ فقد جهل

#13

أخي الكريم ، إذا كنت ترغب التعامل مع الكريستال الحديث بنفس ما كنت تتعامل مع كريستال 4.6 ، يمكنك ذلك مع فروق بسيطة في تغيير الواجهات وزيادة في الإمكانيات !!!

أبحث في المنتدي جيداً وستجد العديد والعديد من الأمثلة التي تشرح الكريستال بوجة عام

شكراً

لا تخلط ما بين شخصيتي وأسلوبي .. فشخصيتي هي

ما أنا عليه وتحت تصرفي .. وأسلـوبي يعتمد عليـك

أنت وتصرفاتك

ولحظاتي صمت... وصمـت لحظاتي كلام ... كلامه

اشد آلام ... فصمتي أنا عنوان

عصر التكنولوجيا المعلوماتية(مدونتي الخاصة)

My FaceBook

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

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

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

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

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

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