بتاريخ: 21 يونيو 200817 سنة comment_131676 لدي نموذج بسيط فيه :tow block master and detailsاريد عندما اضيف سطر في الثاني ان تتغير قيمة حقل في الاول قمت بعمل ذلك ولكن بطريقة مزدوجة او مكررة - لاني عدلت القيمة برمجيا بتعليمة update وعدلتها ظاهريا على الفورم بتعليمة اسناد بسيطة والتعليمتين هما begin :students.st_balance := :students.st_balance - :paids.p_value; update students set students.st_balance = students.st_balance - :paids.p_value where students.st_id = :paids.student_id;end;اذا نفذت الاولى فقط تتعدل ظاهريا ولا تتعدل في قاعدة البيانات حتى وان عملت حفظ للبيانات لانه يقول ان لا تغيير في البيانات حصل وان نفذت الثانية فقط تتعدل في البيانات ولكنها لا تظهر في النموذج مباشرة وتحتاج لاغلاقه وفتحه مرة اخرى لتشاهد التغيير من الواضح اني قمت بتنفيذ الامر نفسه مرتين وهذا ضعف برمجي هل من طريقة لتعديلها في البيانات وعكسها على الفورم مباشرة او طريقة لتعديلها في الفورم وارسالها الى قاعدة البيانات ولكم جزيل الشكر تقديم بلاغ
بتاريخ: 21 يونيو 200817 سنة comment_131691 اخي الفاضلسؤالك غير واضح ولكن اذا اردت ان تخزن التعديل الذي عملته على الماستر ضع امر (commit) فيpost-change triger على مستوى البلوك ثم ضع الجملةupdate students set students.st_balance = students.st_balance - :paids.p_valuewhere students.st_id = :paids.student_id; تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.