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

Formula Column

Featured Replies

بتاريخ:

إخواني الكرام ، تحية طيبة وبعد ،

أنا أول مرة أستخدم الـ Formula ياريت حد يوضحلي مشكلتي .

أنا أرغب في إنشاء Parameter يتم إستقبالة بداخل الـ Formula ، حيث أنني أرغب في إستقبال إسم المستخدم عن طريقة . لكن في نفس الوقت أنا لسة في الأول فأحببت أن أضع مثال بسيط وهو إنشاء Formnula ترتجع قيمة رقمية كما يلي :

function CalcFormula return Number is
begin
 Return 1500;
end;



في قسم Formula Columns ، ولكن للأسف تعرض لي رسالة خطأ غير مفهومة أثناء تشغيل التقرير Ctrl+R ( أنظروا المرفق ) .


لكن في الوضع الحالي ، أنا أرغب في معرفة إرسال باراميتر ولكنني لا أرغب في إستخدامة بجملة Select كما يلي :

Select * From Emp Where Emp_ID = :P1;



ولكنني أرغب في جلب إسم المستخدم ( مثلاً ) من النموذج وكنت أحب أن أستخدم Formula كما يلي :

function F_USERNAMEFormula return Char is
begin
 Return _UserName;
end;




فياريت توضحولي كيف أحل هذه المشكلة ، وكيف يمكنني التعامل مع Formula الخاصة بالأوراكل وإستقبال بارامياترات من مكان آخر غير جمل السيكوال المرتبطة للـ Groups .

أنا آسف إخواني ، أنا كنت أتعامل مع Crystal Report وفاهم فكرة الـ Formula و الـ Parameters ولكنني غير قادر مقدرة تامة من داخل الأوراكل فياريت أجد مساعدتكم




شكراً

Error.zip

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

شكراً ، إنحلت المشكلة بمشيئة الله تعالي ،

ولكن مشكلة الـ Formula ماذالت موجودة

فرجاء مساعدتي في حل مشكلة الـ Formula


شكراً

بتاريخ:

1- you have to create a parameter in the report navigator under Data Model> user parameters : p_username
2- pass the value of username from the calling form where you call the report and show it in the report layout

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

شكراً أخي الكريم ، وهذا هو فعلاً ما فعلتة ،

حيث فعلياً كانت مشكلتي مع الباراميتر في باديء الأمر ،

لكن أخي الحمد لله قد إنحلت مشكلتي بعد عناء شديد مع نفسي ، أما مشكلتي الآن هي كيفية بناء باراميتر وإستخدامها داخل Formula خاص !!!

بمعني أدق ،

أنا كنت أنشاً Formula من داخل الكريستال يستقبل باراميتر ، فيأخذ قيمة الباراميتر ومن ثم أقوم بإجراء معالجة علية ثم أعرضة للمستخدم .

فكرة الـ Formula مفهوم عملها ، ولكن المشكلة أخي أنه يعرض لي كل مرة رسالة غبية لا أفهمها

أنظر المرفق ، لعلي وعسي أن تفهمها وأجد الحل

والمرف به صوة الخطأ ، حيث أنني قمت بإنشاء Formula يرتجع قيمة نصية Return ، ولكنني في حالة عدم إدراج أي كود PL/SQL من الطبيعي أنة يعطي لي خطأ رقم ( 1 ) ، أما في حالة إرتجاع قيمة فيعطي لي خطأ رقم ( 2 ) ----> أنظر المرفق

function f1Formula return Char
is
 x   Char(50);
begin
x := 'Mostapha Mahmod Abd El-Salam';
 return x;
end;



ولكنني لا أعلم أين الخطأ في الكود السابق ،


شكراً للجميع

Error.zip

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

إخواني ، ياريت توضحولي الخطأ لو سمحتم

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

بتاريخ:

الأخ / مصطفى

اعتقد ان القيمة المسترجعه بأمر الreturn
يجب ان تكون بين قوسين

function f1Formula return Char
is
 x   Char(50);
begin x := 'Mostapha Mahmod Abd El-Salam';
 return (x);
end;

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

والله يا أخي أنا حاولت كل الطرق ولكن بدون نتيجة !!!

قمت بإنشاء Formula بأكثر من شكل وأكثر من طريقة ، حتي أنني نسخت الكود الذي تكرمت بكتابتة ولكن يعرض لي نفس النتيجة !!!

ياريت تنظر الي المرفق حيث يحتوي علي ملف التقرير ( Report 6 ) وصورة الخطأ وملف الجدول المرتبط بالتقرير


أتمني الرد سريعاً


شكراً علي مرورك

وجزاك الله كل الخيرات

Simble.zip

  • بعد 1 شهر...
بتاريخ:

السلام عليكم.

أخ مصطفى رسالة الخطأ التي تظهر قد يكون لها سببين:

الأول: أنك قمت بعمل TRIGGER أو FUNCTION ولم تقوم بعمل COMPILE.
الحل: مراجعة كل TRIGGER و FUNCTION وعمل COMPILE لهم.

الثاني: أنك قمت بعمل TRIGGER أو FUNCTION وقمت بالفعل بعمل COMPILE ثم وجدت بعد ذلك أنها ليست لها فائده فقمت بحذفها يدوياً (وليس بإستخدام زرار DELETE) .
الحل: إبحث عن هذه ال FUNCTION أو TRIGGER ثم أدخل عليها ستجدها فارغه (لأنك قمت بحذفها قبل ذلك يدوياً) ومع ذلك إضغط على زرار الحذف الموجود ضمن قائمة الزراير. أو ريح نفسك وأحذفها من الخارج في ال OBJECT NAVIGATOR من خلال الوقوف عليها ثم إضغط علامة الحذف. أما إذا ظهرت مشكله أخري أرسلها والله المعين....

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

أخ مصطفى رسالة الخطأ التي تظهر قد يكون لها سببين:

الأول: أنك قمت بعمل TRIGGER أو FUNCTION ولم تقوم بعمل COMPILE.
الحل: مراجعة كل TRIGGER و FUNCTION وعمل COMPILE لهم.

الثاني: أنك قمت بعمل TRIGGER أو FUNCTION وقمت بالفعل بعمل COMPILE ثم وجدت بعد ذلك أنها ليست لها فائده فقمت بحذفها يدوياً (وليس بإستخدام زرار DELETE) .
الحل: إبحث عن هذه ال FUNCTION أو TRIGGER ثم أدخل عليها ستجدها فارغه (لأنك قمت بحذفها قبل ذلك يدوياً) ومع ذلك إضغط على زرار الحذف الموجود ضمن قائمة الزراير. أو ريح نفسك وأحذفها من الخارج في ال OBJECT NAVIGATOR من خلال الوقوف عليها ثم إضغط علامة الحذف. أما إذا ظهرت مشكله أخري أرسلها والله المعين....



شكراً أخي علي الرد ، ولكن عفواً أخي ، حيث تم حل مشكلتي من قبل بواسطة إحدي أصدقائنا بالمنتدي !!!

لكن بجد ، جزاك الله كل خير ، ويارب يارب يارب دايماً بالتوفيق




شكراً
بتاريخ:

السلام عليكم.

وجزاك الله بكل خير أيضاً. والحمد لله أن المشكله قد تم حلها. وأتمنى لك كل خير

  • بعد 1 شهر...
بتاريخ:

function CalcFormula return Number is
begin
return (1500)
end;

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

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

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

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

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

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.