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

ضيف جديد يستفسر

مغلق
بدأه زائر في 4 سبتمبر 2001 · 9 رد · 963 مشاهدة · في مراجعة المواضيع
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

بسم الله الرحمن الرحيم

أخواني الأعزاء أصحاب المنتدى والأعضاء

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

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

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

أرجو أن أجد منكم الصدر الرحب والإجابة على طلبي .

ولكم جزيل الشكر سلفاً وأدعوالله أن يجعلهافي ميزان حسناتكم

#2

الأخ الرحالة مرحب بك فى أحلى منتدى للأكسيس

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

قم بالخطوات التالية :

1- إنشيء استعلام مبني على جدول الصادر مثلا .

2- فى بند المعايير تحت حقل تاريخ الصادر اكتب الأمر التالي

BETWEEN [أدخل التاريخ الأول]AND[أدخل التاريخ الثانى]

مع ملاحظة أن between تكون فى اليسار وجرب الاستعلام بإدخال تواريخ لفترة ما سواء كانت يوم أو شهر أو حسب ما تريد

3- أما إذا كنت تريد أن يكون إدخال التاريخ عن طريق نموذج فالأمر يتغير إلى :

between[اسم النوذج]![اسم الحقل1 بالنموذج]and [اسم النموذج]![اسم الحقل الثاني بالنموذج]

وجرب وهتلاقي المزيد من الاخوان بالمنتدى يزيدوك علماً إن شاء الله

أشرف خليل

#3

أهلا وسهلا بالرحالة

وإن شاء الله تحط رحالك عندنا .

بخصوص طلبك ليتك توضح المطلوب أكثر هل ترغب في عرض بيانات تاريخ محدد أم إنشاء جدول يحتوي على بيانات تاريخ محدد .

ولك تحياتي

#4

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

أخي أبو حمود استفساري هو أني عملت نموذج وأود أن أضع استعلام عن تاريخ مثلاً من 1/1/1422هـ إلى 15/1/1422هـ على النموذج وعلى نفس النموذج أضع ازرار بحث ويقوم بالبحث نيابة عني ويظهر المطلوب على التقارير المعد من أجله .

وجزاك الله عنا خير الجزاء

#5

السلام عليكم جميعا

لو سمحتم لي يا أخوان فأنا أريد أيضا أن استفسر عن الطريقة المثلى لتحديد بيانات في تقرير مبني على استعلام بناءا على رغبة المستخدم و لنقل أنها مبنية على اختيارالتاريخ، على سبيل المثال:

لنقل أن:

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

ماذا لو قلنا أن للمستخدم:

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

... رغبة في عرض البيانات من "تاريخ ما إلى تاريخ اليوم فقط" .

... رغبة في عرض البيانات "من تاريخ ما إلى تاريخ ما" حسب طريقة الدفع أو المنطقة..

واضح أني طولت و لذلك اسمحوا لي و أرجو أن نستفيد جميعا من الحل، و لكم كل الشكر و التقدير.

أخوكم سعيد

#6

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

هذا مثال يعمل على الاكسيس 2000

http://mypage.ayna.com/mesfer823/date.zip

وتقبل تيحاتي / مسافر

#7

أخي الرحالة

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

Between Forms![اسم النموذج الذي يحتوي مربعي النص السابقين]![تاريخ البداية] And Forms![اسم النموذج السابق]![تاريخ النهاية]

أو

>= Forms![اسم النموذج]![تاريخ البداية] <= Forms![اسم النموذج]![تاريخ النهاية]

والأول أفضل .

وتحت زر الأمر الموجود على النموذج ضع أمر فتح التقرير المبني على الاستعلام السابق وستظهر البيانات المطلوبة إذا وجدت .

blulushi

اليك طريقة :

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

Like [أدخل البيانات] & "*"

وإذا كانت بيانات المعيار موجودة على حقل فاكتب :

Like Forms![اسم النموذج]![اسم الحقل] & "*"

طريقة أخرى :

IIf(IsNull([أدخل بيانات]);[اسم الحقل];[أدخل بيانات])

وعلى النموذج :

IIf(IsNull(Forms![اسم النموذج]![اسم الحقل]);[اسم الحقل];Forms![اسم النموذج]![اسم الحقل])

هناك من الطرق ولكنها صعبة إلى حد ما أن تعلن عن متغير أو متغيرين عامين في الوحدة النمطية العامة ثم تسند لهما قيم قبل فتح التقرير يعني عند نقر زر الأمر وتتأكد من القيم فإذا احتويا على قيم فتمررهما الى نهاية عبارة SQL وإذا لم يحتويا على قيم وتريد أن تظهر كافة القيم في الاستعلام فتمرر العبارة التالية:

متغير = "like '*'"

ولتمرير قيم المتغير :

متغير = "='الأول'"

عبارة عن SQL توضع كحدث عند فتح التقرير .

والأول أسهل الجميع .

هذا ما أعرفه ولك تحياتي

#8

الأخوة الكرام

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

أخي العزيز أبو حمود

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

أخوكم سعيد

#9

الأخ بلوشي

سأشرح لك الموضوع بواسطة مثال :

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

أنشئ جدول باسم جدول المستويات يحوي ثلاثة حقول : تسلسل-الاسم-المستوى وضع في حقل الاسم أي أسماء وفي حقل المستوى ضع عشوائياً الأول والثاني والثالث وكرر ماتشاء منها .

أنشئ تقرير مبني على استعلام بكل الحقول الموجودة في الجدول وضع في معيار تحت حقل المستوى "الأول" ثم اعرض عبارة SQL لهذا الاستعلام ستجدها بالشكل التالي :

SELECT [جدول المستويات].تسلسل, [جدول المستويات].الاسم, [جدول المستويات].المستوى

FROM [جدول المستويات]

WHERE ((([جدول المستويات].المستوى)="الأول"));

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

احفظ الاستعلام وأنشئ عليه تقرير واحفظ التقرير ، افتح التقرير في عرض التصميم وأظهر خصائص التقرير وانتقل لصفحة التبويب بيانات وانظر مصدر السجل للتقرير ستجد العبارة نفسها ، ضع المؤشر في هذه الخاصية واضغط Shift+F2 سيظهر مربع حوار كبير بداخله عبارة SQL لهذا التقرير ، حدد جميع العبارة ثم قصها ، ثم اضغط موافق ، انتقل لصفحة التبويب حدث وانقر على حدث عند الفتح ستفتح لك الوحدة النمطية الخاصة بالتقرير اكتب Me.RecordSource ثم علامة = ثم ضع الفاصلة المزدوجة " ثم ألصق عبارة SQL الموجودة في الحافظة وإذا جاءت على أكثر من سطر فاجعلها على سطر واحد ثم بعده فاصلة مزدوجة أخرى " ، احفظ التقرير ثم افتحه في العرض العادي ستجد أن التقرير أصبح مصدر سجلاته من عبارة SQL التي كتبتها في حدث عند الفتح .

انتقل لأحد الوحدات النمطية العامة لديك أو أنشئ وحدة جديدة وأعلن عن متغير من النوع String .

لتعديل عبارة SQL السابق ليكون الشرط هو القيمه التي يأخذها المتغير كالتالي :

Me.RecordSource = "SELECT [جدول المستويات].تسلسل, [جدول المستويات].الاسم, [جدول المستويات].المستوى FROM [جدول المستويات] WHERE ((([جدول المستويات].المستوى) " & متغير & "));"

تلاحظ أن الفرق بين العبارتين هو في حذف ="الأول" واستبدالها بـ " & متغير & "

والآن في النموذج عند إجراء فتح التقرير ضع القيم التي ترغب في ظهورها في التقرير :

متغير = "like '*'"

العبارة السابقة لجعل التقرير يظهر كافة السجلات .

متغير = "='الأول'"

العبارة السابقة لغرض عرض السجلات التي تحتوي على المستوى الأول فقط .

وبإمكانك وضع Inputbox لسؤال المستخدم عن قيمه ووضع عبارة تحقق من القيمه العائده منها فإذا كانت ناقص واحد فالمستخدم لم يدخل بيانات أو وضع مربع نص أو قائمة منسدلة ليأخذ المتغير القيمه منه .

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

ولك تحياتي

#10

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

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

الأخ الرحالة

السلام عليكم

النموذج A12 (اسم غريب أليس كذلك) .

1-افتح نموذج جديد في عرض التصميم

2- اعرض شريط الأدوات مربع الأدوات إذا لم يكن ظاهراً بالنقر بزر الفأرة الأيمن على أشرطة الأدوات بزر الفأرة الأيسر واختياره من القائمة .

3- انقر على زر القائمة المنسدلة ويسمى في الأكسس مربع تحرير وسرد تأكد من كون المعالج فعال -يعني مضغوط- وهو الزر الثاني من اليسار على شريط الأدوات .

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

5- اختر الخيار الأول في المعالج وهو أريد أن يبحث مربع تحرير وسرد عن القيم في جدول أو استعلام ثم انقر التالي ز

6- ستظهر شاشة لتحديد اسم الجدول أو تحديد اسم الاستعلام اختر المطلوب ثم انقر على التالي .

7- الشاشة التالية هي لغرض اختيار الحقول ، تجد جميع حقول الجدول أو الاستعلام الذي اخترته على اليمين ، اختر الحقل المطلوب ظهور بياناته بالنقر عليه في اليمن ثم ضغط أول زر يظهر عليه علامه اكبر من > أو انقر نقراً مزدوجاً على الحقل في اليمين فينتقل مباشرة الى اليسار ثم انقر التالي .

8- ستظهر شاشة لتحديد عرض الحقول انقر التالي .

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

لاحظ أنه يمكنك العودة لتعديل أية اختيارات غير صحيحة .

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

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

احفظ النموذج من البداية حتى لايضع العمل عند حدوث انقطاع للكهرباء أو لمشكلة أخرى .

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

بالنسبة للزر الثاني في النموذج الذي أرسلته لي فهو لفتح نموذج مخفي اسمه Date مبني على استعلام اسمه asaas find and all هذا الاستعلام تجد في معيار تحت حقل تاريخ بيع الصنف العبارة التالي :

Between [forms]![a12]![aa] And [forms]![a12]![cc]

هذه العبارة تخبر الاستعلام أن المعيار من إلى موجود على النموذج المسمى a12 بين حقل aa وcc (اسماء لا معنى لها) غير اسم النموذج المسى هنا a12 باسم النموذج الذي صممته قبل قليل وaa باسم القائمة المنسدلة الأولى التي صممتها وcc باسم القائمة المنسدلة الثانية .

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

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

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

ولإخفاء أزرار التنقل في صفحة التبويب تنسيق وفي خاصية أزرار التنقل اختر لا .

والله يحفظك .

ولك وللجميع دوام الصحة والعافية

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

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