الانتقال إلى المحتوى

تقرير فيه بيانات ثابتة


bombam

Recommended Posts

السلام عليكم....
أريد انا أعمل تقرير يحتوي على جدول فيه 20 سطر في حالة وجود بيانات يمكن تعبئتها وفي حالة عدم وجود تبقى هذه الأسطر فارغة فمن يعرف ذلك الرجاء مساعدتي وشكرا للجميع

رابط هذا التعليق
شارك

الاخ الكريم
ماهو الفائدة من الكتابة اليدوية اذا كنت تستخدم التقرير لاستخراج البيانات
لماذا لا تصممه على مايكروسوفت ورد مثلا وتطبعه
والتقرير للبيانات
؟؟؟؟؟
ممكن توضح

رابط هذا التعليق
شارك

أنا قصدي انه مثلا بدي اطبع فاتورة ولا أريد أن تكون الفاتورة مصممة على الورق أريد ان أدخل ورقة بيضاء وأطبع الفاتورة بنفس الشكل سواء كانت البيانات المستخرجة من قاعدة البيانات عبارة عن سجل واحد او اكثر

رابط هذا التعليق
شارك

فائدة قاعدة البيانات هي تخزين بيانات الفواتير وعندما اريد ان اطبع الفاتورة اريدها بشكل معين وثابت يعني لو كان هناك صنف واحد في الفاتورة اريد البيانات تخرج في المربع الاول وتبقى باقي المربعات فارغة واذا كان هناك اكثر من صنف تعبأ المربعات بالبيانات وأنا أريد ان أدخل في الطابعة ورقة أبيض وليس ورق مخطط

رابط هذا التعليق
شارك

الاخ الكريم
يوجد طريقة ممكن تجد اللي تبغاه يعني هذا اقتراح ممكن يوصلك للحل
انك تثبت عشرين سطر وعشرين field
وتعمل select مثلا للمفتاح الرئيسي من خلال ال query في
data model
ثم تعمل formula تعمل فيها احضار لباقي البايانات حسب رقم المنتج مثلا كالتالي

counter_c number;
cursor c is
select item,cose,item_name from items where item=:item;
begin counter_c:=0
for i in c loop
counter_c:=counter_c+1;
if counter_c =1 then
:cost1 :=i.cost;
:item_name1:=i.item_name;
elsif counter_c =2 then
:cost1 :=i.cost;
:item_name1:=i.item_name;
....

end if;
end loop;
return (null);
end;

رابط هذا التعليق
شارك

اول شي شكرا على المتابعة من الجميع
لكن يبدو انه ما فيه حد فاهم شو هو سؤالي

الان انا عندي فاتورة الفاتورة مقسمة على أساس انه يدخل فيها 10 أصناف مثلا انا لما ادخل ال10 اصناف ما فيه مشكلة الأسطر بتطلع عادي لكن لو دخلت مثلا 5 اصناف بيطلع عندي في الفاتورة 5 أسطر والباقي يبقى أبيض

أنا اريد أن أن يطلع 10 أسطر ال5 فيهم بيانات الأصناف والخمسة الاخرين فارغين بذلك تطلع الفاتورة مسطرة

رابط هذا التعليق
شارك

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

رابط هذا التعليق
شارك

  • بعد 3 سنة...

عزيزى اليك هذا الحل:

SELECT A.ITEM_NO,A.QTY FROM INVOICEV A WHERE
A.INVOICE_NO=:INVOICE_NO
UNION ALL
select 0,0 from (select invoice_no,count(*) invoice_lines from invoices group by invoice_no), looper
where loop_id > invoice_lines AND INVOICE_NO=:INVOICE_NO

يجب اضافة جدول looper به حقل واحد اسمه loop_id واذا كنت عايز عشرة اسطر يجب ادخال بيانات من واحد الى عشرة فى جدول LOOPER

هذا الحل انا شغال بيهو ومافيهو اى مشكلة

تم تعديل بواسطة المكابرابى
رابط هذا التعليق
شارك

CREATE TABLE INVOICE
(
 INVOICE_NO  NUMBER(10),
 INVOICE_QUT NUMBER(10,3),
 CONSTRAINT PK_INVOICE PRIMARY KEY(INVOICE_NO)
)
/
INSERT INTO INVOICE VALUES(1,50);
INSERT INTO INVOICE VALUES(2,60);
INSERT INTO INVOICE VALUES(3,40);
INSERT INTO INVOICE VALUES(4,70);
COMMIT;
CREATE OR REPLACE VIEW TBL
AS
(
 SELECT 1 AS FLD FROM DUAL UNION 
 SELECT 2 AS FLD FROM DUAL UNION
 SELECT 3 AS FLD FROM DUAL UNION
 SELECT 4 AS FLD FROM DUAL UNION
 SELECT 5 AS FLD FROM DUAL UNION
 SELECT 6 AS FLD FROM DUAL UNION
 SELECT 7 AS FLD FROM DUAL UNION
 SELECT 8 AS FLD FROM DUAL UNION
 SELECT 9 AS FLD FROM DUAL UNION
 SELECT 10 AS FLD FROM DUAL
)
/

SELECT TBL.FLD,INV.INVOICE_NO, INV.INVOICE_QUT
FROM (SELECT ROWNUM AS RN,INVOICE.* FROM INVOICE ORDER BY INVOICE.INVOICE_NO) INV
 RIGHT JOIN TBL ON TBL.FLD = INV.RN
ORDER BY INV.INVOICE_NO



أو



لو كان هناك أكثر من أو 10 جداول في قاعدة البيانات ، يمكنك إستخدام الطريقة التالية :

SELECT TBL.RN,INV.INVOICE_NO, INV.INVOICE_QUT
FROM (SELECT ROWNUM AS RN,INVOICE.* FROM INVOICE ORDER BY INVOICE.INVOICE_NO) INV
 RIGHT JOIN (SELECT ROWNUM AS RN FROM TAB WHERE ROWNUM <= 10) TBL ON TBL.RN = INV.RN
ORDER BY INV.INVOICE_NO



أو مثلاً يمكنك إستخدام جداول أخري مثل ALL_TABLES أو USER_OBJECTS أو ALL_OBJECTS أو ..... الي آخرة

ودة هيكون أسهل بكثير من إنشاء عارض VIEW أو جدول TABLE يحمل مجموعة من السجلات









بالتوفيق

رابط هذا التعليق
شارك

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

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

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

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   تمت استعادة المحتوى السابق الخاص بك.   مسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

جاري التحميل
×
×
  • أضف...

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

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