nssj قام بنشر منذ 21 ساعات قام بنشر منذ 21 ساعات الإخوة الكرام .. السلام عليكم ورحمة الله وبركاته في الملف المرفق استعلام (QF_Subject) فيه حقول بياناتها أرقام، أريد استبدالها بالأسماء التي ترمز إليها * أولا: المطلوب أن تظهر الأسماء في الحقول ( (LVL1name – LVL2name - LVL3name – LVL4name ومصدرها واحد وهو حقل (SName) ولكن باعتبار أرقام الحقول: (LVL1 - LVL2 - LVL3 - LVL4 ) فليظهر الاسم المطلوب لـ (LVL1) يجب اعتبار باقي المستويات = 0 وليظهر اسم (LVL2) يجب اعتبار (LVL3) (LVL4) = 0 وفي الجدول (Q_Subject) النتائج المراد الوصول إليها * ثانيا: أن تظهر الأسماء في (TYPE2name - TYPE1name) ومصدر هذه الأسماء من جدول آخر وهو (DATA_list) وبعد عدة محاولات تمكنت من الوصول للمطلوب لكن بتكرار الجدول في الاستعلام ، فهل هذه هي الطريقة الصحيحة ؟ QF_Subject.accdb
Foksh قام بنشر منذ 20 ساعات قام بنشر منذ 20 ساعات 52 دقائق مضت, nssj said: السلام عليكم ورحمة الله وبركاته وعليكم السلام ورحمة الله وبركاته .. حاولت فهم الموضوع من معطياتك أخي الكريم ولكني لم أوفق .. ان أمكن توضيح أكثر فنكون من الشاكرين 1
nssj قام بنشر منذ 19 ساعات الكاتب قام بنشر منذ 19 ساعات في الصورة المرفقة، الجدول الأول للاستعلام، ويظهر كيف أن أسماء المستويات الأربعة (LVL1 - LVL2 - LVL3 - LVL4 ) هي واحدة وأخذها الاستعلام تلقائيا من حقل (SName) والمطلوب أن يحضر اسم كل مستوى في حقول خاصة أعدت لهذا الغرض ( (LVL1name – LVL2name - LVL3name – LVL4name والنتيجة المطلوبة في الجدول الذي تحته. وإحضارها يكون من جدول (TAB_Subject) باعتبار أرقام (LVL1 - LVL2 - LVL3 - LVL4 ) التي في الاستعلام وكمثال في الحديث الأخير: اسم الموضوع الرئيسي (LVL1) هو (المناقب)، والمطلوب إحضاره من جدول (TAB_Subject) بدلالة رقم (1LVL) الذي في الاستعلام وهو (38)، بشرط أن تكون أرقام بقية المستويات هي (صفر)، وهذه صورة جدول (TAB_Subject) وفق هذه المعطيات والمستوى الثاني (LVL2) رقمه (558) مع كون أرقام المستويين التي بعده (صفر)، واسمه: فضائل بقية الصحابة على الترتيب الهجائي والثالث (LVL3) رقمه (1032) والمستوى الذي بعده (صفر) واسمه: أ فهل يمكن إدراج هذه الشروط والاعتبارات في الاستعلام لإظهار الاسم بدل الرقم.
Foksh قام بنشر منذ 17 ساعات قام بنشر منذ 17 ساعات 😅 الموضوع أكثر من متشعب .. ولكن كمحاولة لست متأكداً من نتائجها ، قمت بالتجربة على قيم محددة في الاستعلام التالي ، جربه فضلاً أخي الكريم @nssj . SELECT TAB_Subject.ID, TAB_Subject.LVL1, (SELECT TOP 1 SName FROM TAB_Subject AS L1 WHERE L1.LVL1 = TAB_Subject.LVL1 AND L1.LVL2 = 0 AND L1.LVL3 = 0 AND L1.LVL4 = 0) AS LVL1name, TAB_Subject.LVL2, (SELECT TOP 1 SName FROM TAB_Subject AS L2 WHERE L2.LVL1 = TAB_Subject.LVL1 AND L2.LVL2 = TAB_Subject.LVL2 AND L2.LVL3 = 0 AND L2.LVL4 = 0) AS LVL2name, TAB_Subject.LVL3, (SELECT TOP 1 SName FROM TAB_Subject AS L3 WHERE L3.LVL1 = TAB_Subject.LVL1 AND L3.LVL2 = TAB_Subject.LVL2 AND L3.LVL3 = TAB_Subject.LVL3 AND L3.LVL4 = 0) AS LVL3name, TAB_Subject.LVL4, (SELECT TOP 1 SName FROM TAB_Subject AS L4 WHERE L4.LVL1 = TAB_Subject.LVL1 AND L4.LVL2 = TAB_Subject.LVL2 AND L4.LVL3 = TAB_Subject.LVL3 AND L4.LVL4 = TAB_Subject.LVL4) AS LVL4name, TAB.TYPE1, (SELECT LISTname FROM DATA_list WHERE NOM2 = TAB.TYPE1 AND NOM1 = 1) AS TYPE1name, TAB.TYPE2, (SELECT LISTname FROM DATA_list WHERE NOM2 = TAB.TYPE2 AND NOM1 = 2) AS TYPE2name FROM TAB, TAB_Subject_X, TAB_Subject WHERE TAB.MNO = TAB_Subject_X.MNO AND TAB_Subject_X.SUB_ID = TAB_Subject.ID AND TAB_Subject.ID IN (76, 159, 1873) ORDER BY TAB_Subject.ID; عله يكون بداية طيبة ..
nssj قام بنشر منذ 7 ساعات الكاتب قام بنشر منذ 7 ساعات 10 ساعات مضت, Foksh said: 😅 الموضوع أكثر من متشعب .. كالعادة .. أمور كنت أظنها يسيرة فإذا بها متشعبة ومعقدة حتى في نظر أهل الخبرة 😅 مقصدي الأهم من هذا الطلب معرفة ما إذا كان هذا الإجراء متاحا في الاستعلام، ثم إذا كان ممكنا هل هو (ظاهرة صحية) لا تسبب البطء في التشغيل لأن عندي استعلام يضم عدة جداول مترابطة، أريد أن أجعله مصدرا موحدا لعدة نماذج فإذا كان بالإمكان أن توجد هذه المعلومات في الاستعلام نفسه بحيث تعرض في النماذج من خلال (مربع نص) فهو أفضل، وإلا فأنا اعتدت على إظهار هذه المعلومات في النماذج باستخدام (قائمة تحرير وسرد) واستعلامات داخلية خاصة لكل نموذج. وقد حاولت مجددا في الاستعلام باستخدام جداول مكررة داخل الاستعلام، وتمكنت من الحصول على المطلوب في (LVL1) (LVL2) فقط ، دون المستوى الذي بعده (LVL3). ولا أدري أصلا إن كانت هذه الطريقة صحيحة أم أنها قد تتسبب بمشاكل أو بطء عند استخدام الاستعلام في النماذج الكبيرة والنتائج الي أظهرها الاستعلام الذي تفضلت به أخي الكريم أفضل، فقد أظهر الأسماء في جميع المستويات. لكن فيه نفس المشكلة التي ظهرت في محاولتي الأخيرة، وهي ظهور الاسم في المستويات الفارغة، أعني التي الرقم فيها (صفر) وربما السبب أن المستوى الأول والثاني (LVL1) (LVL2) موجودان في كل حديث، أما ما بعده فليس بالضرورة. فحيثما كان رقم (LVL3) أو (LVL4) هو (صفر) فالاسم = "" QF_Subject2.accdb
Foksh قام بنشر منذ 5 ساعات قام بنشر منذ 5 ساعات امممم تقريباً بدأ افهم 😅😅 جرب هذا الاستعلام !!! SELECT TAB_Subject.ID, TAB_Subject.LVL1, IIf(TAB_Subject.LVL1 = 0, Null, (SELECT TOP 1 SName FROM TAB_Subject AS L1 WHERE L1.LVL1 = TAB_Subject.LVL1 AND L1.LVL2 = 0 AND L1.LVL3 = 0 AND L1.LVL4 = 0)) AS LVL1name, TAB_Subject.LVL2, IIf(TAB_Subject.LVL2 = 0, Null, (SELECT TOP 1 SName FROM TAB_Subject AS L2 WHERE L2.LVL1 = TAB_Subject.LVL1 AND L2.LVL2 = TAB_Subject.LVL2 AND L2.LVL3 = 0 AND L2.LVL4 = 0)) AS LVL2name, TAB_Subject.LVL3, IIf(TAB_Subject.LVL3 = 0, Null, (SELECT TOP 1 SName FROM TAB_Subject AS L3 WHERE L3.LVL1 = TAB_Subject.LVL1 AND L3.LVL2 = TAB_Subject.LVL2 AND L3.LVL3 = TAB_Subject.LVL3 AND L3.LVL4 = 0)) AS LVL3name, TAB_Subject.LVL4, IIf(TAB_Subject.LVL4 = 0, Null, (SELECT TOP 1 SName FROM TAB_Subject AS L4 WHERE L4.LVL1 = TAB_Subject.LVL1 AND L4.LVL2 = TAB_Subject.LVL2 AND L4.LVL3 = TAB_Subject.LVL3 AND L4.LVL4 = TAB_Subject.LVL4)) AS LVL4name, TAB.TYPE1, (SELECT LISTname FROM DATA_list WHERE NOM2 = TAB.TYPE1 AND NOM1 = 1) AS TYPE1name, TAB.TYPE2, (SELECT LISTname FROM DATA_list WHERE NOM2 = TAB.TYPE2 AND NOM1 = 2) AS TYPE2name FROM TAB, TAB_Subject_X, TAB_Subject WHERE TAB.MNO = TAB_Subject_X.MNO AND TAB_Subject_X.SUB_ID = TAB_Subject.ID AND TAB_Subject.ID IN (76, 159, 1873) ORDER BY TAB_Subject.ID; استخدمت الدالة IIf في كل حقل من حقول أسماء المستويات ، ونجعل الاسم يظهر فقط إذا كانت القيمة المقابلة > 0 ، وإلا = Null هل التالي صحيح في الصورة ؟ 1
nssj قام بنشر منذ 5 ساعات الكاتب قام بنشر منذ 5 ساعات 20 دقائق مضت, Foksh said: امممم تقريباً بدأ افهم 😅😅 التقصير مني أخي الكريم لأني لم أوضح الفكرة بالشكل المناسب 😐 النتيجة صحيحة 100% 12 ساعات مضت, Foksh said: عله يكون بداية طيبة نعم .. هذه البداية فقط 😁 المطلوب إدراج هذه الشروط في الاستعلام الأصلي حتى لا أكون بحاجة لغيره .. أرجو أن يكون هذا ممكنا
Foksh قام بنشر منذ 4 ساعات قام بنشر منذ 4 ساعات 38 دقائق مضت, nssj said: المطلوب إدراج هذه الشروط في الاستعلام الأصلي حتى لا أكون بحاجة لغيره .. أرجو أن يكون هذا ممكنا الفرق في عدم وجود بعض الحقول ، صحيح ؟؟ ام ماذا ؟؟؟
nssj قام بنشر منذ 4 ساعات الكاتب قام بنشر منذ 4 ساعات 35 دقائق مضت, Foksh said: الفرق في عدم وجود بعض الحقول ، صحيح ؟؟ الفرق في وجود جدول آخر والعلاقات بين الجداول فالنسخة المرفقة من الاستعلام هي نسخة مصغرة للتجربة، حتى أنه فيه جدول (DATA_list) وليس في الاستعلام الأصلي الذي أستخدمه ، لأني لا أزال في طور التجارب، وقد أضيف جدولا آخر وأنا كنت أتوقع أن تكون معالجة الأمر بوضع دالة داخل الاستعلام، على شاكلة: أو بحيث أستطيع نقلها ووضعها في المكان المناسب على حسب التحديثات التي تطرأ على تكوين الاستعلام.
Foksh قام بنشر منذ 3 ساعات قام بنشر منذ 3 ساعات 😕 لماذا تختار الشرح المبهم والذي لا يؤدي الى توضيح الفكرة والهدف .. الحقول التي غير موجودة في استعلامي هي ؟؟؟ ( أرجو تحديدها ) ولا تنسى أنني اتعامل مع مرفقك وليس مع المرفق الذي تملكه وتطبق عليه ان كان مختلفاً في بنيته وتركيبه .
nssj قام بنشر منذ 1 ساعه الكاتب قام بنشر منذ 1 ساعه أخي الكريم .. في الملف المرفق الاستعلام كما أستخدمه مع إضافة الحقول الجديدة المطلوب تعبئتها، مع ملاحظة أني لم أضف جدول (DATA_list) في شاشة الاستعلام، لأنه لا توجد بينه وبين الجداول الأخرى علاقة، وقد لا حظت أنك توصلت للنتائج المطلوبة دون أن يكون موجودا في شاشة الاستعلام QF_Subject3.accdb
Foksh قام بنشر منذ 58 دقائق قام بنشر منذ 58 دقائق طيب .. بطريقتي سأسأل .. هل الفرق هو الحقول التالية :- TNO, NASS, nass1 MSNO, MS_NAMEX من جدول Tab_Msaneed ID_Xsub, Code, Parentx, Total, LVLno, Xsub MAIN_sub من جدول TAB_Subject_X يعني مقصدي انت تريد اضافة كافة الحقول الى الاستعلام الذي خرجت به ويلبي حاجتك في القيم المطلوب عرضها ، صحيح ؟؟؟ مع العلم أنك تستطيع إزالة الشرط :- AND TAB_Subject.ID IN (76, 159, 1873) هل هذا الاستعلام يلبي احتياجك على سبيل المثال :- SELECT TAB.MNO, TAB.TNO, TAB.NASS, TAB.nass1, Tab_Msaneed.MSNO, Tab_Msaneed.MS_NAMEX, TAB_Subject.ID, TAB_Subject.ID_Xsub, TAB_Subject.SName, TAB_Subject.Code, TAB_Subject.Parentx, TAB_Subject.Total, TAB_Subject.LVLno, TAB_Subject.LVL1, IIf(TAB_Subject.LVL1 = 0, Null, (SELECT TOP 1 SName FROM TAB_Subject AS L1 WHERE L1.LVL1 = TAB_Subject.LVL1 AND L1.LVL2 = 0 AND L1.LVL3 = 0 AND L1.LVL4 = 0)) AS LVL1name, TAB_Subject.LVL2, IIf(TAB_Subject.LVL2 = 0, Null, (SELECT TOP 1 SName FROM TAB_Subject AS L2 WHERE L2.LVL1 = TAB_Subject.LVL1 AND L2.LVL2 = TAB_Subject.LVL2 AND L2.LVL3 = 0 AND L2.LVL4 = 0)) AS LVL2name, TAB_Subject.LVL3, IIf(TAB_Subject.LVL3 = 0, Null, (SELECT TOP 1 SName FROM TAB_Subject AS L3 WHERE L3.LVL1 = TAB_Subject.LVL1 AND L3.LVL2 = TAB_Subject.LVL2 AND L3.LVL3 = TAB_Subject.LVL3 AND L3.LVL4 = 0)) AS LVL3name, TAB_Subject.LVL4, IIf(TAB_Subject.LVL4 = 0, Null, (SELECT TOP 1 SName FROM TAB_Subject AS L4 WHERE L4.LVL1 = TAB_Subject.LVL1 AND L4.LVL2 = TAB_Subject.LVL2 AND L4.LVL3 = TAB_Subject.LVL3 AND L4.LVL4 = TAB_Subject.LVL4)) AS LVL4name, TAB_Subject.Xsub, TAB_Subject_X.MAIN_sub, TAB.TYPE1, (SELECT LISTname FROM DATA_list WHERE NOM2 = TAB.TYPE1 AND NOM1 = 1) AS TYPE1name, TAB.TYPE2, (SELECT LISTname FROM DATA_list WHERE NOM2 = TAB.TYPE2 AND NOM1 = 2) AS TYPE2name FROM ((TAB INNER JOIN Tab_Msaneed ON TAB.MUSNAD = Tab_Msaneed.MSNO) INNER JOIN TAB_Subject_X ON TAB.MNO = TAB_Subject_X.MNO) INNER JOIN TAB_Subject ON TAB_Subject_X.SUB_ID = TAB_Subject.ID ORDER BY TAB.TNO;
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.