بتاريخ: 18 أبريل 200619 سنة comment_66663 السلام عليكم ورحمة الله وبركاتهلو كان يوجد في الفورم بلك بيانات اسمه emp ويحتوي علي عمود اسمه id وعند عمل run لبلك البيانات ومن ثم عمل insert لو أردنا أن تظهر قيمة id للسجل التالي كما يليmax(id)+1 from empفكيف يتم كتابة هذه الصيغة في الفورم ، وأين يتم كتابتهاجزاكم الله كل خير تقديم بلاغ
بتاريخ: 18 أبريل 200619 سنة comment_66664 بسم الله الرحمن الرحيمالسلام عليكم ورحمة الله وبركاته أخي الكريم يوجد أكثر من طريقة واحدة منها when new_record_instanceونضع داخله الكودالثاني قبل تخزين الفورم تضع trigger على مستوى الdatablockpre_insert ولكن يجبب أن تعمل الحقل وهو الid خاصية الrequierd no تقديم بلاغ
بتاريخ: 18 أبريل 200619 سنة comment_66672 السلام عليكم لعمل هذه لايجب استخدام تريدر when-new-record-instance لانه يفاير ايضا عند النقل بين الريكوردز عند الكويري و سيتسبب في مشاكل يفضا ان تضع الكود في تريجر key-crerecكالاتي SELECT NVL(MAX(ID),0)+1 INTO :MP.ID FROM EMP; او في تريجر PRE-INSERT علي مستوي البلوك طبعا مع تغيير خاصية الايتم REQUIRED إلى NOكما ذكر الاخ الكريم و عمل حقل الID ديسبلاي ايتم او NOT ENABLED TEXT ITEM بالتوفيق تقديم بلاغ
بتاريخ: 19 أبريل 200619 سنة comment_66804 على حسب المطلوب منك اذا كنت تريد ان تضع القيمة للحفظ فيجب ان تكون فى post_insert علي مستوى block لانه اذا كان فى خلاف هذا وكان يعمل اكثر من شخص عند الادخال سوف يظهر error لانه سوف يكون هناك تعارض فى عدد السجلات المفتوحة لهذا الحقل اما فى post_insert يضع القيمة عند الادخال والحفظ فقطبالنسبة الى الطريقة اذا كان الحقل id من نوع number SELECT NVL(MAX(ID),0)+1 INTO :MP.ID FROM EMP; اما اذا كان من نوع char يكون كالتالي SELECT MAX(NVL(TO_NUMBER(ID,0)) + 1) INTO :ID FROM EMP; وان شاء الله تعمل تقديم بلاغ
بتاريخ: 20 أبريل 200619 سنة comment_66861 السلام عليكم الاخ khalideedتريجر post-insert يفاير أثناء عملية الحفظ و بعد إدخال السجل في قاعدة البيانات و بما ان الحقل المطلوب عمل اوتوماتيك برايمري كي هو حقل required و لا يقبل null فعملية الإدخال لن تتم بصورة صحيحة و يجب وضع الكود الذي كتبته في تريجر pre-insert و ليس post-insert و مرفق بيانات تعريف التريجر post-insert بالتوفيق DescriptionFires during the Post and Commit Transactions process, just after a record is inserted. It fires once for each record that is inserted into the database during the commit process. Definition Level form or block Legal CommandsSELECT statements, DML statements (DELETE, INSERT, UPDATE), unrestricted built-ins Enter Query Mode no Usage NotesUse a Post-Insert trigger to audit transactions. On FailureForm Builder performs the following steps when the Post-Insert trigger fails: n sets the error location n rolls back to the most recent savepoint Fires InPost and Commit Transactions See Process Flowcharts تقديم بلاغ
بتاريخ: 23 أبريل 200619 سنة كاتب الموضوع comment_67083 السلام عليكم ورحمة الله وبركاتهأرفق لكم الملف الذي أطبق عليه وهو عبارة عن قاعدة بيانات لقيود محاسبية ودليل حسابات قمت بإنشائها علي 10g وذلك للتعلم من خلالها على الفورموجزاكم الله كل خير وبارك لكم في أعمالكم تقديم بلاغ
بتاريخ: 23 أبريل 200619 سنة comment_67086 مشكوووور يا اخ jamal_rrkk على هذه المشاركة المميزة ولو انزلتها في منتدى المشاريع لكان افضل ليستفيد منها الجميعوبارك الله فيك ... تقديم بلاغ
بتاريخ: 23 أبريل 200619 سنة comment_67126 الاخ الكريم HONAN جزاك الله خير كل المعلومات التي قلتها صحيحة ولكن يبدا اننى اخطأت بدون قصد وكتبت POST-INSERT ولكن كما قلت وتفضلت هو PRE-INSERT هو الصحيح واسف على الخطأ غير المقصود تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.