مختار سيد صالح

درس - تصميم التقرير خطوة بخطوة ....

23 ردود في هذا الموضوع

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

درسنا لهذااليوم بعنوان ... إنشاء التقارير بوااسطة داتا ريبورت .

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

بسم الله الرحمن الرحيم نبدأ .

أولاً - مدخل إلى الدرس :

كل من قام بتصميم برنامج قواعد بيانات بسيطاً كان أم معقداً فلا بد و أنه فكر

في إضافة ميزة الطباعة لبرنامجه و التي تعد من أهم الميزات في كل البرامج .

و لعمل أمر طباعة إحترافي و مع ميزة عرض قبل الطباعة فأنت إذاً سوف تحتاج

إلى أداة رائعة تأتي مع فيجوال بيسك و هي data report

ثانياً - بداية إنشاء داتا ريبورت :

إذا كنت قد قررت إنشاء تقاريرك بواسطة داتا ريبورت فالأمر سهل جداً و ما يحتاج تعقيد .

أنا راح أحاول أشرح شرح مبسط أوكي ..

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

و على سبيل المثال سوف نأخذ برنامج دليل الهاتف الذي صممناه منذ مدة ... حتى نطوره

و نجعله يطبع نتائج البحث .

من القائمة project >>>>

more activx designers >>>

data enviroment

فتظهر لنا نافذة جديدة ....

ننقر بها على الرمز connection1 بالزر الأيمن ثم نختار properties

ثم نحدد النمط

microsoft jet 4.0 ole db provider

و من التبويب الثاني نحدد إسم قاعدة البيانات

ثم نضغط على الامر test ((إختبار الاتصال ))

و سوف يعطينا رسالة بنجاح الاتصال نضغط موافق ثم موفق ...

فنعود مرة أخرى إلى واجهة data enviroment الرئيسية

نضغط مرة اخرى على connection1 باليمين و نختار

add command

ثم نضغط على command1 باليمين و نختار properties

نفعل على الخيار

SQL statement

و نكتب في المربع السفلي أي عبارة sql مثلاً

 
select * from mok

ثم نختار موافق .... فنلاحظ أن الحقول الموجودة بالجدول المحدد قد أدرجت ... و هنا

نكون قد تجاوزنا القسم الأول و الصعب نسبياً . مبروووووك

ثالثاً - إنشاء التقرير :

بعد أن حققنا الربط مع قاعدة البيانات نختار من القائمة project الأمر

add data report

فنلاحظ ان التقرير مقسم إلى خمس أقسام

الأول - report header

رأس التقرير ... و فيه تكتب العبارة التي سوف تظهر في رأس أول صفحة من تقريرك مثلاً اسم شركتك مثلاً : المختار للبرمجة طبعاً بواسطة أداة الليبل

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

الثاني - page header

رأس الصفحة ..... و هي العبارة التي تظهر في رأس كل صفحات التقرير تكتب فيها مثلاً .

تقرير بنتائج البحث .

الثالث - detail

و هو الأهم و سوف نتكلم عنه آخر شي.

الرابع Page footer

تذبيل الصفحات

الخامس report footer

تذبيل التقرير

.... الأهم الآن ماذا نفعل في القسم الثالث detail

و ببساطة شديدة نفتح واجهة data enviroment ثم نفتح connection1 ثم command1

ثم نحدد الحقل الأول مثلاً (( الاسم )) و نسحبة إلى ان نصل به إلى القسم الثالث ثم نقوم بإفلاته

و نعمل نفس الشيء مع بقية الحقول .... ثم نقوم بتنسيق التقرير .. على ذوقنا.

رابعاً - إظهار التقرير :

الآن نقوم بوضع زر أمر في الفورم تحت عنوان طباعة

و نكتب فيه الكود التالي

datareport1.show

نفذ البرنامج و اسمتمع .....

خامساً - التقرير الحي :

إلى الآن فمن المفترض أنك قد قمت بإنشاء تقرير رائع ....

و لكن ألا تلاحظ ان تقرير يعرض كل السجلات ...

و المطلوب منه هو ان يعرض السجلات التي قمنا بالبحث عنها فقط .. أليس كذلك ..

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

إذا كنت قد لاحظت سير الدرس فلا بد و انك قد انبهت ان التقرير قد ارتبط بقاعدة البيانات عن طريق

data environment و ببساطة لتطبيق استعلام على التقرير يكفي تطبيقه على الـ data environment

و لتطبيق الاستعلام عليها نضيف الكود التالي إلى كود البحث .

  With DataEnvironment1
         .Commands(1).CommandType = adCmdText
         .Commands(1).CommandText = "هنا ضع جملة الاستعلام  "
         .Commands(1).Execute
       If .rsCommand1.State = 1 Then
         .rsCommand1.Close
       End If
 End With

ملاحظات عامة :

للفهم الأكبر يجب متابعة الدرس بالتسلسل الموجود عليه ...

و التطبيق العملي خير وسيلة للتعلم ....

و تذكر أنه إذا لم تخطأ فإنك لن تصيب ....

أرجوا أن يكون هذا الدرس من الصدقات الجارية و من العلم الذي ينتفع به ..

كما أرجو من الله تعالى أن لا تنسوني من دعوة صالحة في ظهر الغيب

أخوكم في الله : مختار سيد صالح

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

شكراً أخي هذا من بعض ما أبحث عنه

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

إذا أردت ان تشكرني فلا تقل شكراً

بل قم بالتسجيل في منتدياتي فهذا أكبر شكر لي ....

تحياتي

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

أرجو منك أنت أيضاً أن تشارك في منتدياتيك

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

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

شكرا يا اخ مختار على هذا الدرس القيم

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

ولكم مني جزيل الشكر

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

اريد ان اعرف كيفية تغيير حجم الورقة

والهوامش

وطباعة الورقة بالعرض وليس بالطول

شكرا اخى

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

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

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

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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

حفظك الله وجعل ذلك في ميزان حسناتك

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

اولا أشكر الاخ مختارالسيد على المبذول

وأشكر الجميع

وأشكر الاخ Hazeim على الحكمة الموجوده في التوقيع والله جلست أتـأمل فيها وصح كلامك 100%

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

ما هى عبارة ال SQL التى وضعتها فى Text3.text

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

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

حولتها إلى

Select * from Table Where Col1 = ' " & Text1.Text & " ' "

لكن هنالك مشكلة جديدة الآن ألا وهي:

بعدما أقوم بطباعة التقرير أعود لأختيار بيانات أخرى لأطبعها تظهر لي فورم طباعة التقرير بالمعلومات السابقة

ولا أستطيع طباعتها إلا بالخروج من البرنامج ثم الطباعة من جديد (و طبعاً يعلق أول بيانات أطبعها في التقرير وكل طباعة أضطر إلى الخروج من البرنامج وتشغيله مرة أخرى)

أرجو أن ألا أكون أطلت عليكم وشكرا لوقتكم المبذول

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

نفس المشكلة عندي؟؟؟؟

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

هل مات الموضوع عند انتقاله إلى هذا القسم!!!!!!!!!!!!!!!!!!

<_< <_< <_< <_< <_< <_< <_< <_< <_< <_<

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

هو أحسن من غيره

الأحسن منو ماتو..

أنا مش عارف شو اللي بيصير في هالمنتدي..."نقد"!!!!!!!!!!!!!!!!!!

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

اريد ان اعرف هل يمكن التحكم في شكل طباعة التقارير كما اريد ان اعرض التقارير بالعرض

هل يمكن ذلك

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

درس حلو كتير :D

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

بارك الله في هذا المجهود

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
لكن هنالك مشكلة جديدة الآن ألا وهي:

بعدما أقوم بطباعة التقرير أعود لأختيار بيانات أخرى لأطبعها تظهر لي فورم طباعة التقرير بالمعلومات السابقة

ولا أستطيع طباعتها إلا بالخروج من البرنامج ثم الطباعة من جديد (و طبعاً يعلق أول بيانات أطبعها في التقرير وكل طباعة أضطر إلى الخروج من البرنامج وتشغيله مرة أخرى)

أرجو أن ألا أكون أطلت عليكم وشكرا لوقتكم المبذول

إذا دققت قليلاً علي كلامك تجد أن معني هذا الكلام أن الأمر Command المرتبط مع Data Environment يطالبك بإغلاقة ثم فتحة من جديد ، وليس مع الـ DED فقط بل مع أي آداة أخري مثل ADODB - أو ADODC أو حتي RDO أو DAO !!!

بمعني ، يجب أن يتم إغلاق الـ Recordset وفتحة من جديد لجلب البيانات الجديدة !!!

علي العموم أنظر المثال المرفق كي تعلم كيف يتم ذلك بالـ DED .

	With DED.rsRep_Dep
If (.State = 1) Then .Close
.Open
End With
repDep.Show

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

هل مات الموضوع عند انتقاله إلى هذا القسم
هو أحسن من غيره

الأحسن منو ماتو..

أنا مش عارف شو اللي بيصير في هالمنتدي..."نقد"!!!!!!!!!!!!!!!!!!

علي فكرة أنا ألاحظ أن أقسام الفيجوال بيزيك في المنتدي أو أي منتدي آخر نشط بطريقة واضحة .. لكن في المنتدي أن أري بعض أقسام غير نشطة وأأمل من الله أن يكون أحسن من هذا الوضع ، ولكن في نفس الوقت لا تظلموا الأعضاء حيث أنكم أخطأطم خطأ أي مبتديء ( مع إحترامي للجميع )

أولاً ، هذه المشكلة قد تم عرضها وإضافة مشاركات عليها كثيراً ، بمعني لو أحد منكم فكر يبحث بالمنتدي بحث جيد لوجد الأمثلة المطلوبة ، أو علي الأقل يحاول البحث وبعد ذلك إذا لم يتمكن من إيجاد نتائج يلجأ الي عرض سؤالة بالمنتدي .

ثانياً ، ليس كل المبرمجون يتعاملون مع هذه الأدوات ، حيث أنها ليست أفضل الأدوات وصدقوني ( هتيجوا اليوم وتفتكروا الكلام دة وستتركوها وتلجأوا الي الأفضل ) .

أترككم مع المثال حيث يحتوي علي مثالين ، الأول تحديث الكائن Command ، والثاني بناء تقرير بالعرض !!!

شكراً

Simble.rar

تم تعديل بواسطه MMA_EG_Cairo
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

الاخوة الافاضل

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

حيث عندما اقوم بعمل اختبار الاتصال بقاعدة البيانات

تظهر رسال بان خطأ في الاتصال لوجود كلمة مرور بقاعدة البيانات

وشكراً

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

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

شكرًا جزيلا أخي على هذه المعلومات القيمة وبالمناسبة عندي سوءالين في هاذا الموضوع
أريدإدخال رقم بالتتابع لعدد السجلات في التقرير مثلا من 1 إلى 40
كما نعمل في عدد الصفحات ‎%‎P هل من الممكن في الأرقام المتتابعة فعل  ذالك 

والسوءال الثاني وهو في مؤخرة

التقرير وضغت فيه محل الإمضاء و التاريخ في بعض الأحيان أطبع التقرير تماما وفي بعض الاحيان يتغير موضع التاريخ والامضاء فينتقل إلى ورقة فارغة ليس فيها معطيات أعني إذا كانت المعطيات فيها 25 صفحة فتطبع 24 صفحة تماما و الصفحة الاخيرة  أعني تتمة 25 تخرج فارغة ليس فيها سوى التاريخ والامضاء هل من الممكن جعل

التاريخ والامضاء ثابتا مهما كانت عدد المعطيات
جزاكم الله كل خير?

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

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

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



سجل دخولك الان

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .