بتاريخ: 18 يناير 201412 سنة comment_245568 السلام عليكمعندي مشكله في الترقيم التلقاني في الجدول المرفق ماعرفت احلهاياليت اللي يقدر يساعدني مرفق صورة توضيحيه للمطلوب CREATE TABLE CARD( CARD_NUM NUMBER(7) PRIMARY KEY, cont_num number(5) , cust_num number(5) , con_date date, end_date date, t_num number(3), USED CHAR(1) ); create table contract( cont_num number(5) primary key, cust_num number(5) not null, t_num number(3) not null, ren_num number(4) not null, t_cobon number(6), t_price number(8), con_date date, end_date date ); CARDANDCONTRACT.rar تم تعديل 18 يناير 201412 سنة بواسطة ميسم الكرام تقديم بلاغ
بتاريخ: 18 يناير 201412 سنة comment_245576 اخي الفاضل انا لم ارى مشكلة ممكن توضيح اكثر عن طبيعة المشكلة تقديم بلاغ
بتاريخ: 18 يناير 201412 سنة كاتب الموضوع comment_245579 انا اللي واضع الترقيم من 1 الى 6 يدوي انا ابغى البرنامج يرقم للعميل الثاني من 7 الى 12 فرضا تقديم بلاغ
بتاريخ: 18 يناير 201412 سنة comment_245592 اخي العزيز Ka7eell يوجد عندك عدة اخطاء اولا اخي العزيز انتا واضع العلاقة CARD_CONTRACT على مستوى الديتل وهذا خطأ يجب وضع العلاقة على مستوى الماستر ثانيا شرط العلاقة خطأ شرط العلاقة الصح هو CARD.CONT_NUM = CONTRACT.CONT_NUM ثانيا يجب عليك تحديد العلاقة بين الجدولين عن طريق القيود كالتالي alter table CARD add constraint CARD_fk foreign key (cont_num) references contract (cont_num); ويجب عليك كتابة ترجير لكي يعمل ترقيم مباشرة عن طريق ترجير Pre_insert لكل بلوك كتالي بلوك الماستر begin select nvl(max(CONT_NUM),0)+1 into :contract.CONT_NUM from contract; end; بلوك الديتل begin select nvl(max(CARD_NUM),0)+1 into :CARD.CARD_NUM from CARD; end; وتكون النتيجة عند اضافة اول سجل وتكون النتيجة عند اضافة ثاني سجل والفورم تم معالجته وموجود في المرفقات CARDANDCONTRACT.rar تم تعديل 18 يناير 201412 سنة بواسطة miash80 تقديم بلاغ
بتاريخ: 18 يناير 201412 سنة كاتب الموضوع comment_245594 الله يوفقك ويجزاك خير ويرزقك من واسع فضله ادري ثقلت عليك ولكن تحملني شوي اخوي الكريم ولكن للان ما انحلت مشكلتي ما ابي ترقيم يدوي او ينزل في الكيبورد ابي تلقائي الله يوفقك تقديم بلاغ
بتاريخ: 18 يناير 201412 سنة comment_245596 اسف اخي العزيز الان فهمت المشكلة عليك الذهاب الى اخر حقل في بلوك CONTRACT وهو حقل END_DATE وأنشاء ترجير جديد وهو KEY-NEXT-ITEM وكتابة هذا الكود داخله GO_BLOCK('CARD'); declare v number; BEGIN v:=:CONTRACT.T_COBON; FIRST_RECORD; FOR REC IN 1..v LOOP :CARD.CUST_NUM :=:CONTRACT.CUST_NUM; :CARD.CON_DATE :=:CONTRACT.CON_DATE; :CARD.END_DATE :=:CONTRACT.END_DATE; :CARD.T_NUM :=:CONTRACT.T_NUM; next_record; END LOOP; END; first_record; على فرض وضعت عدد الكبونات 3 هذه هي النتيجة تم تعديل 18 يناير 201412 سنة بواسطة miash80 تقديم بلاغ
بتاريخ: 18 يناير 201412 سنة كاتب الموضوع comment_245598 مدري وش اقول لك اخوي الكريم اخجلتني بسرعة ردك ووضع المطلوب الله يوفقك دنيا واخره وتسلم يديك الله يرزقك بالدنيا والاخره شكرا لك تقديم بلاغ
بتاريخ: 19 يناير 201412 سنة comment_245627 مدري وش اقول لك اخوي الكريم اخجلتني بسرعة ردك ووضع المطلوب الله يوفقك دنيا واخره وتسلم يديك الله يرزقك بالدنيا والاخره شكرا لك العفو اخي الفاضل والحمدلله انو انحلت المشكلة ونحن في الخدمة اخي العزيز بأي سؤال تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.