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

كيف يعرض تقرير حسب اختيار الحقول

بدأه ابو كورد في 9 أغسطس 2009 · 39 رد · 6,390 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

لدي جدول واحد يحتوي على الكثير من الحقول (42) حقل تقريبا

اريد ان اعرض الحقول عبر التقرير كالاتي:-

في كل مرة عدد من الحقول مختلفة عن الاخرى (( حقول وليس سجلات)) مثلا

في المرة الاولى اريد اختيار الحقول (1،3،4،19،10،6) ويتم عرض محتوياتها على شكل جدول

في المرة الثانية اريد اختيار الحقول مثلا(6،42،15،9،28،7،33،20،19،37،18،19) ويتم عرض محتوياتها على شكل جدول

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

وشكرا

#2

هناك تساؤل مهم جدا

* هل ستختار الحقول بشكل عشوائي ؟؟؟ من حيث اسمائها / من حيث عددها ؟ بمعنى هل التقرير سيحتوي على 5 اعمدة دائما ؟

- حاول ان تستثني الحقول التى لن تستخدم مطلقا / ثم قسم الحقول الاساسية فى مجموعة تقارير منفصلة و حضر بياناتها باستخدام استعلامات

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

اذا كانت هناك اليات محددة اعمل عدة تقارير مختلفة تحقق هذه الاليات , ولا يهم اسماء الحقول بالقدر الذي يهم فيه عددها.

#3

اشكرك اخي على اهتمامك بالموضوع

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

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

لذا ارجو منكم ايجاد الحل بحيث اطبع عن طريق تقارير اكسس.

ارجو من الاخوة في المنتدى التفاعل مع الموضوع للضرورة

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

#4

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

أخي هل هذه الفكرة هي ما تبحث عنه؟ إذا كان كذلك، فيمكن أن أرفق بعض التعليقات لتوضيح الكود...

DynRep.rar

#5

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

وتكون اتممت جميلك بشرح الاكواد تفصيلياً وشكرا لك

#6

حدث خطأ بسيط في النسخة السابقة عند اختبار وجود اختيار في مربع السرد... قمت بتصحيح السطر مع إرفاق تعليقات مختصرة. طبعاً شرح الكود سطراً سطراً بعمق يحتاج إلى شرح مفاهيم برمجية عديدة، لكن المهم من الكود هو الطريقة CreateReportControl، وتجد تعريفاً لمعاملاتها في ملفات مساعدة الأكسس، من ذلك يمكن أن تفهم معنى كل معامل parameter...

ربما تجدر الإشارة إلى أن إحداثيات اليسار قد تم حسابها بضرب عرض كل عنصر (مربع نص مثلاً) يتم إنشاؤه برقمه في قائمة الاختيار (مع إضافة إزاحة يسيرة إضافية من أجل الشكل)، وهكذا يقع أول عنصر بإزاحة قدرها صفر + 50، والعنصر الثاني 1 * عرض العنصر + 50، والثالث 2 * عرض العنصر + 50 وهكذا.... لاحظ من فضلك أن الافتراض هنا أن عرض العتاصر واحد...

أخي أبا جمانة، أرجو الاطلاع على الملف ومحاولة فهم الكود، وفي حالة وجود استفسارات معينة، فمن فضلك لا تتردد في طرحها...

DynRep.rar

#7

بارك الله فيك اخي احمد

والله انه عمل اكثر من رائع سلمت يمينك

لكن لى ملاحظتين لو زبطن بيكون الشغل 10/10

1- هناك بعض الحقول لا تتسع للنص يعني يضيع شوية من النص

2- عند اغلاق التقرير يطالب بالحفظ

يا ريت تنكمل جميلك و تحل المشكلتين

#8

وفيك بارك الله أخي tbazh

لقد عدلت بعض الشيء في الفكرة، وجعلت التقرير يتولد كلياً من الكود، ومرفق النسخة الأخيرة...

تم تشغيل خاصية قابل للنمو للحقول كمعالجة للمشكلة الأولى، أما المشكلة الثانية ففضلت أن يتم سؤال المستخدم عن الحفظ حتى يتسنى له حفظ التقرير بصورته الحالية إن أراد، وإلا اختار عدم الحفظ...

لكن في كل الأحوال يمكن الالتفاف على المشكلة بحفظ التقرير بالكود التالي:

DoCmd.Save acReport, rep.Name

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

والله أعلم.

DynRep.rar

#9

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

بارك الله لك جهودك وسدد بالخير والعطاء دربك

اخي العزيز احمد مبارك والله انت مبارك

هذا ماكنت اريد واحاول ان افهم الكود وفي حالة عدم فهمه سارجع اليك

شكر وتقدير اليك

#10

يظهر خطا فى الكود

التقرير لا يعمل

#11

عفواً أخي tbazh على الرد المتأخر، ولكنني قمت بتنزيل الملف، ووجدت أن التقرير يعمل، هل نزلت الملف الأخير؟ ما هو الخطأ الذي يظهر لك؟...

تم تعديل هذه المشاركة بواسطة أحمد مبارك الحيقي في 13 أغسطس 2009 في 17:00

#12

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

استاذي احمد عجبتني الفكرة لكن يطلع خطاء وهذي صورته

post-177538-1250345702_thumb.jpg

#13

وعليكم السلام ورحمة الله وبركاته أخي مشارف...

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

حاول من فضلك أن تضع مكان هذا الكود:

.Section("ReportHeader").Height = 900
		.Section("ReportFooter").Height = 0
		.Section("PageHeaderSection").Height = 300
		.Section("PageFooterSection").Height = 300
		.Section("Detail").Height = 305

هذا الكود

.Section(1).Height = 900
		.Section(2).Height = 0
		.Section(3).Height = 300
		.Section(4).Height = 300
		.Section(0).Height = 305

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

شكراً جزيلاً لك على التجاوب والتنبيه، أسأل الله أن يفتح علينا وعليك.

أخوك أحمد

#14

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

وان شاء الله واضع السؤال نفسه اتستفاد منه

#15

أستاذنا أحمد

وراك وراك .. يعنى ألاحقك

الفكرة رائعة وخطرت ببالى قبل .. ولكننى تخيلت أن ذلك يحتاج ما هو أكثر من كود .. تخيلت أن الموضوع ليس أقل من Crystal Reports وما إليها ... والآن دعنا نزعجك كالعادة:

هل يمكن أن يكون مصدر العنصر الغير منضم بالنموذج إستعلام وليس جدول .. لأن ذلك سيخدم فى عمل التصفيات بشكل مفيد جداً؟؟ (يعنى هنا سنختار الحقول .. وبالاستعلام المصدر نختار السجلات .. يبقى كده تمام).

تحياتى

محمد ندا

... بقمة السعادة .. أعود بإذن الله لصحبتكم الرائعة قريباً ...

#16

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

رغم ان مشاركتي جاءت متأخرة ولكن إذا سمحتوا لي بان اوجه كل الاحترام والتقدير لاستاذنا / احمد مبارك الحيق لموضوعاته المفيدة والشيقة جدا ولمعالجته للأمور فهو فعلا خبير بأمور كثيرة ارجو الاصغاء له حتي تعم الاستفادة لنا جميعا فهو يذكرني دائما بأستاذنا وخبيرنا / يوسف احمد

بارك الله فيهما

الأن احس براحة بعد كتابة هذين السطرين

والان اضم صوتي لاستاذي / الاستاذ/ محمد ندا ذلك الرجل الذي يحمل بداخله كم من الاحترام يكفي العالم

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

بارك الله فيكم جميعا

#17

الإخوة الكرام...

الأستاذ محمد ندا: أنت دوماً على الرحب والسعة، وطلبك بإذن الله مجاب...

الأستاذ أبو شادي: أخشى أخي الحبيب أنك حملتني فوق ما أطيق، وعلى الرغم من أنني أوافقك في رأيك بالأستاذ محمد ندا، إلا أنني أخالفك في رفعي إلى مصاف الأستاذ يوسف بارك الله فيه، وجزاك الله خيراً...

بالنسبة للمطلوب، فيلزم أولاً تغيير طفيف في الكود عند تحميل النموذج إلى:

Private Sub Form_Load()
	Dim dbs As DAO.Database
	Dim qry As DAO.QueryDef 	
	DoCmd.Restore

	Set dbs = CurrentDb

	Set qry = dbs.QueryDefs("qryEmployees") 

	For Each fld In qry.Fields
		lstFields.AddItem fld.Name
	Next fld
End Sub

من أجل إحضار بنية الاستعلام وليس الجدول المطلوب، وكذلك طبعاً يلزم فقط تغيير مصدر التقرير في السطر التالي:

.RecordSource = "qryEmployees"

في كود زر الأمر.. مرفق مثال للتوضيح...

مع بالغ احترامي...

أخوكم أحمد.

DynRep.rar

تم تعديل هذه المشاركة بواسطة أحمد مبارك الحيقي في 16 أغسطس 2009 في 02:00

#18

إخوانى الكرام وأساتذتى أحمد مبارك الحيقى أو أبو شادى

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

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

ثم أما بعد،،

أستاذى أحمد .. يبدو أن الله يفتح على أناس ٍ مثلك وهم أهل لذلك .. ويأبى إلا أن يسوق لأمثالى المعلومة من خلالهم وذلك حتى يتلقون ما يستحقون من الدعاء .. والإزعاج فى الوقت ذاته.

فقد حاولت أغش من الكود قبل أن أزعجك .. وفعلاً قمت بالجزء الأول الذى تفضلت به فى ردك (ربما ليس بنفس الدقة) .. ولكن لما وقف أمامى تنفيذ التقرير (وهو جزء الكود الخاص بزر الأمر) فقد وجهت إليك السؤال.

جزاك الله خيراً وزادك من علمه .. وغفر لأبويك .. آمين.

مع خالص إحترامى الدائم

محمد ندا

تم تعديل هذه المشاركة بواسطة Mohamed Nada في 16 أغسطس 2009 في 22:56

... بقمة السعادة .. أعود بإذن الله لصحبتكم الرائعة قريباً ...

#19

السلام عليكم ..اعضاء ومشرفي المنتدى

ورحمة الله وبركاته

اخي العزيز ..احمد مبارك

هل يمكن ان نجعل ..الـ Caption يعرض واختار منه ليتم عرضها كاسماء للاعمدة في التقرير بدلا من اسماء الحقول

وشكرا

اختكم

#20
Roro2005 كتب:

السلام عليكم ..اعضاء ومشرفي المنتدى

ورحمة الله وبركاته

اخي العزيز ..احمد مبارك

هل يمكن ان نجعل ..الـ Caption يعرض واختار منه ليتم عرضها كاسماء للاعمدة في التقرير بدلا من اسماء الحقول

وشكرا

اختكم

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

نعم أيتها الأخت الكريمة، يمكن أن نستعيد تسميات الحقول من تعريف الجدول (الخاصية تسمية caption في صفحة تصميم الجدول). ثم نعرضها إلى جانب أسماء الحقول، ونستخدمها في التقرير كتسميات للأعمدة...

راجعي من فضلك حدث تحميل النموذج، ففيه كيفية استعادة أسماء الحقول وتسمياتها من جدول، وعرضها في قائمة سرد... كل ذلك في الملف المرفق.

والله أعلم...

DynRep.rar

#21

استاذنا احمد

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

سبحان الله وبحمده سبحان الله العظيم .. سبحان الله . الحمد لله . لا اله الا الله . الله اكبر .. استغفر الله . استغفر الله . استغفر الله

يارب احمى دينى وبلدى من كيد الاعداء والخائنين بحبك يا مصر بحبك يا مصر بحبك يا مصر

 


 


3.gif

#22

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

اخي العزيز..احمد مبارك

شكرا لك على الرد

لي طلب اخر

هل من الممكن ان نعمل Combo يقوم باحضار الجداول والاستعلامات التي كونتها

ثم اختار الجدول الذي اريده..يعرض لي الحقول الموجوده في الجدول او الاستعلام..ثم اختار الحقول التي اريدها لكي تعرض في التقرير

الحقيقة اني محتاجه الى مثل هذا النموذج ..حاولت ولكن لم افلح,,اتمنى ان اجد ما اريد عندكم..

ولك من يجزيل الشكر وكثير من الدعاء

اختكم

DynRep2.rar

#23

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

جربي هذا التعديل في الملف المرفق أختي الكريمة...

DynRep2.rar

تم تعديل هذه المشاركة بواسطة أحمد مبارك الحيقي في 20 يوليو 2010 في 15:26

#24

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

10000000000000000000 شكر لك اخي

لا اعرف كيف اشكر ... كما يقولون انقذتني

بارك الله فيك..واعطاك كل ما تحب وتتمنى

بقي لي طلب اخير..وارجو ان لااكون اثقل عليك

هل من الممكن عرض تسميه اخرى للجداول..وليس الاسم الموجود مثلا

جدول الـ employee ...معلومات الموظفين وهكذا..

وان تشرح لي كيف قمت بذلك انا حاولت ولم تضبط معي

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

اختك

#25

بعد اذن استاذنا احمد مبارك

فى هذه الحالة ستحتاجين الى اضافة جدول جديد تضعين به اسم الجدول و الاسم الذى تريدينه

و الحل الاخر هو استخدام الخاصية description ( يتم وضع الوصف لكل الجداول و الاستعلامات يدويا )

كما بالمرفق ( بعد التعديل على مثال الاخ احمد )

DynRep2.rar

مدونتى:-

احترف الأكسس مع أبو يوسف

متغيب حاليا لانشغالى الشديد

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