اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

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

قام بنشر

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

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

المطلوب الله يجزاكم الخير عمل الاستعلام مثل التقرير بحيث يظهر الاسماء والقضايا التابعه لكل اسم بدون تكرار الاسماء

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

ولكم خالص الشكر والتقدير

استعلام بدون تكرار.rar

قام بنشر

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

من باب الفضول والتأكد ، هل هذا الشكل المطلوب ؟؟

Query1
الرقم الوطني الاسم الجنسيه الجنس نوع الهويه رقم البلاغ السنه التهمه الجهه الطالبه الحكم تاريخ الوارد الاجراء المتخذ تاريخ الاجراء ملاحظات تاريخ الحكم
12345678910 محمد علي ي ذكر   77 2025 شيكات الشيكات غير محدد 2025-08-11        
          88 2024 جنائي العاصمه غير محدد 2025-08-11        
          2352 2025 شيكات الشرق غير محدد 2025-08-11        
          3252 2022 شيكات الجنوب غير محدد 2025-08-11        
          32525 2024 انتحال الغرب غير محدد 2025-08-11        
25432526222 جاسم عبدالله ا ذكر   35 2025 تزوير الشرق غير محدد 2025-08-11        
          60 2022 مشاجره الجنوب غير محدد 2025-08-11        

 

اذا كان هو فعلاً ، فجرب هذا الإستعلام :-

SELECT IIf(DCount("*","tabe2","id=" & [tabe1].[id] & " AND blagh<" & [tabe2].[blagh])=0,[tabe1].[id],Null) AS [الرقم الوطني], IIf(DCount("*","tabe2","id=" & [tabe1].[id] & " AND blagh<" & [tabe2].[blagh])=0,[tabe1].[ename],"") AS الاسم, IIf(DCount("*","tabe2","id=" & [tabe1].[id] & " AND blagh<" & [tabe2].[blagh])=0,[tabe1].[natio],"") AS الجنسيه, IIf(DCount("*","tabe2","id=" & [tabe1].[id] & " AND blagh<" & [tabe2].[blagh])=0,[tabe1].[gins],"") AS الجنس, IIf(DCount("*","tabe2","id=" & [tabe1].[id] & " AND blagh<" & [tabe2].[blagh])=0,[tabe1].[nid],"") AS [نوع الهويه], tabe2.blagh AS [رقم البلاغ], tabe2.sanh AS السنه, tabe2.thmh AS التهمه, tabe2.wanted AS [الجهه الطالبه], tabe2.hkm AS الحكم, tabe2.edate1 AS [تاريخ الوارد], tabe2.[not] AS [الاجراء المتخذ], tabe2.edateegra AS [تاريخ الاجراء], tabe2.mlaha AS ملاحظات, tabe2.edathkm AS [تاريخ الحكم]
FROM tabe1 INNER JOIN tabe2 ON tabe1.id = tabe2.id
ORDER BY tabe1.id, tabe2.blagh;

 

لا حاجة لإرفاق ملفك مرة أخرى 😇 

قام بنشر

جزاك الله كل خير ورحم الله والديك استاذ/ Foksh

هذا هو المطلوب

لو تكرمت كيف اقوم بتصميم مثل هذا الاستعلام بنفسي مع هذا الكود الطويل  (شرح)

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

تقبل اجمل تحيه وتقدير

قام بنشر
58 دقائق مضت, alriashi said:

لو تكرمت كيف اقوم بتصميم مثل هذا الاستعلام بنفسي مع هذا الكود الطويل  (شرح)

 

حياك الله اخي الكريم ..

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

  1. بعد ان تقوم بالنقر على انشاء استعلام ، تقوم بتحديد الجدولين لديك Tabe1 + Tabe2 . ولا تقم بإضافة اي حقول مبدأياً .  طبعاً بعد التأكد من ربط الحقلين ID في الجدولين بعلاقة بينهما .
  2. كتبت السطر التالي لعد قيم الرقم الوطني أولاً :-
    الرقم الوطني: IIf(DCount("*","tabe2","id=" & [tabe1].[id] & " AND blagh<" & [tabe2].[blagh])=0,[tabe1].[id],Null)
    وكررت الأمر نفسه لحقل الإسم + الجنسية + الجنس + نوع الهوية . مع تغيير اسم الحقل طبعاً 
  3. ثم قمت بإضافة الحقول التي نريد عرض قيمها كاملةً ( التي تحمل بيانات غير مكررة ) مثل :-
    رقم البلاغ + السنة + التهمة + الجهة الطالبة + الحكم + تاريخ الوارد + الإجراء المتخذ + تاريخ الإجراء + الملاحظات + تاريخ الحكم  = جميعها من الجدول Tabe2 . وجميعها تم عرضها بالتعليم على اشارة الصح لهذه الحقول السابقة . 
  4. قمت بإضافة الحقل ID من الجدول Tabe1 فقط . وجعلته غير ظاهر مع الفرز تصاعدي .
  5. قمت بإضافة الحقل blagh ايضاً من الجدول Tabe2 . وجعلته غير ظاهر أيضاً مع الفرز تصاعدي أيضاً .

 

منذ ساعه, alriashi said:

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

 

أما لهذا الطلب ، فقط نقوم بإضافة حقل جديد لجلب العدد للبلاغات =

عدد البلاغات: IIf(DCount("*","tabe2","id=" & [tabe1].[id] & " AND blagh<" & [tabe2].[blagh])=0,DCount("*","tabe2","id=" & [tabe1].[id]),Null)

وستكون النتيجة للإستعلام كاملاً =

SELECT IIf(DCount("*","tabe2","id=" & [tabe1].[id] & " AND blagh<" & [tabe2].[blagh])=0,[tabe1].[id],Null) AS [الرقم الوطني], IIf(DCount("*","tabe2","id=" & [tabe1].[id] & " AND blagh<" & [tabe2].[blagh])=0,[tabe1].[ename],"") AS الاسم, IIf(DCount("*","tabe2","id=" & [tabe1].[id] & " AND blagh<" & [tabe2].[blagh])=0,[tabe1].[natio],"") AS الجنسيه, IIf(DCount("*","tabe2","id=" & [tabe1].[id] & " AND blagh<" & [tabe2].[blagh])=0,[tabe1].[gins],"") AS الجنس, IIf(DCount("*","tabe2","id=" & [tabe1].[id] & " AND blagh<" & [tabe2].[blagh])=0,[tabe1].[nid],"") AS [نوع الهويه], tabe2.blagh AS [رقم البلاغ], tabe2.sanh AS السنه, tabe2.thmh AS التهمه, tabe2.wanted AS [الجهه الطالبه], tabe2.hkm AS الحكم, tabe2.edate1 AS [تاريخ الوارد], tabe2.[not] AS [الاجراء المتخذ], tabe2.edateegra AS [تاريخ الاجراء], tabe2.mlaha AS ملاحظات, IIf(DCount("*","tabe2","id=" & [tabe1].[id] & " AND blagh<" & [tabe2].[blagh])=0,DCount("*","tabe2","id=" & [tabe1].[id]),Null) AS [عدد البلاغات], tabe2.edathkm AS [تاريخ الحكم]
FROM tabe1 INNER JOIN tabe2 ON tabe1.id = tabe2.id
ORDER BY tabe1.id, tabe2.blagh;

 

ملفك بعد التنفيذ 

 

استعلام بدون تكرار.zip

قام بنشر

احسنت بارك الله فيك وجزاك الله كل خير

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

في حقل الاجراء المتخذ - not  يكون IS NULL  

يعني البلاغ الذي خلصه ما يعده ويعد فقط الذي لا يزال مطلوب فيه فقط

مثال

الاسم                            البلاغ                السنه                        الاجراء المتخذ

محمد علي                      77                  2025

                                     100                2022

                                    20                   2025                    انتهت اجراءاته

                                    80                   2024

                                    1                     2925                   قام بالمراجعه

في الحاله هذه يحسب لمحمد علي ثلاثه بلاغات فقط لانه قد خلص بلاغين

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

لان البلاغ الواحد نفسه قد يمكن يتكرر ثلاث او اربع مرات لان كل مره يكون فيه اجراءا مختلف

 

واسف على الاطاله واحسن الله لك ولوالديك

  • Confused 1
قام بنشر
منذ ساعه, alriashi said:

يعني البلاغ الذي خلصه ما يعده ويعد فقط الذي لا يزال مطلوب فيه فقط

 

SELECT IIf(DCount("*","tabe2","id=" & [tabe1].[id] & " AND blagh<" & [tabe2].[blagh])=0,[tabe1].[id],Null) AS [الرقم الوطني], IIf(DCount("*","tabe2","id=" & [tabe1].[id] & " AND blagh<" & [tabe2].[blagh])=0,[tabe1].[ename],"") AS الاسم, IIf(DCount("*","tabe2","id=" & [tabe1].[id] & " AND blagh<" & [tabe2].[blagh])=0,[tabe1].[natio],"") AS الجنسيه, IIf(DCount("*","tabe2","id=" & [tabe1].[id] & " AND blagh<" & [tabe2].[blagh])=0,[tabe1].[gins],"") AS الجنس, IIf(DCount("*","tabe2","id=" & [tabe1].[id] & " AND blagh<" & [tabe2].[blagh])=0,[tabe1].[nid],"") AS [نوع الهويه], IIf(DCount("*","tabe2","id=" & [tabe1].[id] & " AND blagh<" & [tabe2].[blagh])=0,
        DCount("*","tabe2","id=" & [tabe1].[id] & " AND ([not] Is Null OR [not]='')"),
        Null) AS [عدد البلاغات], tabe2.blagh AS [رقم البلاغ], tabe2.sanh AS السنه, tabe2.thmh AS التهمه, tabe2.wanted AS [الجهه الطالبه], tabe2.hkm AS الحكم, tabe2.edate1 AS [تاريخ الوارد], tabe2.[not] AS [الاجراء المتخذ], tabe2.edateegra AS [تاريخ الاجراء], tabe2.mlaha AS ملاحظات, tabe2.edathkm AS [تاريخ الحكم]
FROM tabe1 INNER JOIN tabe2 ON tabe1.id = tabe2.id
ORDER BY tabe1.id, tabe2.blagh;

جرب هذا 👌

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