• 0
كفاح

اخوانى ارجوا المساعدة اظهار الرقم الاساس

سؤال

السلام عليكم

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

29_01_06_03_09_34_1138532974emp.JPG

EMP.zip

تم تعديل بواسطه كفاح
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

29 إجابة على هذا السؤال .

  • 0

كما تريد اخى هارون وشاكر ليك تفضل بكتابة البرنامج من جديد حتى نتعلم منك شيئا جديدا وشكرا لك اخى هارورن :)

تم تعديل بواسطه كفاح
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

كما تريد اخى هارون وشاكر ليك تفضل بكتابة البرنامج من جديد حتى نتعلم منك شيئا جديدا وشكرا لك اخى هارورن :)

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

1) إمكانية تعديل برنامجك بصورة تفي بالغرض.

2) يتطلب كتابة البرنامج إعادة تصميم الداتابيز لأنك لم تبنيها بطريقة علمية على الأطلاق (فقط أورد لك أحد المآخذ، فنحن عندما نبني قاعدة بيانات فيها أكثر من جدول مع علاقات بين الجداول فإننا نقوم بذلك أساساً حتى نخفف من حجم القاعدة وعدم إضافة معلومات لا فائدة منها ومكررة في أكثر من record، وأنت قمت بعمل جدولين ومع ذلك أضفت عمود في جدول الموظفين برقم وأسم القسم، لماذا؟ يجب أن لا تكتب أسم القسم لأنه موجود عندك في الجدول الثاني).

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

ملاحظة هامة، لقد قمت حضرتك بجعل Emp_num رقماً أساساً، ولكنك وفي الوقت نفسه لم تكتب كوداً يتأكد من أن المستخدم قد قام بكتابة ذلك الرقم في صندوق "رقم العامل"، وكذلك يجب أن تتأكد بأن الرقم الذي أدخله المستخدم ليس مكرراً وتمّ أعطاءه سابقاً لموظف آخر (لسببين، أولاً لأن ذلك الرقم هو رقم أساس في الداتابيز، وسبب منطقي آخر وهو أنه لا يجب أن يشترك أكثر من موظف في نفس الرقم) أليس كذلك؟... وفي هذه الحالة فالطريقة المثلى هي أن لا نعطي المستخدم الحرية في كتابة ذلك الرقم ولكن يجب أن يقوم برنامجنا بعمله آلياً (مثلاً بعمل loop في جدول الموظفين وأختيار رقماً لا يوجد لعامل آخر)...

أمّا إن أصريّت على أعطاء المستخدم الحق في كتابة الرقم بنفسه فيجب عليك التأكد من أمرين:

1) قام المستخدم بإدخال رقم (أي لم يترك صندوق النص فارغاً أو يكتب فيه حرفاً بدلاً من الرقم).

2) يجب أن تعمل loop في جدول الموظفين وتتأكد بأن الرقم الذي أدخله المستخدم ليس معطى لشخص آخر من قبل.

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

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

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

الملف المعدل مرفق، أرجو لك التوفيق

EMP.zip

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

اشكرك جدا اخى هارون على هذه الاستجابة بصراحة اتعملت حاجة جديدة وسوف اخذ بنصائحك الغالية وشكرا لك :)

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
زوار
This topic is now closed to further replies.

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .