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

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

بدأه لموشة الصحراء في 13 أكتوبر 2008 · 12 رد · 1,146 مشاهدة · في لغة Delphi
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

أريد انجاز برنامج للأرشفة ولكن تفاجئت بمشكل وحيد في السنوات

فأنا عندي في كل سنة مثلا 2007 تدرس مجموعة من التلميذات فاذا كان فيه تلميذه درست سنتين 2007 و 2008 هل يحتم عليها تسجيلها مرتين

أم بجعل جدول للسنوات يحل المشكل

لأن وبتطبيقي لطريقة المريز

بين التلميذة و السنة بعلاقة يدرس نتج عنه العلاقة

1.n - 1.n

وهذه لا تكون أبدا على حد علمي

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

وشكرا

#2

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

اللهم علمنا ما ينفعنا وانفعنا بما علمتنا وانفع الناس بنا واغفر لنا وارحمنا

#3

ليست سنة وانما سنة دراسية

السنة الدراسية تكون من الشكل 2007-2008

لانها تنطلق من الخريف وتنتهي صيفا

d4baa0.gif
#4

بارك الله فيكم على المتابعة وانما قصدت السنة 2007 مثلا لأني لا أعني السنه الدراسية المشار اليها من قبل الأخ التي تبدأ في الخريف

لا

وانما مركز لتعليم الخياطة فيه تربص اذ يكون بالأشهر

مثلا مار س 2007 أو جويلية 2007

ولذلك أريد جعل برنامج أرشفة للطالبات منذ سنة 2002 فأرفع فيه كل الأسماء لتي درست في كل سنة

فأنا عندما أبحث عن الدارسات في سنة 2004 تخرج لي القائمة . العملية سهلة بالفلترة

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

بكل وضوح البرنامج يعطي تقارير ليس الا

سارسم لكم مخطط البرنامج بالكلمات

المركز فيه دورات تكوينية للبنات

وفيه طالبات يحضرن هذه الدورات خياطة سنة نبوية قرآن تربية ...

أول سنة انطلق فيها المشروع 2002 الى 2008 ونرجو طول العمر

الدورات تكون فترات متقطعة مما يطلق عليها بالتربصات وكل تربص يتمثل في دورة تكوينية معينة

نحن كادارة عندنا جدول لكل الدورات المقامة في المركز منذ 2002 والطالبات الآتي حضرن فيها مما توجب علينا استعمال برنامج يخفف عنا عناء البحث في الأوراق

فكرت في برنامج وعلت له هيكلة اذ قسمته الى شطرين

شطر مختص بالدورات التكوينية عنوانها منشطها الشهر السنه

وجعلت جدولا لها واما المعلومات السابقة هي عبارة عن حقول الجدول

أما فيما يخص بالطالبات فكانت العملية سهلة في البداية

الاسم تاريخ الميلاد ومكانه المستوى الدراسي ...

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

ولكن عجزت عن الاجابة عن سؤال

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

مثلا فاطمة حضرت الا في 2003 في دورة للخياطة

أما

عائشة فحضرت في 2003 بدورة الخياطة و دورة السيرة و حضرت في 2004 في دورة الحديث وفي 2006 في دوؤة القرآن الكريم

والله أعلم كيف تنجز العملية

أظن أني توسعت بما فيه الكفاية أخ علي :unsure: فأسهل شيئ علينا هو الكلام :haha:

أتمنى أن تبادلني الغرض فتتوسع في الشرح :)

#5

عندما تسجل الطالبة في دورة يعطى لها رقم تسجيل ؟

وعندما تسجل في دورة اخرى هل يعطي لها رقم تسجيل جديد ام يستعمل الرقم القديم ؟

d4baa0.gif
#6

في الحقيقة يعطى لها رقم تسجيل جديد ؟

#7
اقتباس
لكن المشكل العويص ينطبق على التلميذات الاتي حضرن في سنتينأو أكثر أن يسجل اسمهن عدة مرات في قاعدة لمعطيا تفي السنة 1 و السنة 2و ... مما قد يسبب أخطاءا بلا شك

مادم انك ستسجلين كل طالبة تنظم الى دورة اخرى برقم تسجيل جديد لن يكون هناك مشكل مادام رقم التسجيل هو المفتاح الرئيسي للجدول

اما اذا كان المفتاح الرئيسي هو الاسم هنا ستقع المشاكل

اقتباس
ولكن عجزت عن الاجابة عن سؤال

عندما أكتب اسما من الطالبات مثلا تخرج لي السنوات التي حضرت فيها

يمكنك ذلك بتطبيق استعلام او فلترة باسم الطالبة فقط وعرضه في عنصر DBGrid

اتمنى ان اكون قد وفقت في الاجابة

تم تعديل هذه المشاركة بواسطة علي .ع في 14 أكتوبر 2008 في 12:21

اللهم علمنا ما ينفعنا وانفعنا بما علمتنا وانفع الناس بنا واغفر لنا وارحمنا

#8

ما رأيك بطرح صغير أكون قد اقتنعت

اذا ما كتب المستخدم

فاطمة في سنة 2003

و فاطمه في سنة 2004

هنا درست عامين

فبمجرد الحرف الأخير لا أحصل على النتيجة السليمة لأن الفلترة تكون بالاسم وليس بالرقم فلو كان الرقم لكانت نسبة الخطأ منعدمة ربما

ما يقوله المحترفون أمثالكم في هذه المشكلة وأكون ممتنة لكم جدا

بارك الله فيكم على التعاون

#9

هل جربتي عرض نتائج البحث في DBgrid

صدقيني يكون هناك اي خطا وستكون النتائج صحيحة مئة بالمئة

لاعرف لماذا بنيتي هذا التصور وهذه صورة جربت فيها الفكرة ونجحت

post-112245-1224018971_thumb.jpg

الصورة بعد البحث

post-112245-1224019574_thumb.jpg

والمرفق يحتوي على المثال

formation.rar

تم تعديل هذه المشاركة بواسطة علي .ع في 15 أكتوبر 2008 في 00:27

اللهم علمنا ما ينفعنا وانفعنا بما علمتنا وانفع الناس بنا واغفر لنا وارحمنا

#10

ما كل هذا العناء والله ليس لي الا أن أشكرك شكرا جزيلا وأدعوا الله أن يبلغك ما آلت اليه أمانيك

ويبارك فيك وفي علمك و يجزيك أحسن مما جزيت لنا

آمين

وجاري التجربة مع برنامجي باللغة العربية

وشكرا مرة أخرى

#11

ما فهمته أنك تريدين أسماء الطالبات المسجلات في سنة معينة دون تكرار أسماء المسجلات أكثر من مرة في نفس السنة

ممكن أعطاء رقم دراسي خاص لكل طالبة (studyid) ؟؟؟ و لنفرض وجود طالبة (fatima) سجلت مرتين في نفس السنة (2003) بنفس رقمها الدراسي و وجود خطأ في كتابة الإسم (faima) في إحدى التسجيلات

عند تحديد سنة 2003 و النقر على الزر نكون حصلنا على أرقام الطالبات المسجلات في السنة المحددة دون تكرار أرقامهم و يمكن الحصول على الأسماء بعدها بالنقر المزوج على الرقم

 
procedure TForm1.Button1Click(Sender: TObject);
begin
dbgrid1.DataSource := DataSource2;
adoquery1.Active := false;
adoquery1.SQL.Clear;
adoquery1.SQL.Add('SELECT DISTINCT studyid from table1 where year = '''+edit1.Text+'''');
adoquery1.Active := true;
end;

procedure TForm1.DBGrid1DblClick(Sender: TObject);
begin
adotable1.Filtered := false;
adotable1.Filter := 'studyid = '''+adoquery1.FieldValues['studyid']+'''';
adotable1.Filtered := true;
showmessage(adotable1.FieldValues['name']);
end;

أرجو أن يكون هذا الحل شيء مما تريدين

المرفق يمثل الحل

Test.rar

تم تعديل هذه المشاركة بواسطة rober في 15 أكتوبر 2008 في 02:19

I'm Away For Sometimes

I'll Finish My Works

Come Back Soon

More Study > More Search > More Try > More Learning > Great Success

#12
اقتباس
ما فهمته أنك تريدين أسماء الطالبات المسجلات في سنة معينة دون تكرار أسماء المسجلات

لا اخ rober الخت طلبت العكس تماما

ان تظهر الطالبات ويظهر تاريخ التسجيل واظن ان الامر سهل جدا

تحياتي

اللهم علمنا ما ينفعنا وانفعنا بما علمتنا وانفع الناس بنا واغفر لنا وارحمنا

#13

نعم بالضبط أنا أقصد ما قصده الأخ علي

ولقد جربت مثالا ونجحت الفكرة بشكل جيد يا أخي علي

ولكن يجب أن تدخل البيانات برمتها بشكل صحيح ودقيق لأن الفرق بين فاطمة وفاطمه هي النقاط التي فوق التاء وبها لا تخرج النتيجة صحيحة

ويمكن لك أن تتفقد البرنامج المرفق على كل انه ترجمة مرفقك

بارك الله فيكم وأي ملاحظات تعينوني بها أكون لكم من الشاكرين

بالتوفيق

coran.rar

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

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

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

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

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