AHM3ORA3 بتاريخ: 8 مايو 2005 تقديم بلاغ مشاركة بتاريخ: 8 مايو 2005 السلام عليكم ورحمة الله و بركاتهانى سعيد لانى مشارك فى هذا المنتدى الجميل و اجمل ما فى هذا المنتدى روح التعاون الشديدة بين مشاركية و ارجو من الله دوام التوفيق لهذا المنتدى العربى الجميل .أريد عمل جدول يحتوى على شجرة الحسابات و يكون ترتبها عند عمل امر order by لهذا الجدول على النحو التالى : كمثال11111111211211211121111212113113111351135111352وهكذولكن عندما أستخدم امر order by لهذا الجدول يكون الناتج112 - 113- 1111 -1121 -1131 -1135 -11112 - 11211 -11212 -11351 11352أرجو الافادة يا جماعة حيث انة شئ محير جداً اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
Huonikil بتاريخ: 8 مايو 2005 تقديم بلاغ مشاركة بتاريخ: 8 مايو 2005 Order by to_char(name of ur col.) ..ok اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
BEKO بتاريخ: 8 مايو 2005 تقديم بلاغ مشاركة بتاريخ: 8 مايو 2005 يا صديقي يبدوا أنك تقوم ببناء نظام محاسبة يعتمد على نظام المحاسبة السوري وحتى تستطيع عمل هذا النوع من الترتيب يجب ان تضيف حقل جديد الى جدول الحسابات تسميه sortorder وتصدر أمر الترتيب على أساس هذا الحقل فقط يعني order by sortorderمع ملاحظة ان هذا الحقل يتم تعبئته عند إضافة حساب جديد وتعتمد قيمته على نوع الحساب سواء كان رئيسي أو فرعي وعلى رقم الحساب وهناك عملية رياضية خاصة بذلكوسامحني إذا لم تستوعب الموضوع كثيرا وذلك لان العملية معقدة بعض الشي وهذا هو كود تسجيل الحساب وعمل إدخال للحقول. declare CURSOR parentaccount_CURSOR IS SELECT ACCNUMBER FROM ACCOUNTS WHERE ACCNUMBER=:parentaccount; parentaccount_RECORD parentaccount_CURSOR%ROWTYPE; maxorder number; digit number; v number; v_show_alert_a number; v_p number :=0; begin -------------------- v:= length(:accnumber); open parentaccount_cursor; while v_p=0 loop fetch parentaccount_cursor into parentaccount_record; exit when parentaccount_cursor%notfound; if parentaccount_record.ACCNUMBER=:parentaccount then v_p:=parentaccount_record.ACCNUMBER; end if; end loop; close parentaccount_cursor; --------------------- if v_p<>0 or v=1 then select nvl(max(accnumber),0) into maxorder from accounts; if maxorder=0 then digit:=1; ELSE digit:=length(maxorder); end if; v:= length(:accnumber); if maxorder >= 1 then if digit<v then update accounts set sortorder=sortorder *10; digit:=digit+1; end if; :sortorder:=:accnumber * power(10,digit-v); end if; if v=1 then if digit=1 then :sortorder:=:accnumber; else :sortorder:=:accnumber * power(10,digit-v); end if; end if; commit; if :accname is not null then exit_form(no_commit); end if; else v_show_alert_a:= show_alert('ALERT_CHEC_p'); end if; end; اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
mohd_sayed_mohd بتاريخ: 8 مايو 2005 تقديم بلاغ مشاركة بتاريخ: 8 مايو 2005 السلام عليكم ورحمة الله وبركاته،، بكل بساطة غير نوع البيانات إلى Varcahr2حتترتب معاك ولا تقول ان هناك مشاكل من استخدام Varchar2 في رقم الحساب فأنا أستخدمه منذ سنوات اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
mohd_sayed_mohd بتاريخ: 8 مايو 2005 تقديم بلاغ مشاركة بتاريخ: 8 مايو 2005 معذرة كتبت Varchar2 خطأ اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
Mr_CoBoL بتاريخ: 8 مايو 2005 تقديم بلاغ مشاركة بتاريخ: 8 مايو 2005 السلام عليكم ورحمة الله وبركاتهاخي الفاضلبالنسبة لجدول يحتوي شجرة الحسابات العامة في معناها المحاسبي من وجهة نظري يتكون من التالي :ـ create table cust (cust_cd1 number (2), cust_cd2 number (2), cust_cd3 number (2), cust_cd4 number (4), cust_nam varchar2 (50), constraint cust_key primary key (cust_cd1,cust_cd2,cust_cd3,cust_cd4)); وتمثل تلك الاكواد الاربعة 1 ـ كود رئيسي 2 ـ كود مساعد 3 ـ كود فرعي4 ـ كود تحليلييمكنك اضافة اي عدد من الاكواد في حالة رغبتك زيادة عدد المستويات من أربعة الى خمسة او ستة وستقوم بالتكويد بالشكل التالي مثال :ـ01 الاصول0101 الاصول الثابتة0102 الاصول المتدوالةوهكذاويمكنك ان تقوم بعمل Order by على الحقل cust_cd1 وسيظهر كل كود في ترتيبه المنطقي انشاللهوتفضل بقبول فائق تحياتياخوك حسن الحسينيمصر ـ الزقازيق اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
girl_oracle بتاريخ: 8 مايو 2005 تقديم بلاغ مشاركة بتاريخ: 8 مايو 2005 الاخ الفاضللعمل شجرة الحسابات يجب ان تصمم باستخدام خاصية ال tree وهو وجود كود رئيسي للحسابات وكود فرعي يكون الكود الفرعي مفتاح خارجي علي الكود الرئيسي وبذلك تستطيع عمل tree تقوم بعرض الحسابات حسب تفرعها وبالترتيب مبتدئه من الكود الرئيسي لو رغبت فى ذلك اعلمنى كي ارسل لك نسخة من الملفوشكرا وفقكك الله اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
thg_eg بتاريخ: 25 ديسمبر 2006 تقديم بلاغ مشاركة بتاريخ: 25 ديسمبر 2006 الاخ الفاضللعمل شجرة الحسابات يجب ان تصمم باستخدام خاصية ال tree وهو وجود كود رئيسي للحسابات وكود فرعي يكون الكود الفرعي مفتاح خارجي علي الكود الرئيسي وبذلك تستطيع عمل tree تقوم بعرض الحسابات حسب تفرعها وبالترتيب مبتدئه من الكود الرئيسي لو رغبت فى ذلك اعلمنى كي ارسل لك نسخة من الملفوشكرا وفقكك الله ياريت جزاك الله خيرا لوترسلي له هذة الشجرة حيث حاليا ااصمم برنامج بحيث تكون الشجرة حتى 11 مستوى وعدد الخانات لرقم الحساب لايزيد عن 15 خانة [email protected] اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
comander بتاريخ: 28 ديسمبر 2006 تقديم بلاغ مشاركة بتاريخ: 28 ديسمبر 2006 الأمر إن شاء الله بسيط وممكن عمله بواسطه ال tree لكن أنا محتاج ال description بتاع الجدول علشان أقدر أساعدك اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
YAHYATHH بتاريخ: 23 يناير 2010 تقديم بلاغ مشاركة بتاريخ: 23 يناير 2010 (معدل) ياخوان اريد كود جاهز على الفورم في الاوركل للشجرة المحاسبية بحيث انسخة الى الفورم تبعي ويعمل كمثال حتى افهم عملياًارجوا الرد علي وارجوا ارسال الرد على الايميل لانني لاستطيع ان ارجع الى هذاه الصفحة لمعرفة الرد[email protected]وجزاكم الله الف خير تم تعديل 23 يناير 2010 بواسطة YAHYATHH اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
Recommended Posts
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.