بتاريخ: 12 يونيو 201115 سنة comment_213069 مرحبا شبابرجاءا من جميع الشباب لانهم بساعدوني فى حل مشكلة عندي بالفورمانا عندي فورم ومحتاج بدخل اكتر من ريكورد واحد بنفس الوقت من خلال (check box) يعني مثلا انا محتاج بمجرد ما بحدد كل السجلات الانا بدي اياها من خلال بعدها بقوم الرنامج بحفظهم مع بعض مرة وحده (check box) بمعني بدل ما بحفظ سجل وبعدين سجل وبعدين سجل وهكذا وعشان كدا انا عايز بمجرد ما بحدد الريكود من خلال (check box) فانه بيقوم النظام بحفظهم مرة وحدهوشكرا الكم اكتير ياشباب تقديم بلاغ
بتاريخ: 12 يونيو 201115 سنة comment_213071 السلام عليكمهل جربت استخدام الامر commit مرة واحدة ولم يتم الحفظ؟؟معكم ولكم نتواصلم احمد تقديم بلاغ
بتاريخ: 13 يونيو 201115 سنة كاتب الموضوع comment_213119 طبعا انا جربت commit وكان بحفظ عادي وبدون مشاكل لكن النظام بحفظ بس سجل واحد (RECORD) وبسلكن انا بدي بحفظ اكتر من سجل (RECORD) بنفس الوقت من خلال تحديدنا ل (CHECK BOX)وانا بعرف لانه بتم باستخدام ال(LOOP)يعني مثلا نفترض لانه اسم البلوك بالفورم (EMP) ونفترض كمان لانه اسم ال (ITEM) تبع ال (CHECK BOX) هو بكون (CK_SEND) بحيث نحكي لانه اذا كان محدد عليه علامة صح فيقوم بحفظ ال (RECORD) ولو غلط ما بطلع مسج بقول لانه يجب تحديد قبل الحفظبكون الكود كالتايي BEGIN GO_BLOCK('EMP'); FIRST_RECORD ; LOOP IF :EMP.CK_SEND = 1 THEN COMMIT; Exit when :SYSTEM.LAST_RECORD ='TRUE'; if :SYSTEM.LAST_RECORD <>'TRUE' then next_record; end if; IF SUCCESS_FORM THEN MESSAGE('تم الحفظ بنجاح'); ELSE MESSAGE('لا تحفظ '); END IF; ELSE MESSAGE (يجب التحديد اولا); raise form_trigger_failure; END IF; EMD LOOP; END; end loop; يرجي تصحيح الكورد وشكرا جزيلا تقديم بلاغ
بتاريخ: 13 يونيو 201115 سنة comment_213128 شوف يا مهند لو انت شغال على DATABASE BLOCK(يعني الخاصية بتاعت البلوك "DATABASE DATA BLOCK" = TRUE)فالموضوع بسيط تضغط حفظ مرة واحدة بيحفظ الجميع الا اذا كان في مشكلة في PK(يعني حقل او حقول PK غير خالية NULLولا القيمة المدخلة ادخلت من قبل)او احد الحقول معمولة NOT NULL وانت سبتها فاضية. تقديم بلاغ
بتاريخ: 13 يونيو 201115 سنة comment_213141 بص يا سيدى اولا ما ينفعش تعمل البلوك اللى انت شغال عليه Database Block لان امر ال commit حايعمل حفظ لكل التغيرات اللى حصلت بدون شرط ال check box يبقى حاتعمله Non Database Block وبعدين فى الوقت تقدر تستعمل الكود اللى جاى وتتحط كود Insert للركود وتعمل الحفظ بعد ما تظيف كل الركورد فى الداتابيز وكله ده انا ضايفه فى الكود لو فى اى سؤال انا تحت امرك ولو اشتغلت معاك ابقى بلغنى وربنا يوفقكBEGINGO_BLOCK('EMP');FIRST_RECORD ;LOOPIF :EMP.CK_SEND = 1 THENMake insert command here with the record that meet your conditionExit when :SYSTEM.LAST_RECORD ='TRUE';if :SYSTEM.LAST_RECORD <>'TRUE' thennext_record;end if;IF SUCCESS_FORM THENcommit;MESSAGE('تم الحفظ بنجاح');ELSEMESSAGE('لا تحفظ ');END IF;ELSEMESSAGE (يجب التحديد اولا);raise form_trigger_failure;END IF;EMD LOOP;END;end loop;Best regards, Eng. Saeed H. KeshkSystem Analyst - Riyadh MunicipalityMobile KSA : (+966 54) 023-3171Mobile EGYPT : (+2 012) 426-6883 تقديم بلاغ
بتاريخ: 14 يونيو 201115 سنة comment_213163 يا ريت تبعث الفورم علشان يكون المطلوب واضحلأن البلوك الذي على قاعدة البيانات يختلف التعامل معه عن البلوك غير معتمد على قاعدة البياناتايضا COMMINT_FORM تعملى على حفظ البيانات التي على الشاشة لكن COMMIT تعمل على حفظ التغيرات التي تحديث على جدول في قاعدة البيانات بمعزل عن الفورم. يعني ممكن يتحدث شئ في قاعدة البيانات فيما تظل القيمة القديمة على القيمة القديمة قبل التحديث ، لذا فهي تحتاج الى ريفريش بأكثر من طريقة.ننتظر ردك كي نفيدك. تقديم بلاغ
بتاريخ: 14 يونيو 201115 سنة كاتب الموضوع comment_213171 السلام عليكممعلش ياباش مهندس اذا تاخرت بالردعموما انا جربت الكلام الحكيتو وطبقتو بحيث انا جعت ال DATA BASE BLOCK = NOوكمان غيرت بالكود وكتبت نفس ما حكتلى بس ما اشتغل عموما انا رح ببعتلك الفورم وهي عبارة عن فورمينبحيث واحده منهم وهي الرئيسئة اسمها (SERV_MENU) والشاشة التانية والانا عم بشتغل عليها والبتخص عملية تسجيل الكتب او بمعنى ادخال البيانات اسمها (BOOK_REG)طبعا الكود بوجود بشاشة الفورم (BOOK_REG) بداخل ال (BUTTON) حفظ الموجود بداخل الشاشة والكود هو BEGIN GO_BLOCK('BOOK_REG'); FIRST_RECORD ; LOOP IF :BOOK_REG.CK_SEND = 1 THEN INSERT INTO BOOK_REG (BOOK_ID,BOOK_DATE,TO_IMP_DIR_ID,F_IMP_DIR_ID,TO_EMP_NO,OBJECTS,FROM_EMP) VALUES (:BOOK_REG.BOOK_ID,:BOOK_REG.BOOK_DATE,:BOOK_REG.TO_IMP_DIR_ID,:BOOK_REG.F_IMP_DIR_ID,:BOOK_REG.EMP_NO,:BOOK_REG.OBJECTS,:GLOBAL.USERID); Exit when :SYSTEM.LAST_RECORD ='TRUE'; if :SYSTEM.LAST_RECORD <>'TRUE' then next_record; end if; IF FORM_SUCCESS THEN COMMIT; MESSAGE('it ok saved'); ELSE MESSAGE('no saved'); END IF; ELSE MESSAGE ('CHECK ON CHECK BOX'); raise form_trigger_failure; END IF; END LOOP; END; تقديم بلاغ
بتاريخ: 14 يونيو 201115 سنة كاتب الموضوع comment_213172 معلش انا ما قدرت ببعتلك الفورم لانه كل ما بحاول برفعو النظام هنا عم برفضو لكن انا بعتلك الكود وكمان حكيتلك لانه ال (DATABASE BLOCK = NO ) فى داخل البلوكشكرا جزيل تقديم بلاغ
بتاريخ: 14 يونيو 201115 سنة comment_213190 what the error you facedBest regards,Eng. Saeed H. KeshkSystem Analyst - Riyadh MunicipalityMobile KSA : (+966 54) 023-3171Mobile EGYPT : (+2 012) 426-6883 تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.