الانتقال إلى المحتوى
View in the app

A better way to browse. Learn more.

مجموعة مستخدمي أوراكل العربية

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

طلب مساعدة ... اريد عمل دالة بمجرد الضغط على زر يقوم بحساب مجموع

Featured Replies

بتاريخ:

 

نفترض هدا هو الجدول


CREATE TABLE avance
(annee varchar2(5),
doti number(15),
nom_comp VARCHAR2(30),
cin varchar2(10),
cadre varchar2(80),
echlon number(2),
dat_effe_ech date,
echlon_propose number(2),
note_der number(2,2),
note_ins number(2,2),
note_del number(2,2),
note_total number(2,2));

السؤال اريد عمل دالة بمجرد الضغط على زر يقوم بحساب مجموع النقط وادخالهلما في note_total

note_total=note_der+note_ins+note_del/3

اليكم النمودج

²photo.rar

avance.rar

MODULE1.rar

تم تعديل بواسطة ميسم الكرام

بتاريخ:

هذا هو الكود اخي العزيز

declare

cursor c is
select *
from avance;
v  c%rowtype;

tot number;
begin
open c;
loop
fetch c
into v;
 tot := (v.note_der +v.note_ins+v.note_del)/3;
update avance
set note_total= tot
where doti=v.doti;

  commit;
exit when c%notfound;
  end loop;
close c;
 end;

تم تعديل بواسطة miash80

بتاريخ:
  • كاتب الموضوع
declare

cursor c is
select *
from avance;
v c%rowtype;

tot number;
begin
open c;
loop
fetch c
into v;
tot := (v.note_der +v.note_ins+v.note_del)/3;
update avance
set note_total= tot
where doti=v.doti;

commit;
exit when c%notfound;
end loop;
close c;
end;

اخي مش شغالة اضغط على الزر ودون احادث تغيير في حقل note_total وان الفورمة تتوقف عن التشغيل

تم تعديل بواسطة ميسم الكرام

بتاريخ:
declare

cursor c is
select *
from avance;
v c%rowtype;

tot number;
begin
open c;
loop
fetch c
into v;
tot := (v.note_der +v.note_ins+v.note_del)/3;
update avance
set note_total= tot
where doti=v.doti;

commit;
exit when c%notfound;
end loop;
close c;
end;

اخي مش شغالة اضغط على الزر ودون احادث تغيير في حقل note_total وان الفورمة تتوقف عن التشغيل

 

 

 

اخي العزيز  الكود شغال على SQL Plus  

 

اما اذا كنت تريد تشغيله على الفورم ما عليك سو التغير في الكود كالتالي

 declare
 	
 	
 begin
 	
 	go_block('avance');
 	first_record;
 for rec in
 (select *
 from avance)loop
 	
 	
 	 :note_total :=(:note_der+:note_ins+:note_del)/3;
 
 	 next_record;
 	 
 end loop;
 commit;
 end;
 first_record;
 	 

تم تعديل بواسطة miash80

انضم إلى المناقشة

يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.

زائر
أضف رد على هذا الموضوع...

برجاء الإنتباه

بإستخدامك للموقع فأنت تتعهد بالموافقة على هذه البنود: سياسة الخصوصية

Account

Navigation

البحث

إعداد إشعارات المتصفح الفورية

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.