شاهدت في بعض البرامج عند فتح التقارير يظهر نموذج فيه مربع تحرير وسرد وعند فتحه ينزلق شريط فيه اسماء التقارير وعند إختيار التقرير المطلوب يفنح له التقرير وسؤالي هو كيفية عمل ذلك .
اخوكم نواف 10
شاهدت في بعض البرامج عند فتح التقارير يظهر نموذج فيه مربع تحرير وسرد وعند فتحه ينزلق شريط فيه اسماء التقارير وعند إختيار التقرير المطلوب يفنح له التقرير وسؤالي هو كيفية عمل ذلك .
اخوكم نواف 10
اخي الفاضل نواف
السلام عليكم ورحمة الله وبركاته
الموضوع سهل ان شاء الله تعالى كل ما عليك هو اتباع هذه الخطوات البسيطة
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. نحفظ ما قمنا به ونخرج ثم نفتح النموذج ونختار منه اسم اي تقرير ونضغط عليه فنلاحظ انه تم فتح التقرير المطلوب
شايف كيف سهل الموضوع
حاول تطبقها بنفسك
وهذا مثال
السلام عليكم
أود أن أضيف إلى ما قدمته الأستاذة الفاضلة زهرة وأتمنى أن أكون قد وفقت في المشاركة وأضفت جديدا
الأخ نواف
بعد ان تنتهي من إعداد تقاريك قم بالتالي:
أولا:
أنشئ جدولا لتضع به أسماء التقارير يتكون من حقلين على الأقل
الحقل الأول: الاسم الحقيقي للتقرير واجعله المفتاح الأساسي ، والحقل الثاني للاسم المرغوب عرضه للتقرير.
احفظ الجدول ثم أدخل فيه أسماء التقارير بدقة متناهية والأفضل نسخ اسم التقرير ولصقه في الحقل.
ثانيا في نموذج فتح التقارير:
أنشئ مربع تحرير وسرد، "بمساعدة المعالج".
اختر خيار "أريد أن يبحث مربع تحرير وسرد عن القيم في جدول أو استعلام" ثم التالي
حدد الجدول ليكون مصدرا لمربع التحرير والسرد. ثم التالي
الحقول المتاحة أختر الحقلين ، ثم التالي.
الفرز غير مهم إلا إذا أردت ترتيب التقارير هجائيا، ثم التالي
حدد إخفاء عمود المفتاح.
تحديد عرض الأعمدة ليتلاءم مع طول اسم التقرير وكذلك عرض عنصر التحكم مربع التحرير والسرد، ثم التالي
التسمية والانهاء.
وأخيرا :
كتابة الكود الخاص بفتح التقرير في حدث بعد التحديث في عنصر مربع التحرير والسرد كما هو موضح داخل النموذج. ولكن بدلا من كتابة اسم التقرير نضع اسم نشير إلى اسم مربع التحرير والسرد .
كما أنه بالإمكان وضع زر معاينة تقرير "بمساعدة المعالج" لأي نموذج نختاره ثم نغير اسم النموذج في الكود ونشير إلى مربع التحرير والسرد داخل النموذج.
وبهذا لم نكتب أي كود بل قمنا بتعديل بسيط جدا.
عبدالله عطيف
اخي الفاضل عبدالله عطيف
بارك الله فيك على هذه الاضافه
ولكن هناك سؤال
اقتباسأنشئ جدولا لتضع به أسماء التقارير يتكون من حقلين على الأقلالحقل الأول: الاسم الحقيقي للتقرير واجعله المفتاح الأساسي ، والحقل الثاني للاسم المرغوب عرضه للتقرير.
احفظ الجدول ثم أدخل فيه أسماء التقارير بدقة متناهية والأفضل نسخ اسم التقرير ولصقه في الحقل.
ماذا لو قام شخص بتغيير اسم التقرير ( ليس من الجدول بل اسم كائن التقرير الحقيقي ) لعدة اسباب منها مثلا ان الاكسيس لديه انجليزي ولا يقبل الحروف العربية وقام بتغيير اسم التقرير فهل سيفتح التقرير بهذه الطريقه .
طبعا لن يفتح التقرير بهذه الطريقة من مربع التحرير والسرد والسبب انك قمت بتقييد اسم التقرير في الجدول بينما الطريقه المتبعه والاساسية في برنامج الاكسيس هي عن طريق جدول كائنات القاعدة MSysObjects المخفي فهو لن تتغير ولن يحذف ابدا حتى لو غيرت اسم التقرير الى اي اسم تختاره فسيتعرف عليها جدول النظام ويقوم بالتغيير
جرب طريقك واخبرنا بالنتائج فقد اكون مخطأه
إخوانى بالمنتدى المبارك
الطريقة الأولى رائعة وبسيطة ولكنها تعتمد على أسماء التقارير الموجودة بالقاعدة وغالبا ماتكون أسماء إنجليزية وهى أسماء تدل على التقارير والطريقة الثانية رائعة أيضا وبها مرونة تحديد أسماء التقارير بالطريقة وباللغة التى نريد
ولولا إختلاف الأذواق لبارت السلع وأدعوا الله سبحانه وتعالى أن يتقبل منكم مجهودكم وأن يجعلها فى موازين حسناتكم اللهم آمين
بسم الله ما شاء الله
ا/ زهرة
ا/ alotaif
بارك الله فيكم وزادكم علما
انتفعت كثيرا بعلمكم
ألأخت زهرة بارك الله فيك وكثر من امثالك وجعل عملك هذا في ميزان حسناتك دائماً سباقة إلى الخير لاحرمك الله الأجر .
اخي الكريم العطيف جزاك الله خير على اهتمامك وعلى طريقتك المتميزة لاحرمك الله الأجر .
الأخ نواف شكرا وجزاك الله خيرا
الأخت الفاضلة زهرة
كلامك صحيح...
وأشكر لك اهتمامك والتنبيه والملاحظات التي قد تخفى علينا. وأزيد على كلامك أن العبث ليس له حدود، بقصد وبغير قصد. فمن يغير اسم التقرير فإنه أيضا سيحذفه أو يعبث ببيانات القاعدة أو يحذفها من أساسها. وحتى عند استخدام الأزرار المبرمجة لفتح الكائنات تبقى نفس المشكلة.
اقتباسالطريقه المتبعه والاساسية في برنامج الاكسيس هي عن طريق جدول كائنات القاعدة MSysObjects المخفي فهو لن تتغير ولن يحذف ابدا حتى لو غيرت اسم التقرير الى اي اسم تختاره فسيتعرف عليها جدول النظام ويقوم بالتغيير
أحترم الطريقة الأساسية ولكن كنت أرغب في إظهار التقرير أمام المستخدم بعبارة واضحة؛ لأننا غالبا نكتب أسماء التقارير والنماذج بأسماء إنجليزية مختصرة ولا تظهر المقصود من الكائن.
كما أن الطريقة التي اتبعتها تجعلني أظهر فقط التقارير التي أرغب في إظهارها، فمعها يمكن تقسيم التقارير إلى فئات، فقد يكون في القاعدة عشرين تقريرا أو أكثر ؛ كما لوكانت لدينا مدرسة فسنحتاج إلى تقسيم التقارير إلى فئات كتقارير الطلاب الشخصية والتقارير الدراسية وتقارير الموظفين والتقارير الإحصائية وغيرها وعندها سنلجأ إلى هذه الطريقة. ولكل شيء ثمن. وهذا الإيضاح ليس خافيا عليكِ ولكن لمزيد من الفائدة للجميع.
في المرفق التالي غيرت مصدر بيانات مربع التحرير والسرد بكتابة القيم فيه مباشرة أثناء تصميمه وتم الاستغناء عن الجدول. وتم تحويل القاعدة إلى MDE
وحتى لايظهر عمود الاسم الحقيقي للتقرير في مربع التحرير والسرد فقد تم تحديد عرض العمود الأول بصفر.
بقيت نقطة وهي:
اقتباسماذا لو قام شخص بتغيير اسم التقرير ( ليس من الجدول بل اسم كائن التقرير الحقيقي ) لعدة اسباب منها مثلا ان الاكسيس لديه انجليزي ولا يقبل الحروف العربية وقام بتغيير اسم التقرير فهل سيفتح التقرير بهذه الطريقه .
لم يتضح لي المقصود، ولكن أسماء التقارير لدي مكتوبة بالحروف الإنجليزية .
أخيرا.. ماقدمته من تعديلات وتبريرات ماهي إلا بمثابة المسكنات نتاولها ليخف الألم
بارك الله فيك ... وألف تحية للجميع
تم تعديل هذه المشاركة بواسطة alotaif في 2 ديسمبر 2006 في 00:14
عبدالله عطيف
هذا الموضوع مغلق.
المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية
جارٍ التحقق من المتواجدين…