اذهب الي المحتوي
أوفيسنا

الردود الموصى بها

قام بنشر

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

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

[forms]![frm1]![txt1]

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

فضلاً شرح عمليات البحث والتصفية في مشروع أكسيس .

وفق الله .

  • Thanks 1
قام بنشر

حياك الله أخي مصلح

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

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

لكن يمكن عمله بطريقين :

1- إما بجعل مصدر السجل عبارة SQL المعتادة بوسيطة حقل البحث ومن ثم عرض السجل المطلوب في النموذج وهذه تعتبر تصفية أو بحثاً في جانب العميل وليس في جانب الملقم MSDE .. معنى هذا أن الجدول سينتقل بكامله إلى إلى الكمبيوتر العميل ومن ثم يتم البحث فيه أو تصفية السجلات المطلوبة .. وهي طريقة غير محببة نسبياً لأن الـmsde سيرفر يعمل شبكياً وكوننا نرسل الجدول بأكمله إلى الكمبيوتر العميل (الواجهة) فإنا بهذا العمل نفقد أهم خصائصه وهو تخفيف العبء على الشبكة والحد من السجلات التي لا داعي لإحضارها .

2- وإما عن طريق الإجراءات المخزنة Stored Procedure وحينها سيكون البحث أو التصفية هناك في الملقم ويأتينا ناتج التصفية أو البحث فقط لا الجدول بأكمله .. ولها طريقان :

الأول : بأن يكون مصدر النموذج إجراء مخزن بوسيط واحد أو أكثر حسب الشروط المطلوبة كالتالي :

- ضع قيمة (نعم) لخاصية النموذج (السماح بعوامل التصفية)

- ضع قيمة (لا) لخاصية النموذج (تصفية ملقم حسب النموذج)

ثم نقوم بإنشاء إجراء مخزن كالإجراء التالي:

Create Procedure strd1
@lngID int,
@lngID2 int
As
SELECT IDNo, memoo, dt, cur, YeNO, Pic, Linkkk, upsize_ts, mm, 
    no, firstName
FROM dbo.tbl2
WHERE IDNo=@lngID or IDNo=@lngID2

( لاحظ أن @lngID int و @lngID int هما وسيطان لحقل الشرط سيتم تمريرهما إلى هذا الإجراء )

- ضع في خاصية(معلمات الإدخال) قيم الوسائط الممرة إلى الإجراء المخزن السابق

وهنا معنا حالتان :

1- أن ندخل وسائط مبيتة أثناء التصميم فلا تتغير فندخل في مثالنا هذا رقم 4,5 .. وحينئذٍ كلما فتحنا النموذج سيحضر لنا هذان السجلان فقط .

2- وإما أن ندخل عبارة بين قوسين معقوفين كما كنا نفعل في استعلامات آكسس مثلاً [ من فضل اختر رقم السجل] ليعطينا اختيار أوسع فنكتب رقم السجل الذي نريد ..

الثاني : عن طريق الكود وهنا نستخدم ADO لتمرير البارامترات إلى الإجراء المخزن ثم نجير الناتج إلى متغير RecordSet والذي بدوره يكون مصدراً لسجلات النموذج .

**** لي عودة فيما بعد بخصوص الإجراءات المخزنة وكيفية التعامل معها وهي تكاد تكون الشريان الرئيسي لـ Sql Server أو MSDE

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

والله هو وحده لا غيره الموفق والمعين فنسأله المدد والعون والتوفيق

قام بنشر

شكراً أخ أحمد على الإيضاح

يبدوا أن فلترة البيانات في sql server متعب كنت أفتكر أن الأمر يسير بعض الشيء ولكنه عكس ذلك .

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

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

أنا أحد تلاميذك المنتضرين بفارغ الصبر دروسك في هذا الجانب وخصوصاً الإجراءات المخزنة Stored Procedure وبالأخص التصفية والبحث بواسطة ADO .

أتمنى منك أخ أحمد أن تركز أكثر في الجوانب التالية:

1. الإجراءات المخزنة

2. التصفية والبحث في الجانبين ( الإجراءات المخزنة _ واستخدام Ado ) لأن أكثر الأمور أهمية هي البحث والتصفية والفرز.

3. أمن تحديد الصلاحيات وهذا ما نبحث عنه بشدة أمن المعلومة.

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

تمنياتي لك بالتوفيق وعساك على القوة.

قام بنشر

لا شكر أخي مصلح فقد تعلمنا منك الكثير

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

أما أن تكون أحد تلاميذي فهذه لا أقبلها ولكن قل نستفيد من بعض ونتبادل الخبرات فيما بيننا

وبخصوص الجوانب التي ذكرتها فهي جوانب كبيرة وسنأتيها إن شاء الله إن كان في العمر متسع

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

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

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

عموماً الحديث يطول في هذا الجانب وعندما يحين وقته يكون لكل حادثة حديث

قام بنشر

أخي أحمد

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

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

عساك على القوة ونحن في الإنتظار لنستمتع بدروسك القادمة وقد شوقتني بشرحك بصراحة هذا الوع من قواعد البيانات " يسيل لها اللعاب "

تمنياتي لك بالصحة والتوفيق.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information