بتاريخ: 10 مايو 201412 سنة comment_250408 لدي cursor أنشأته ليسترجع جميع اكواد الطلاب ومقارنتها بالكود المكتوب على الشاشه , ولكن الكيرسور يسترجع اول كود طالب فقط ؟ PROCEDURE discount_rec IS v_student_CODE discount.student_CODE%TYPE ; CURSOR st_cursor IS select student_CODE from discount where date_Code = :pay_month.date_code ; BEGIN open st_cursor ; loop fetch st_cursor into v_student_CODE ; exit when st_cursor%notfound; if :pay_month.student_CODE = v_student_code then add_rec ; else notcount_rec ; --=========================================== end if ; end loop ; close st_cursor ; END ; تقديم بلاغ
بتاريخ: 10 مايو 201412 سنة comment_250415 المشكلة في الغالب هن لان الكرسور بتاعك سليم مفيهوش حاجة ا : if :pay_month.student_CODE = v_student_code then add_rec ; else notcount_rec ; بس احنا مش عارفين add_rec دي بتعمل ايه ولا اللي بعدها بتعمل ايه ؟ تم تعديل 11 مايو 201412 سنة بواسطة Ahmad.Hasan تقديم بلاغ
بتاريخ: 10 مايو 201412 سنة كاتب الموضوع comment_250418 المشكلة في الغالب هن لان الكرسور بتاعك سليم مفيهوش حاجة ا : if :pay_month.student_CODE = v_student_code then add_rec ; else notcount_rec ; بس احنا مش عارفين add_rec دي بتعمل ايه ولا اللي بعدها بتعمل ايه ؟ ( add_rec و notcount ) دول PROCEDURE أنا عاملهم مسبقا تقديم بلاغ
بتاريخ: 11 مايو 201412 سنة كاتب الموضوع comment_250435 استخدم Next Record. هكتبه فين في الكود , مع العلم ان الكيرسور ده في الفورم تقديم بلاغ
بتاريخ: 11 مايو 201412 سنة comment_250436 السلام عليكم إليك مثال بسيط: DECLARE CURSOR a_cur IS SELECT a.order_id, a.customer_id, a.salesman_id, a.order_sta tus, b.pro_item_id, b.product_qty FROM order_master a, order_detail b WHERE a.order_id = b.order_id; BEGIN FOR i IN a_cur LOOP :sales_detail.pro_item_id := i.pro_item_id; :sales_detail.quantity := i.product_qty; NEXT_RECORD; END LOOP; END; تقديم بلاغ
بتاريخ: 11 مايو 201412 سنة كاتب الموضوع comment_250457 الحكايه اني عاوز استرجع بكيرسور اكواد الطلبه اللي موجودين عندي في جدول الخصومات .... وعندي شاشة ( دفع ) وضعت item اسمه كود الطالب وعليه تريجر key-next-item فيه الكيرسور اللي عملته , وبعدين هعمل مقارنه بين كود الطالب المكتوب على الشاشه وأكواد الطلبه اللي موجودين في الكيرسور فإذا تساوي كود الطالب المكتوب على الشاشه مع كود طالب في الكيروسر فمعنى ذلك ان هذا الطالب مسجل له خصم في جدول الخصومات فالبرنامج هيكتب مبلغ الخصم واذا لم يكن له خصم فا البرنامج هيكتب المبلغ العادي . المطلوب كيرسور مناسب لحل تلك المسأله تقديم بلاغ
بتاريخ: 11 مايو 201412 سنة comment_250458 لدي cursor أنشأته ليسترجع جميع اكواد الطلاب ومقارنتها بالكود المكتوب على الشاشه , ولكن الكيرسور يسترجع اول كود طالب فقط ؟ PROCEDURE discount_rec IS v_student_CODE discount.student_CODE%TYPE ; CURSOR st_cursor IS select student_CODE from discount where date_Code = :pay_month.date_code ; BEGIN open st_cursor ; loop fetch st_cursor into v_student_CODE ; exit when st_cursor%notfound; if :pay_month.student_CODE = v_student_code then add_rec ; else notcount_rec ; --=========================================== end if ; end loop ; close st_cursor ; END ; يا باشا في كذا سؤال 1- انت عرفت منين ان الكرسور بيرجع طالب واحد بس وانت بترجع في متغير ؟ جرب تطبع المتغير كده او رجع في ايتم 2- البروسيدجرز اللي انت عاملها قولنا بتعمل بيها ايه عشان ممكن تكون بتغير حاجة , واكتب الكود بتاعها هنا . 3- جرب السيليكت في السيكول بلس كده , يمكن تكون بترجع طالب واحد بس بالتاريخ اللي انت حطه . تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.