الانتقال إلى المحتوى
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

بتاريخ:

هل يمكن تعديل هذا الكود بشكل أكثر ديناميكيه ومرونه لتقليل الكود وامكانيه اضافه متغيرات مستقبليه

هل يمكن كتابه كود حساب التكلفه بشكل ديناميكي ومرن اكثر


لدينا جدولين
الجدول الاول
ROOMS
DESC ROOMS :

ROOM_ID --PK
NO_OF_BEDS
DEGREE
COST_BED
COST_DAY
PUSSY_B
PUSSY_R


الجدول الثاني
SC_RO -- SCHEDUL_ROOMS
DESC SC_RO

ROOM_ID --FK
NO_OF_BEDS
START_DATE
END_DATE
ST_OF_PAT
P_ID



اذا
تحوي الفورم
MASTER-DETAIL FORM

وهناك زر يضغط عليه
ليتم حساب التكلفه في
TEXT_ITEM
اسمه
COST


DECLARE

COB VARCHAR2(30);
COD VARCHAR2(30);
COST NUMBER(6);
BEGIN
COB := :ROOMS.COST_BED ; 
COD := :ROOMS.COST_DAY ;
COST := :DB_NO.COST ;


--التكلفه المطلوبه من العميل ل 1 يوم

IF  :SC_RO.END_DATE - :SC_RO.START_DATE = 1 THEN 
IF :SC_RO.NO_OF_BEDS = 1   THEN
COST := 	COST+ COB;
ELSE IF :SC_RO.NO_OF_BEDS = 2 THEN 
	COST := COST+ COB*2;
ELSE IF :SC_RO.NO_OF_BEDS = 3 THEN 
	COST := COST+ COB*3;
ELSE IF :SC_RO.NO_OF_BEDS = 4 THEN 
	COST := COST+ COB*4;
ELSE IF :SC_RO.NO_OF_BEDS = 5 THEN 
	COST := COST+ COB*5;
ELSE
MESSAGE( 'THERE ARE NO MORE BEDS THAN 5' );
 MESSAGE( 'THERE ARE NO MORE BEDS THAN 5' );
END IF;
END IF;

--=================================
--التكلفه المطلوبه من العميل ل 2 يوم
IF  :SC_RO.END_DATE - :SC_RO.START_DATE = 2 THEN 
COB := COB*2
IF :SC_RO.NO_OF_BEDS = 1   THEN
COST := 	COST+ COB;
ELSE IF :SC_RO.NO_OF_BEDS = 2 THEN 
	COST := COST+ COB*2;
ELSE IF :SC_RO.NO_OF_BEDS = 3 THEN 
	COST := COST+ COB*3;
ELSE IF :SC_RO.NO_OF_BEDS = 4 THEN 
	COST := COST+ COB*4;
ELSE IF :SC_RO.NO_OF_BEDS = 5 THEN 
	COST := COST+ COB*5;
ELSE
MESSAGE( 'THERE ARE NO MORE BEDS THAN 5' );
 MESSAGE( 'THERE ARE NO MORE BEDS THAN 5' );
END IF;
END IF;

--=================================
--التكلفه المطلوبه من العميل ل 3 يوم
IF  :SC_RO.END_DATE - :SC_RO.START_DATE = 3 THEN 
COB := COB*3
IF :SC_RO.NO_OF_BEDS = 1   THEN
COST := 	COST+ COB;
ELSE IF :SC_RO.NO_OF_BEDS = 2 THEN 
	COST := COST+ COB*2;
ELSE IF :SC_RO.NO_OF_BEDS = 3 THEN 
	COST := COST+ COB*3;
ELSE IF :SC_RO.NO_OF_BEDS = 4 THEN 
	COST := COST+ COB*4;
ELSE IF :SC_RO.NO_OF_BEDS = 5 THEN 
	COST := COST+ COB*5;
ELSE
MESSAGE( 'THERE ARE NO MORE BEDS THAN 5' );
 MESSAGE( 'THERE ARE NO MORE BEDS THAN 5' );
END IF;
END IF;

--=================================
--التكلفه المطلوبه من العميل ل 4 يوم
IF  :SC_RO.END_DATE - :SC_RO.START_DATE = 4 THEN 
COB := COB*4
IF :SC_RO.NO_OF_BEDS = 1   THEN
COST := 	COST+ COB;
ELSE IF :SC_RO.NO_OF_BEDS = 2 THEN 
	COST := COST+ COB*2;
ELSE IF :SC_RO.NO_OF_BEDS = 3 THEN 
	COST := COST+ COB*3;
ELSE IF :SC_RO.NO_OF_BEDS = 4 THEN 
	COST := COST+ COB*4;
ELSE IF :SC_RO.NO_OF_BEDS = 5 THEN 
	COST := COST+ COB*5;
ELSE
MESSAGE( 'THERE ARE NO MORE BEDS THAN 5' );
 MESSAGE( 'THERE ARE NO MORE BEDS THAN 5' );
END IF;
END IF;

--=================================
----التكلفه المطلوبه من العميل ل 5 يوم

IF  :SC_RO.END_DATE - :SC_RO.START_DATE = 5 THEN 
COB := COB*5
IF :SC_RO.NO_OF_BEDS = 1   THEN
COST := 	COST+ COB;
ELSE IF :SC_RO.NO_OF_BEDS = 2 THEN 
	COST := COST+ COB*2;
ELSE IF :SC_RO.NO_OF_BEDS = 3 THEN 
	COST := COST+ COB*3;
ELSE IF :SC_RO.NO_OF_BEDS = 4 THEN 
	COST := COST+ COB*4;
ELSE IF :SC_RO.NO_OF_BEDS = 5 THEN 
	COST := COST+ COB*5;
ELSE
MESSAGE( 'THERE ARE NO MORE BEDS THAN 5' );
 MESSAGE( 'THERE ARE NO MORE BEDS THAN 5' );
END IF;
END IF;

--=================================


END;



وماهو سبب ظهور
error

عندما اعمل للفورم
run

يمكن تكميل الفورم من هنا
http://www.2shared.c...OM_BOOKING.html

بتاريخ:

السلام عليكم
طبعا يمكن تقليل هذا الكود بطريقة تانية
بس انا معرفتش افتح الفورم لانها على 10 و انا شغال 6
عشان كدا مش عارف اشوف سبب المشكلة
ان شاء الله هقولك وابعتلك الكود الجديد فى ملف نصى
يفضل ارسال ايميلك عشان ابعتلك عليه الملف
معكم ولكم نتواصل
م احمد

بتاريخ:

السلام عليكم
--------
اخى اذا اردت ان يكون الكود اكثر ديناميكية
انصحك تعمل function
بتاخد رقم العميل وتاريخ البداية وتاريخ النهاية
وترجع التكلفة .

بتاريخ:


ممكن ترفع الفورمة على سيرفر تانى .. او على المنتدى

بتاريخ:

جرب يا اخى كود ال booking بعد التعديل يارب اكون افدتك

اختك شيرين

DECLARE
COB VARCHAR2(30);
COD VARCHAR2(30);
COST NUMBER(6);
BEGIN
COB := :ROOMS.COST_BED ; 
COD := :ROOMS.COST_DAY ;
COST := :DB_NO.COST ;
COB:=COB*(:SC_RO.END_DATE - :SC_RO.START_DATE );
IF :SC_RO.NO_OF_BEDS<=5 THEN
COST:=COST+COB*:SC_RO.NO_OF_BEDS;
ELSE
	MESSAGE( 'THERE ARE NO MORE BEDS THAN 5' );
   MESSAGE( 'THERE ARE NO MORE BEDS THAN 5' );
END IF;
END;



ضع الكود فى زر ال booking

  • بعد 3 أسابيع...
بتاريخ:
  • كاتب الموضوع

جزاكم الله خير

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

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

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

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

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

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.