الانتقال إلى المحتوى
View in the app

A better way to browse. Learn more.

مجموعة مستخدمي أوراكل العربية

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

تجنب عدم تكرار اسم الطالب في فورم

Featured Replies

بتاريخ:

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

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

وفورم الدورات هو 2 بلوك يقوم بسحب عدد من القيم ومن ضمنه اسم الطالب ورقمه عن طريق lov

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


declare
cursor A is (select plan_d.st_id from plan_d,plan_m where plan_d.st_id=plan_d.st_id
and plan_d.st_id=:st_id);
AA A%rowtype;
bb number;
begin open a;
fetch A into AA;

if (A%found ) then
bb:=show_alert('v');
raise form_trigger_failure;
close A;
end if;
end

تم تعديل بواسطة مصعب اسامة

  • الردود 27
  • المشاهدات 5.9k
  • البداية
  • اخر رد

أكثر المشاركين في هذا الموضوع

بتاريخ:

السلام عليكم

اخى العزيز

شكرا لك .. و اعتقد ان فى خاصيه ممكن ان تقوم بعملها فى الفورم و خالصه فى تكست الاسم و ان تجعله " primer key " .. اعتقد ..

و شكرا

بتاريخ:
  • كاتب الموضوع

اخي العزيز اشكرك على سرعه الاجابه ولكن قمت بتفعيل هذه الخاصيه لكن للاسف لم تنجح معي

بتاريخ:
  • كاتب الموضوع

اخي العزيز اشكرك على سرعه الاجابه ولكن قمت بتفعيل هذه الخاصيه لكن للاسف لم تنجح معي

بتاريخ:
  • كاتب الموضوع

اخوني هل من مجيب

بتاريخ:

ممكن تجعل الاسم
uniq

بتاريخ:
  • كاتب الموضوع

اخي العزيز كلامك صحيح في حاله كنت اريد عمل اسم الطالب غير متكرر في حقل الطلاب

نالي اقصده داخل حقل جدول اخر حيث ان هذا الجدول يقوم بسحب اسم ورقم الطالب من جدول الطلاب
الى جدول الدورات الي هو عباره عن ماستر وديتيل

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

بتاريخ:
  • كاتب الموضوع

اخي العزيز كلامك صحيح في حاله كنت اريد عمل اسم الطالب غير متكرر في جدول الطلاب

انا الي اقصده داخل حقل جدول اخر حيث ان هذا الجدول يقوم بسحب اسم ورقم الطالب من جدول الطلاب
الى جدول الدورات الي هو عباره عن ماستر وديتيل

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

بتاريخ:

السلام عليكم

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

فيمكن عند تريجر post_change تضع الكود الخالص بك فوق .. و انا قمت بعمل تعديل ( اسف و لكن على اد علمى يعنى قمت به ) و هو :

declare 
cursor A is
select plan_d.st_id from plan_d where plan_d.st_id=:st_id;

AA A%rowtype;
bb number;
begin open A;
fetch A into AA; if A%found then
	bb:=show_alert('v');
	raise form_trigger_failure;
	close A;
end if;
end


حيث اننى :

- قمت بحزف الاقواس التى كنت وضعتها
- انت تستعلم عن جدول واحد لماذا قمت بعمل علاقه .. فى حين انك من الطبيعى ان تتعامل مع واحد فقط .. يكفى

فجرب و قولى ليى الشكل دة .. و ربنا الموفق

و شكرا

بتاريخ:

حل الاخ احمد صحيح ولكن ممكن تعمل VALIDATION على القيمة المدخلة...
بالتوفيق

بتاريخ:
حل الاخ احمد صحيح ولكن ممكن تعمل VALIDATION على القيمة المدخلة...
بالتوفيق



السلام عليكم

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


واحب اخد راى المهندس هانى
بتاريخ:

مزبوط كلامك اخ محمد ولكن ليه ما يعملهم MASTER-DETAIL بجدولين ؟؟؟؟
أتوقع انه افضل

بتاريخ:
  • كاتب الموضوع

اخواني الاعزاء اشكر تفاعلكم مع الموضوع اشكركم عن جد وفقكم الله

بالنسبه للحل للاسف لم تحل المشكله لحد الان

اتوقع انها تحل عن طريق البوينتر ولكن معلوماتي عن البوينتر شبه معدومه اتمنى من اي شخص لديه فكره اضافيه ان يسعفني بها

بتاريخ:
  • كاتب الموضوع

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

الماستر يقوم بجلب اسم الكورس ومعلومات اخرى من جداول اخرى

الديتسيل يقوم بجلب معلومات الطلاب من جدول اخر

بتاريخ:
  • كاتب الموضوع

اخواني الاعزاء هل يوجد حل للتعامل مع الديتيل ؟.

بتاريخ:

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

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

وشكرا

بتاريخ:
  • كاتب الموضوع

اخي العزيز مصطفى


الطالب نممكن ان يدرس اي كورس وفي اي وقت

انا اريد عمل برنامج يقوم بفحص الديتيل الحاليه وليس اي ديتيل اخرى

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

اشكر لك سعت صدرك وردك على موضوعي

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

بتاريخ:

كده وضحت الامور شوية جرب الاتي
أخي الحبيب ممكن الحل بسهولة جدا من خلال ضبط الشرط في ال lov
بمعنى إنك هتعمل كويري حلو كده في شرط ال lov الاي انت عملته مثلا
مثال
هذا المثال من عندي وحاول ترجمته على حسب الاعمدة الاي عندك ومسمياتها
مثلا رقم الطالبid

select id,stud_name from student where id not in (select id from course where course_name=:course_name and course_id=:course_id);


عنى الكود انك هتظهر اسمك الطلاب من جدول الطلاب للطلاب الذين غير مدرجين مسبقافي جدول الدورات

ويارب أكون وفقت وجرب ورد علي

بتاريخ:
  • كاتب الموضوع

اخي العزيز مصطفى و الاخ PALI.ORACLE اشكركم على جهدكم


اخي مصطفى بالنسبه للحل الذي قمت به للاسف لم تحل المشكلة بهذه الطريقه

بتاريخ:

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

بتاريخ:
  • كاتب الموضوع

السلام عليكم

اخي العزيز مصطفى اشكرك على الاجابه


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

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

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


عند القيام بادخال اسماء الطلاب ضمن فورم الذي يكون مكون من ماستر وديتيل من الطبيعي اسماء الطلاب ساقوم بجلبها عن طريق ال lov

وحقل الطلاب سكون ديتيل والماستر هو معلومات الدورة اسم الكورس التاريخ ....الخ

عندما اقوم بتكوين دوره جديه من الطبيعي ساقوم بجلب معلومات الطالب من جدول الطلاب عن طريق ال lov كما اشرت سابقا

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

اتمى اني قمت بايضاح الفكره

بتاريخ:

السلام عليكم يأخي العزيز
حسب مافهمت مما ذكرت أنك عملت الاتي
أولا : يوجد جدول يسمى جدول الطلاب ===>> وهذا الجدول الفايدة منه تسجيل أسماء الطلاب فقط
ثانيا :أنشأت جدول يسمى مثلا جدول الدورات ===>> وهذا الجدول به بيانات الدورات المقامة وهو جدول ماستر لجدول أخر يسمى مثلا طلاب الدورات وبه بيانات الطلاب التابعين للدورات المقامة
هل كده صح أم في شيء خطأ
افتراضا ماذكرته صحيح
المطلوب منك مثلا الاتي
الان في دورة هتقام ولازم تقوم بإضافة طلاب لهذه الدورة وهتقوم بإضافة طلاب عن طريق lov تأخذ بياناتها من جدول الطلاب الاي في الخطوة رقم 1 تمام كده ولا خرجت عن الموضوع
طيب المفروض لاتدخل طالب للدورة المقامة الان مرتين "طبعا كلام منطقي" ===>>
لو كان كلامي صحيح "ماذكرته هو الاي عندك " ممكن تعمل نفس الكود الاي كتبته لك في مشاركة سابقة وهو بيعمل فلتر في ال lov للاسماء للذين سجلوا ولذا مش هيظهروا تاني

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

وعلى كل حال ممكن تبعت الفورم ومعهاالجداول التابعة لها
وشكرا

بتاريخ:
  • كاتب الموضوع

المرفق الملف

PLAN.rar

انضم إلى المناقشة

يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.

زائر
أضف رد على هذا الموضوع...

برجاء الإنتباه

بإستخدامك للموقع فأنت تتعهد بالموافقة على هذه البنود: سياسة الخصوصية

Account

Navigation

البحث

إعداد إشعارات المتصفح الفورية

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.