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

ارجو المساعدة في الاستعلام المرفق

مغلق
بدأه فرقدي في 4 ديسمبر 2005 · 8 رد · 639 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

ارفق لسيادتكم الاستعلام رقم ( 2 ) في القاعدة

وقد تعبت منه لأنه لا يرضى اظهار البيانات

علما بان هناك استعلام آخر هو استعلام (1 ) ونفس البيانات

ويوقم بعرضها جيدا

استعلام 1 مرتبط بجدول t2

استعلام 2 مرتبط بجدول t3

ارجو المساعدة في معرفة لماذا لا تتم عملية الاستعلام في الاستعلام 2

db4.rar

#2

اخي العزيز

تفضل ملفك بعد التعديل

كان الخطأ لديك انك وضعت جدولين مرتبطين بنفس البيانات الجدول الاول للدخول والاخر للمغادرة وكان يكفي ان تضع الحقل تاريخ المغادره في نفس الجدول T2 ومن ثم تتحكم في اظهار ما تريد سواء دخول او مغادره عن طريق الاستعلام

db4.rar

اختكم

زهره

#3

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

الاخت الكريمة زهرة المنتدى, مرحبا بعودتك بعد غياب الفترة القليلة الماضية وعودا محمودا وحمدا لله على السلامة.

بالنسبة لسؤال الاخ فرقدي

بغض النظر عن التعديل الذى قمتى به حضرتك على الجداول وذلك بحذف الجدول t4 واضافة حقل فى t2.

الا اننى ارى ان الاستعلام بشكله الاصلى والجداول بشكلها الاصلى لا يوجد بها اى اخطاء , ولكن الاخ فرقدى لم يستطع تفسير ظهور نتائج فى الاستعلام الاول وعدم ظهورها فى الاستعلام الثانى والتفسير ببساطة كالتالى:

بالنسبة للاستعلام الاول الاخ فرقدي قام بتغيير خصائص العلاقة بين الجدولين t1, t2 بحيث يظهر الاستعلام جميع الحقول فى الحقل t1 مع تلك الحقول المتشابهة فى t2 (لاحظ السهم من t1 الى t2) والتى تحقق الشرط الموضوع باسفل فى خانة معيار للحقل (رقم الموظف) من الجدول t2 وهو الشرط (Is Null). ونظرا لانه لا يوجد ولا سجل بالجدول t2 به حقل رقم الموظف فارغ (وذلك اساسا لانك جاعل خاصية مطلوب لهذا الحقل نعم) فان نتيجة الاستعلام ستكون كالتالى

كل سجلات t1 واسبعاد السجلات الذى يكون فيها حقل (رقم الوظف) فى الجدول t2 ليس فارغ (وذلك لتحقيق شرطك فى خانة الاستعلام) وفى مثالك المرفق سيستعرض كل السجلات الذى بها رقم الموظف من 1 الى 7 ماعدا رقمى 1 و 3 لانهم موجودين فى الجدول t2 وبالتالى لا يحققون شرط (Is Null)

وهذا بالنسبة للاستعلام1

اما بالنسبة للاستعلام 2

فالوضع مختلف قليلا لان حضرتك مختار نوع العلاقة بين t1, t4 كالتالى

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

واخيرا اخى الكريم النتيجة انه لا توجد اخطاء بالاستعلامات ولا حاجة ولكن نوع الربط بين الجدولين هو السبب, وكمان الشرط الموضوع فى خانة معيار (Is Null) بيعمل تقييد على السجلات. وهو بصراحة شرط غريب جدا لانه كده هتكون نتيجة الاستعلام دائما وابدا لا سجل يحقق ذلك.

واعتقد شخصيا انه هنا يكمن الخطأ وهو انه من المفروض وضع الشرط (Is Not Null) بدلا من الشرط (Is Null) وكمان تحاول تسأل نفسك اي الحقول بالضبط الذى اضع تحته هذا الشرط , هل هو حقل رقم الموظف ؟ عندها سيكون شرطك غير ذات معنى لان جميع السجلات ليست بها حقل رقم الموظف فارغ. ام توضع تحت حقل التاريخ كما اشارت اختنا واستاذتنا زهرة ؟ واعتقد انها الانسب , ولكن يبقى رايك انت.

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

أشهد أن لا إله إلا الله وأشهد أن محمدا رسول الله

bnr025.gif

مـــوقـــعـــى

#4

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

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

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

اختكم

زهره

#5

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

استاذة زهرة ، استاذ عماد بارك الله فيكما

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

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

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

فالاستعلام المقصود منه هو اظهار ارقام الموظفين الذين لم يحضروا للشركة هذا اليوم باستخدام is null

علما بانه نجح الاستعلام في الاستعلام رقم 1 بنفس خاصية is null

وسأجرب حلكم الثاني is not null

مع انه واضح سؤالي لحضرتكم ولك خالص الشكر والتقدير

#6

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

الاخت الكريمة واستاذتنا زهرة المنتدى

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

وبالنسبة للاخ الكريم فرقدي

فانه كل ما يلزمه من تعديل على الاستعلام 2 وذلك بعد توضيحه للمطلوب هو ان تقوم بتغيير العلاقة بين الجدولين t1, t4 الى علاقة (اظهار جميع السجلات للجدول t1 مع تلك المتشابهه فى الجدول t4) ثم وضع شرطك (Is null) كما هو. اى كل ماعليك تعديله هو تغيير نوع العلاقة بين t1, t4 فقط.

وقد قمت بعمل التعديل واليك مثالك بعد التعديل.

وبالتوفيق بعون الله,,,

db4.rar

أشهد أن لا إله إلا الله وأشهد أن محمدا رسول الله

bnr025.gif

مـــوقـــعـــى

#7

اخي فرقدي

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

اخي واستاذنا عماد

الف شكر على التوضيح والحل المثالي واشهد انك عبقري وفوق العادة وابصم لك بالعشرة ( لا تفتكرني اعمل فيش وتشبيه ) ;) ;)

اختكم

زهره

#8

والله انه من دواعي سروري ان يكون في موضوعي عملاقين كبيرين اعتز بهما

ادعو لكما ولوالداكما بالخير والبركة .

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

#9

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

الاخت الكريمة واستاذتى واستاذة كل من بالمنتدى الاستاذة العبقرية زهرة

بارك الله فيكى على كلامك ومجاملاتك الرقيقة , وانها وسام شرف على صدرى بكل المقاييس.

ولكن لو انه من المفروض ان يكون هناك شكر , فالشكر اولا واخيرا لحضرتك ولكل اساتذتنا بالمنتدى بدون ادنى تردد , فمنكم تعلمنا ومازلنا نتعلم العلم والتواضع والعرفان, وادعوا الله ان يديم عليكم علمه وينفعنا وينفع جميع احبابنا واخواننا بالمنتدى.

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

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

أشهد أن لا إله إلا الله وأشهد أن محمدا رسول الله

bnr025.gif

مـــوقـــعـــى

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

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

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

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

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

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