بتاريخ: 19 أغسطس 20169 سنة comment_277267 سلام عليكم ورحمة الله قمت بتصميم تقرير لطباعة الفواتير لكن في مشكلة بيظهر لي جميع الفواتير انا عايز لما اعمل رن يظهر بس اخر فاتورة يعني أعلى رقم فاتورة حاولت عملت في الكيوري ماكس بيظهر خطأ انها غير مقبولة ممكن احد يساعدني كيف اعملها وجزاككم الله خيرا تقديم بلاغ
بتاريخ: 20 أغسطس 20169 سنة كاتب الموضوع comment_277286 مش فاهم والله استاذ اسلام ممكن توضح كلامك شوية حضرتك تقديم بلاغ
بتاريخ: 20 أغسطس 20169 سنة comment_277287 عذرا ، جرب Select *from table where date_column=(Select max( date_column) from same_table) تقديم بلاغ
بتاريخ: 21 أغسطس 20169 سنة comment_277292 Or select * from (select * from table order by date_colum desc ) where rownum = 1 ; تقديم بلاغ
بتاريخ: 21 أغسطس 20169 سنة كاتب الموضوع comment_277302 ألف شكر استاذ اسلام للتجاوب طيب انا عامل عدد 2 tables invoice_desc وفيه رقم الفاتورة وتاريخها وما إلى ذلك Invoice_det وفيه اسماء الأصناف وأرقامها والمبالغ والشاشات في الفورم مكونة من الجدولين دول انا عايز لما التقرير اعمله رن يظهر معي آخر فاتورة فقط والله ولي التوفيق تقديم بلاغ
بتاريخ: 21 أغسطس 20169 سنة comment_277303 السلام عليكم ليه ما تعمل التقرير Dynamic وتضيف Parameter عبارة عن رقم الفاتورة ؟ أو تعمل من رقم فاتورة إلى رقم فاتورة (2 Parameters). تقديم بلاغ
بتاريخ: 21 أغسطس 20169 سنة comment_277304 ألف شكر استاذ اسلام للتجاوب طيب انا عامل عدد 2 tables invoice_desc وفيه رقم الفاتورة وتاريخها وما إلى ذلك Invoice_det وفيه اسماء الأصناف وأرقامها والمبالغ والشاشات في الفورم مكونة من الجدولين دول انا عايز لما التقرير اعمله رن يظهر معي آخر فاتورة فقط والله ولي التوفيق نصيحة من أخ , حط لنفسك منهج وامشى عليه بنظام . الطبيعى انك تذاكر بالترتيب ده sql pl/sql forms reports - بالنسبة للريبورت فهو فى الاول وفى الاخر قايم على جملة select , يعنى الطبيعى تذاكر sql الاول . - اقرأ عن الـ Joins واتمكن شوية من الـ sql عامة وبعدين ادخل على التقارير . تقديم بلاغ
بتاريخ: 21 أغسطس 20169 سنة كاتب الموضوع comment_277309 الله يسعدك أستاذي كلامك حقيقة شكراً لك اخوي بس قريت أكثر من 10 مرات وماطبقت ونسيت كل شي فنصحني صديقي بالتطبيق العملي وانا بحاول اطبق عملي علشان استفيد والحمد لله مستواي تحسن كثيرا بس محتاج شوية مساعدات بطلبها منكم شاكر لك حبيبي تقديم بلاغ
بتاريخ: 21 أغسطس 20169 سنة كاتب الموضوع comment_277310 بس لو أمكن تساعدني في هذه والله اكون لك من الشاكرين تقديم بلاغ
بتاريخ: 21 أغسطس 20169 سنة comment_277311 select * from ( Select table1.* , table2.* from table1 , table2 where table1.pk = table.fk order by table1.date_column ) where rownum = 1 الى كتبته ده اسمه Inline View , اقرأ عنه بعد ما تقرأ عن الـ Joins تقديم بلاغ
بتاريخ: 21 أغسطس 20169 سنة كاتب الموضوع comment_277320 الله يسعدك دنيا وآخره ياااااااااااارب غالي والله تقديم بلاغ
بتاريخ: 21 أغسطس 20169 سنة كاتب الموضوع comment_277325 بس يا بشمهندس انت مش فاهمني بتكلم عن ايه ممكن انا عملت ده كله بدلالة رقم الفاتورة كمفتاح اساسي وفرعي وقدرت اعمل جلب لتفاصيل الفاتورة مينوال انا المشكلة عندي في اني لما اعمل برنت يطبع معايا بيانات اخر فاتورة في اي تريجر يعمل الحاجة دي؟ أو اي طريقة اخرى تقديم بلاغ
بتاريخ: 22 أغسطس 20169 سنة comment_277330 مبدأيا بس : احنا متفقين انك بتكتب في الـ Report Builder ؟ - ورينى الى انت كتبته . تقديم بلاغ
بتاريخ: 22 أغسطس 20169 سنة كاتب الموضوع comment_277343 SELECT ALL INVOICEDESC.INVOICE_DATE, INVOICEDESC.CUSTOMER_NAME, INVOICEDESC.TOTAL, INVOICEDESC.DISCOUNT, INVOICEDET.QTY, INVOICEDET.UNIT_PRICE, INVOICEDET.ITEM_NAME, INVOICEDET.ITEM_NO, INVOICEDET.INVOICE_NO FROM INVOICEDET, INVOICEDESC WHERE (INVOICEDET.INVOICE_NO = INVOICEDESC.INVOICE_NO) ORDER BY INVOICEDESC.INVOICE_NO بيجي معايا كل التفاصيل لكل الفواتير انا عايز تفتح معايا اخر فاتورة فقط مش كل الفواتير في شكل صفحات انا عايزه يفتح معايا الصفحة التي تحتوى على آخر فاتورة فقط تقديم بلاغ
بتاريخ: 22 أغسطس 20169 سنة comment_277344 قارن ده بقى باى حل من الى قلتهملك هتلاقى ملوش علاقة .2- ليه مش بتستخدم max(invoice_id) مع group by ؟ تقديم بلاغ
بتاريخ: 22 أغسطس 20169 سنة كاتب الموضوع comment_277352 فكرت فيها والله وعملتها بس مظبتش معايا حتى عملت WHERE ROWNUM=(SELECT MAX(ROWNUM) FROM INVOICE_DESC) بس مظبتش معايا معلشي حاول تساعدني فيها الله يسعدك تقديم بلاغ
بتاريخ: 23 أغسطس 20169 سنة comment_277360 SELECT * FROM ( SELECT INVOICEDESC.INVOICE_DATE, INVOICEDESC.CUSTOMER_NAME, INVOICEDESC.TOTAL, INVOICEDESC.DISCOUNT, INVOICEDET.QTY, INVOICEDET.UNIT_PRICE, INVOICEDET.ITEM_NAME, INVOICEDET.ITEM_NO, INVOICEDET.INVOICE_NO FROM INVOICEDET, INVOICEDESC WHERE (INVOICEDET.INVOICE_NO = INVOICEDESC.INVOICE_NO) ORDER BY INVOICEDESC.INVOICE_NO ) WHERE ROWNUM = 1 ; ---------------------------------------------------------------------- SELECT MAX(INVOICEDESC.INVOICE_DATE), INVOICEDESC.CUSTOMER_NAME, INVOICEDESC.TOTAL, INVOICEDESC.DISCOUNT, INVOICEDET.QTY, INVOICEDET.UNIT_PRICE, INVOICEDET.ITEM_NAME, INVOICEDET.ITEM_NO, INVOICEDET.INVOICE_NO FROM INVOICEDET, INVOICEDESC WHERE (INVOICEDET.INVOICE_NO = INVOICEDESC.INVOICE_NO) GROUP BY INVOICEDESC.CUSTOMER_NAME, INVOICEDESC.TOTAL, INVOICEDESC.DISCOUNT, INVOICEDET.QTY, INVOICEDET.UNIT_PRICE, INVOICEDET.ITEM_NAME, INVOICEDET.ITEM_NO, INVOICEDET.INVOICE_NO FROM INVOICEDET, INVOICEDESC WHERE (INVOICEDET.INVOICE_NO = INVOICEDESC.INVOICE_NO ------------------------------------------------------------------------------------------ SELECT MAX(INVOICEDESC.INVOICE_ID), INVOICEDESC.INVOICE_DATE, INVOICEDESC.CUSTOMER_NAME, INVOICEDESC.TOTAL, INVOICEDESC.DISCOUNT, INVOICEDET.QTY, INVOICEDET.UNIT_PRICE, INVOICEDET.ITEM_NAME, INVOICEDET.ITEM_NO, INVOICEDET.INVOICE_NO FROM INVOICEDET, INVOICEDESC WHERE (INVOICEDET.INVOICE_NO = INVOICEDESC.INVOICE_NO) GROUP BY INVOICEDESC.CUSTOMER_NAME, INVOICEDESC.INVOICE_DATE, INVOICEDESC.TOTAL, INVOICEDESC.DISCOUNT, INVOICEDET.QTY, INVOICEDET.UNIT_PRICE, INVOICEDET.ITEM_NAME, INVOICEDET.ITEM_NO, INVOICEDET.INVOICE_NO FROM INVOICEDET, INVOICEDESC WHERE (INVOICEDET.INVOICE_NO = INVOICEDESC.INVOICE_NO تقديم بلاغ
بتاريخ: 24 أغسطس 20169 سنة comment_277392 اول واحد هو الحل ، والباقى مثال على group byاقرأ عنها تقديم بلاغ
بتاريخ: 24 أغسطس 20169 سنة كاتب الموضوع comment_277417 مشكووووووووووووور حبيبي والله بجربه وبردلك خبر عليه وماقصرت الف شكر على جهودك ربنا يجزاك خير تقديم بلاغ
بتاريخ: 13 نوفمبر 20169 سنة comment_279770 ياخي رسل بالباراميترات من الفورم اللي انت بتريدها مثلا رقم الفاتوره وتاريخها بحيث يكون اسم الباراميترات المرسله من الفورم هي نفسها الموجوده في التقرير وظيف الشرط في التقرير في الحدث after report مثلا function AfterPForm return boolean is begin :M_WHERE := :M_WHERE || ' AND INV_NO=P_INV_NO' ; :M_WHERE := :M_WHERE || ' AND INV_DATE =P_INV_DATE' ; return (TRUE); end; بحيث يكون اسماء الباراميترات متساويه في الفورم والريبورت مثلا رقم الفاتوره p_inv_no P_INV_DATEوتاريخ الفاتوره وايضا تضيف باراميتر اسمه مثلا m_where وتخلي القيمه الافتراضيه له من خصائصه 1=1 وتعمل بعد جمله السؤال where &m_where وبتضبط معك انشاء الله بس بشرط انك في زر استدعاء التقرير ترسل رقم الفاتوره وتاريخها من الفورم عن طريق التعليمه التاليه DECLARE C PARAMLIST ; --USER_NAME USERS.USER_CODE%TYPE; BEGIN C:=CREATE_PARAMETER_LIST('C_SOC'); ADD_PARAMETER(C,'P_INV_DATE',TEXT_PARAMETER,:INVOIC.INV_DATE); ADD_PARAMETER(C,'P_INV_NO',TEXT_PARAMETER,:INVOIC.INV_NO); ADD_PARAMETER(C,'PARAMFORM',TEXT_PARAMETER,'YES'); ADD_PARAMETER(C,'MAXIMIZE',TEXT_PARAMETER,'YES'); RUN_PRODUCT(REPORTS,'d:\REPORT\invoic.REP',ASYNCHRONOUS,RUNTIME,FILESYSTEM,C); DESTROY_PARAMETER_LIST©; RETURN; END; على افتراض ان حقل رقم الفاتوره اسمه INV_NO واسم البلوك :INVOIC .INV_DATEوكذلك حقل تاريخ الفاتوره على افتراض ان التقرير اسمه INVOIC ومخزن في الامتداد D:\REPORT تم تعديل 13 نوفمبر 20169 سنة بواسطة ashrafyemen تقديم بلاغ
بتاريخ: 24 فبراير 20188 سنة comment_293922 SELECT ALL INVOICEDESC.INVOICE_DATE, INVOICEDESC.CUSTOMER_NAME, INVOICEDESC.TOTAL, INVOICEDESC.DISCOUNT, INVOICEDET.QTY, INVOICEDET.UNIT_PRICE, INVOICEDET.ITEM_NAME, INVOICEDET.ITEM_NO, INVOICEDET.INVOICE_NO FROM INVOICEDET, INVOICEDESC WHERE (INVOICEDET.INVOICE_NO = INVOICEDESC.INVOICE_NO) WHERE (INVOICEDESC.INVOICE_NO) = :p1 ORDER BY INVOICEDESC.INVOICE_NO بيجي معايا كل التفاصيل لكل الفواتير انا عايز تفتح معايا اخر فاتورة فقط مش كل الفواتير في شكل صفحات انا عايزه يفتح معايا الصفحة التي تحتوى على آخر فاتورة فقط أخي هتضيف اليطر الي اضفتهولك بالكود السابق و في User Parameter تضيف بارامتر اسمه P1 و تضيف السطر دا في زر الطباعة ADD_PARAMETER(PARAMID,'p1',TEXT_PARAMETER,:INVOICEDESC.INVOICE_NO); تم تعديل 24 فبراير 20188 سنة بواسطة tc2000 تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.