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

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

مغلق
بدأه نواف10 في 21 نوفمبر 2006 · 7 رد · 3,707 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

اخوكم نواف 10

#2

اخي الفاضل نواف

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

الموضوع سهل ان شاء الله تعالى كل ما عليك هو اتباع هذه الخطوات البسيطة

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

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

2. لنفرض ان مربع التحرير والسرد اعطيناه الاسم ComboBox

الان نختار خصائص مربع التحرير والسرد ونختار التبويب " الكل " ونضع في خانة مصدر الصف هذه العباره ( ننسخها كما هي ونلصقها )

SELECT MSysObjects.Name, MSysObjects.Type FROM MSysObjects WHERE (((MSysObjects.Type)=-32764));

4. الان نختار من خصائص مربع التحرير والسرد التبويب " حدث " ونضع اجراء حدث ثم نضغط على المربع الصغير ذو الثلاث نقاط ... وسيفتح لنا محرر الفيجول بيسك ونضع هذا الكود

Private Sub ComboBox_AfterUpdate()
Dim stDocName As String
stDocName = Me!ComboBox
DoCmd.OpenReport stDocName, acPreview
End Sub

5. نحفظ ما قمنا به ونخرج ثم نفتح النموذج ونختار منه اسم اي تقرير ونضغط عليه فنلاحظ انه تم فتح التقرير المطلوب

شايف كيف سهل الموضوع

حاول تطبقها بنفسك

وهذا مثال

Report.rar

1
#3

السلام عليكم

أود أن أضيف إلى ما قدمته الأستاذة الفاضلة زهرة وأتمنى أن أكون قد وفقت في المشاركة وأضفت جديدا

الأخ نواف

بعد ان تنتهي من إعداد تقاريك قم بالتالي:

أولا:

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

الحقل الأول: الاسم الحقيقي للتقرير واجعله المفتاح الأساسي ، والحقل الثاني للاسم المرغوب عرضه للتقرير.

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

ثانيا في نموذج فتح التقارير:

أنشئ مربع تحرير وسرد، "بمساعدة المعالج".

اختر خيار "أريد أن يبحث مربع تحرير وسرد عن القيم في جدول أو استعلام" ثم التالي

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

الحقول المتاحة أختر الحقلين ، ثم التالي.

الفرز غير مهم إلا إذا أردت ترتيب التقارير هجائيا، ثم التالي

حدد إخفاء عمود المفتاح.

تحديد عرض الأعمدة ليتلاءم مع طول اسم التقرير وكذلك عرض عنصر التحكم مربع التحرير والسرد، ثم التالي

التسمية والانهاء.

وأخيرا :

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

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

وبهذا لم نكتب أي كود بل قمنا بتعديل بسيط جدا.

OpenReports.rar

عبدالله عطيف

#4

اخي الفاضل عبدالله عطيف

بارك الله فيك على هذه الاضافه

ولكن هناك سؤال

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

الحقل الأول: الاسم الحقيقي للتقرير واجعله المفتاح الأساسي ، والحقل الثاني للاسم المرغوب عرضه للتقرير.

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

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

طبعا لن يفتح التقرير بهذه الطريقة من مربع التحرير والسرد والسبب انك قمت بتقييد اسم التقرير في الجدول بينما الطريقه المتبعه والاساسية في برنامج الاكسيس هي عن طريق جدول كائنات القاعدة MSysObjects المخفي فهو لن تتغير ولن يحذف ابدا حتى لو غيرت اسم التقرير الى اي اسم تختاره فسيتعرف عليها جدول النظام ويقوم بالتغيير

جرب طريقك واخبرنا بالنتائج فقد اكون مخطأه

1
#5

إخوانى بالمنتدى المبارك

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

ولولا إختلاف الأذواق لبارت السلع وأدعوا الله سبحانه وتعالى أن يتقبل منكم مجهودكم وأن يجعلها فى موازين حسناتكم اللهم آمين

#7

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

اخي الكريم العطيف جزاك الله خير على اهتمامك وعلى طريقتك المتميزة لاحرمك الله الأجر .

#8

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

الأخت الفاضلة زهرة

كلامك صحيح...

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

اقتباس
الطريقه المتبعه والاساسية في برنامج الاكسيس هي عن طريق جدول كائنات القاعدة MSysObjects المخفي فهو لن تتغير ولن يحذف ابدا حتى لو غيرت اسم التقرير الى اي اسم تختاره فسيتعرف عليها جدول النظام ويقوم بالتغيير

أحترم الطريقة الأساسية ولكن كنت أرغب في إظهار التقرير أمام المستخدم بعبارة واضحة؛ لأننا غالبا نكتب أسماء التقارير والنماذج بأسماء إنجليزية مختصرة ولا تظهر المقصود من الكائن.

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

في المرفق التالي غيرت مصدر بيانات مربع التحرير والسرد بكتابة القيم فيه مباشرة أثناء تصميمه وتم الاستغناء عن الجدول. وتم تحويل القاعدة إلى MDE

وحتى لايظهر عمود الاسم الحقيقي للتقرير في مربع التحرير والسرد فقد تم تحديد عرض العمود الأول بصفر.

بقيت نقطة وهي:

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

لم يتضح لي المقصود، ولكن أسماء التقارير لدي مكتوبة بالحروف الإنجليزية .

أخيرا.. ماقدمته من تعديلات وتبريرات ماهي إلا بمثابة المسكنات نتاولها ليخف الألم

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

OpenReports2.rar

تم تعديل هذه المشاركة بواسطة alotaif في 2 ديسمبر 2006 في 00:14

عبدالله عطيف

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

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

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

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

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

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