الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

مشكلة في التقارير :(

مغلق
بدأه الأمل في 15 أبريل 2002 · 4 رد · 804 مشاهدة · في قواعد بيانات Oracle
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

أخواني ..

لدي مشكلة في اصدار التقارير ..

لدي نظام مخازن صغير

لدي جدول يحتوي على أسماء الموظفين و رموزهم

و جدول آخر يعرض محتويات المخزن و رموز الأشخاص اللذين استلموا طلباتهم و الأشخاص اللذين سلموا الطلبات!

يعني جدول المخزن يحتوي على:

المواد

رمز الشخص الذي اصدر و رمز الشخص الذي استلم ..

و جدول الأشخاص يحتوي على:

رمز الشخص و اسم الشخص ..

و الجدولين متصلين عن طريق رمزز الشخص ..

اريد ان اصدر تقرير .. من نوع Group above

ليعرض اسم الشخص المستلم وجميع المواد التي استلمها ..

و في نفس الوقت اسم الشخص الذي اصدر المواد !

قمت بأستخدام Formula Column لأنني اريد شخصين من نفس الجدول و لنفس الGroup!!

عندما انشأت الFormula

ظهر لي التالي:

Plsql fatal error!!

هل من الممكن اخباري ما الحل؟

و إذا ما قمت به صحيح ام لا؟

اعذروني لركاكتي في الكتابة

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

و هذا أول عمل اقوم به..

شكرا ,,

الأمل

#2

وينكم؟ :(

:(

#3

السلام عليكم ورحة الله وبركاته

الاخت الامل

ارجوا ان تخبريني عن بيانات الجدولين بالتفصيل

واسماء الحقوق وانواعها بالانجليزي

وماهو التقرير المطلوب منك بالتفصيل

عمر باعقيل

المدينه المنوره

baaqeel@msn.com

#4

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

شكرا للتفاعل ..

بالنسبة للجداول:

لنفترض بوجود الجداول التالية

Staff_details:

varchar2 staff_name

number staff_id

Item_details:

number Item_code

varchar2 Item_desc

number Issuer_id

number Receiver_id

------------------------

الآن .. اريد عرض تقرير يحتوي على التالي

Issuer_name

Receiver_name

with all the items the receiver took

و هذا يتطلب قراءة اسماء شخصين من جدول الStaff

بناءا على رموز الأشخاص في جدول الItems

To do this i did the following:

i added a formula column

and wrote the following for the issuer_name for example:

========================

function CF_1Formula return char is

Issuer_Name varchar2(500);

begin

select staff_name into issuer_name from staff_details where

staff_id = :issuer_ID;

return issuer_name;

end;

==========================

and it gave me the following error when i run the report:

Rep-1401:'cf1_formula' fatal pl/sql error

شكرا لصبركم

و اعذروني لأزعاجي

أختكم

الأمل

#5

السلام عليكم ورحمة الله وبركاته

الاخت الامل

بناء على بيانات الجدولين التى ذكرتيهم

والتقرير الذي تريده , فلقد قمت بعمله والحمد لله والطريقه هي :

- نقوم بتشغيل الReport Builer وسوف تظهر شاشة Welcome to Report Builder

ونختار منها Build a new repoert manually .

- ننتقل الى شاشة ال Data Model ونضغط على زر SQL Query ثم تقوم بالضغط على أي

مكان في الData Model وسوف تظهر شاشة ال SQL Query Statement ونكتب بها :

[code/]

select Issuer_id ,Receiver_id ,Item_code from Item_details;

[code2/]

ستظهر شاشة الاتصال بقاعدة البيانات , نقوم بالاتصال بقاعده البيانات ثم نضغط زر OK .

- في نفس شاشة ال Data Model نقوم بإضافة عدد 2 من ال Formula Column في داخل

المستطيل الاصفر الذي تم إنشاءه بعد ما كتبنا جمله الSQL واتصلنا بقاعدة البيانات .

- نقوم بالضغط بالماوس يمين على ال Formula Column الاول

والذي قد يكون إسمه CF_1 ونختار من القائمه التى ستظهر Property Palette

وهكذا ننتقل الى شاشة خصائص هذا ال Formula Column .

- نقوم بتعديل الخصائص التاليه:-

Name -> Issuer_name

Datatype -> character

ومن ثم نضغط على الزر المقابل PL/SQL Formula ونكتب التالي :-

[code/]

function Issuer_nameFormula return Char is

name varchar2(40);

begin

select staff_name into name from Staff_details

where staff_id =:Issuer_id ;

return(name);

end;

[code2/]

ثم نضغط على زر Compile .

- نعود الى شاشة الData Model وذلك بالضغط على زر F2 .

- نقوم بالضغط بالماوس يمين على ال Formula Column الثاني

والذي قد يكون إسمه CF_2 ونختار من القائمه التى ستظهر Property Palette

وهكذا ننتقل الى شاشة خصائص هذا ال Formula Column .

- نقوم بتعديل الخصائص التاليه:-

Name -> Receiver_name

Datatype -> character

ومن ثم نضغط على الزر المقابل PL/SQL Formula ونكتب التالي :-

[code/]

function Receiver_nameFormula return Char is

name varchar2(40);

begin

select staff_name into name from Staff_details

where staff_id =:Receiver_id ;

return(name);

end;

[code2/]

ثم نضغط على زر Compile .

- نعود مرة أخرى الى شاشة الData Model وذلك بالضغط على زر F2 .

- نقوم بتشغيل الReport Wizard وذلك بالضغط على Tools ومن ثم Report Wizard من شريط الادوات .

- في الReport Wizard نقوم بالضغط على Next ثم Next ثم Next ثم نختار الحقول المراد ظهورها في التقرير

وعلى حسب الترتيب المطلوب ثم نضغط على زر Next ثم Next ثم Next ثم نختار No template ثم Finish .

وسوف يعمل التقرير بناء على ماطلب منك إن شاء الله .

عمر باعقيل

المدينه المنوره

baaqeel@msn.com

هذا الموضوع مغلق.

مواضيع مشابهة