الانتقال إلى المحتوى
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

بتاريخ:

السلام عليكم

لدي فورمة حضور وغياب أسجل فيها الحاضرين و في نهاية اليوم أسجل الطلاب الغائبون  

 

فقمت بعمل بلوك جديد من جدول(( الطلاب )) ليعرض  كود الطالب وأسمه كطلبه غير حاضرين - لمساعده المستخدم في تسجيل الطلبه الغائبون في نهاية اليوم 

الجزء خاص بالحضور والغياب انهيته

ولكن وجهاتي مشاكل في تنفيذ البلوك الخاص بعرض الطلبه الغير حاضرين

بسبب ان هذا البلوك من جدول ((الطلاب)) فسيعرض جميع الطلاب المسجلين في الداتا بيز فكيف أجعله يعرض الطلبه الغير حاضرين  فقط بعملوميه أكواد الطلبه الحاضرين في هذا اليوم 

قمت بعمل بعض المحاولات ولكن جميعها بائت بالفشل 

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

أكون شاكر له 

 

post-136508-0-74934400-1393096687_thumb.jpg

بتاريخ:

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

 

ولكن واجهتني مشاكل في تنفيذ البلوك الخاص بعرض الطلبه الغير حاضرين

 

 

هل الهدف هو إظهار "فقط" الطلبة الذين لم يحضروا ؟؟ 

 

اي انه لديك اعداد الطلبة بالكامل ... وتم تسجيل الحضور فقط ليوم معين ... والمطلوب إظهار "فقط" الطلبة الذين لم يحضروا ؟؟ 

 

لإظهار الأسماء في بلوك جديد ... هذا البلوك لن يكون database block  ولكن سيكون control block 

وسيتم تعبئة البيانات في البلوك من خلال استخدام كيرسور cursor 

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

يحيث يتم استبعاد الذين حضروا في هذا اليوم ... وبالتالى إظهار الذين لم يحضروا في هذا اليوم المحدد

 

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

بأن يتم تجهيز بيانات اليوم لكامل طلبة الصف الدراسي ... من خلال امر insert 

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

وبالتالي ستكون احتفظت بالعدد الكامل للطلبة المسجلين بالصف الدراسي في يوم محدد ... سواء حضر أو لم يحضر 

ولن تحتاج لفكرة الحل الأول 

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

شكرا باشمهندس أمجد على الاهتمام :-

- نعم الهدف إظهار الطلبه الذين لم يحضور ,لكي يتم تسجيل غيابهم بعد ذلك في نهاية اليوم.

- قد تكون الفكره الأولى اقرب للذي أريده ولكن مسألة ال cursor لم  أستوعبها فلو تكرمت باشمهندس أمجد تفصيل تلك المسأله بشكل مبسط ولو بمثال عملي أو كود مكتوب ولك جزيل الشكر .

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

قمت بعمل هذا ال cursor ولكن بالتأكيد هيرجع في البلوك الطلبه الحاضرين فقط كيف أملئ البلوك بالطلبه الغير حاضرين 

DECLARE
   CURSOR CUR_EMP IS 
   
   SELECT s.student_id, s.student_fullname_a 
   FROM student s,PRESENCE p
 where s.student_id = p.student_id 
 and  p.date_now = :PRESENCE.date_now
 and PRESENCE_YN = 1 ;

   v_student_id   NUMBER;
   v_student_fullname_a	 VARCHAR2(40);
  
BEGIN
   GO_BLOCK('student');
   CLEAR_BLOCK;
   OPEN CUR_EMP;
   FETCH CUR_EMP INTO  v_student_id, v_student_fullname_a;
   WHILE CUR_EMP%FOUND 
   LOOP
		CREATE_RECORD;
		:student.student_id := v_student_id;
		:student.student_fullname_a := v_student_fullname_a;
				FETCH CUR_EMP INTO v_student_id, v_student_fullname_a;
  END LOOP;
   CLOSE CUR_EMP;
EnD;
بتاريخ:
  • كاتب الموضوع

 

السلام عليكم

غير قيمة الشرط التالي:

and PRESENCE_YN = 0 ;

 

عندما وضعت القيمه 0 البلوك ليس بيه داتا 

بتاريخ:

السلام عليكم

جرب الكويري التالية:

 

SELECT s.student_id, s.student_fullname_a
  FROM student s, presence p
 WHERE s.student_id = p.student_id
   AND p.date_now = :presence.date_now
   AND NOT EXISTS (
          SELECT 1
            FROM student x, presence p1
           WHERE x.student_id = p1.student_id
             AND x.student_id = s.student_id
             AND p1.date_now = :presence.date_now
             AND presence_yn = 1)
بتاريخ:
  • كاتب الموضوع

 

السلام عليكم

جرب الكويري التالية:

 

SELECT s.student_id, s.student_fullname_a
  FROM student s, presence p
 WHERE s.student_id = p.student_id
   AND p.date_now = :presence.date_now
   AND NOT EXISTS (
          SELECT 1
            FROM student x, presence p1
           WHERE x.student_id = p1.student_id
             AND x.student_id = s.student_id
             AND p1.date_now = :presence.date_now
             AND presence_yn = 1)

 

no rows selected  

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

يرجى رفع الجدولين مع البيانات الموجودة.

SELECT student_id, student_fullname_a
  FROM student s
 
   where NOT EXISTS (
          SELECT 1
            FROM student x, presence p1
           WHERE x.student_id = p1.student_id
             AND x.student_id = s.student_id
             AND p1.date_now = :presence.date_now 
             AND presence_yn = 1
            
) order by s.student_id ;

انا عدلت في الكود واشتغل معايا وشكرا ليك جداااااا جداااااا يا بشمهندس أحمد وبشمهندس أمجد لأن المشكله أتحلت  :D

بتاريخ:

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

 

الأخ / محمد زايد 

 

حمدا لله ... أن وصلت للحل المناسب لموضوعك  ... ونتمنى ان تشارك معنا بالمنتديات بشكل مستمر 

 

 

الأخ / أحمد حسن 

 

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

شكرا لك على سرعة الرد على استفسارات الأعضاء

شكرا لك على حرصك على مساعدة أعضاء المنتدى 

شكرا لك على حبك للعطاء بدون إنتظار كلمات الشكر 

 

جزاك الله خيرا ... ونفع بك الأمة الإسلامية والعربية 

 

أتمنى ان يكون جميع الأعضاء = مشرفنا ... أحمد حسن 

 

شكرا لك 

بتاريخ:

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

 

الأخ / محمد زايد 

 

حمدا لله ... أن وصلت للحل المناسب لموضوعك  ... ونتمنى ان تشارك معنا بالمنتديات بشكل مستمر 

 

 

الأخ / أحمد حسن 

 

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

شكرا لك على سرعة الرد على استفسارات الأعضاء

شكرا لك على حرصك على مساعدة أعضاء المنتدى 

شكرا لك على حبك للعطاء بدون إنتظار كلمات الشكر 

 

جزاك الله خيرا ... ونفع بك الأمة الإسلامية والعربية 

 

أتمنى ان يكون جميع الأعضاء = مشرفنا ... أحمد حسن 

 

شكرا لك 

 

شكرا لك يا صديقي العزيز على الكلمات الرائعة.

وفقني الله وإياكم لما فيه مصلحة للمنتدى والاعضاء.

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

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

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

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

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

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.