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

كيف يتم تصميم إستعلام ليظهر الأسم الأول للشخص؟

بدأه bakkar2000 في 4 نوفمبر 2014 · 26 رد · 1,555 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#26

UP


UP


UP


#27

وعليكم السلام اخي :)

 

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

ولكنه يتفاجئ (ويتفاجئ الشخص الذي اعطاه الاجابة) ، بأن الجواب لا ينطبق على بياناته الاصلية ، لأنها بإختصار تحتوي على مزيج من البيانات الغير موجودة في البيانات التجريبية!!

 

عندك مشكلة في بياناتك ، لهذا السبب DISTINCT لا يعمل ويعطي خطأ ،

لهذا السبب لا يعمل الكود الاصلي الذي اعطيتك:

SELECT Mid([name],1,InStr([name]," ")-1) AS a, ID.sex FROM ID;

لأنه يعمل على بيانات فيها مسافة بين الاسم الاول وبقية الاسماء ، مثل:

  name محمد غباشى أحمد عبد الهادي عربي أبو الحجاج مصطفي سيد حسين

 

 

ولكني تفاجئت بأن هناك اسماء تحتوي على مسافات قبل الاسم الاول ، مثل:

  name          إعتماد محمد قناوى    نوبية بصرى حسان  زياد وليد سيد

 

 

وعليه ، غيرت الكود لكي يأخذ هذه الملاحظات ، فاصبح:

SELECT Mid(Trim([name]),1,InStr(Trim([name])," ")-1) AS a, ID.sex FROM ID;

ولكن DISTINCT لم يعمل في هذه البيانات كذلك ، مما يعني ان هناك ملاحظات اخرى تعرقله ،

وبعد وقت طويل من فحص البيانات ، اتضح بان هناك اسماء تحتوي على اسم واحد فقط ، مثل:

name جابر شيماء نردين

 

 

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

SELECT IIf(InStr(Trim([name])," "),Mid(Trim([name]),1,InStr(Trim([name])," ")-1),[name]) AS a, ID.sex FROM ID;

ولكن رفض اضافة كلمة DISTINCT ، فاستخدمت المجاميع بدلها ، فاصبحت المعادلة:

SELECT IIf(InStr(Trim([name])," "),Mid(Trim([name]),1,InStr(Trim([name])," ")-1),[name]) AS a, ID.sex
FROM ID
GROUP BY IIf(InStr(Trim([name])," "),Mid(Trim([name]),1,InStr(Trim([name])," ")-1),[name]), ID.sex;

وحصلت على 1316 اسم فريد (طبعا هذا الذي كان المفروض) ،

ولكني لما ازلت قيمة sex من الاستعلام ، اتضح ان مجموع الاسماء الفريدة هي 1194 ، بمعنى ان هناك 122 اسما فيهم مشاكل!!!!

 

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

post-273849-0-67172100-1416842702_thumb.

 

ولكن ، لديك الآن فرز للإسم الاول :)

 

 

جعفر

 

 

 

350.FirstName_Exam.mdb.zip

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

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

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

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

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