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

كيف يمكن جمع عامود بشكل تراكمى

بدأه khaledmh في 1 سبتمبر 2008 · 41 رد · 3,968 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

اخوانى عندى جدول يوج به الحقول التالية

code , name , target ,Amount , . . .

كيف ممكن ان احصل على جمع عامود Amount

كتوضيح

1-الاصول

101-اصول ثابتة

10101-اجهزة

10102-معدات

102 اصول متداولة

10201عملاء

1020101 عميل جديد

مثال

فى حالة ان حساب رقم 10101 =5000 ، حساب رقم 10102=6000 اذن حساب رقم 101 = 11000 وايضا حساب رقم 1 = 11000 برجاء مساعدتى وشكرا

رابط للموضوع

كيف يمكن الجمع

تم تعديل هذه المشاركة بواسطة khaledmh في 1 سبتمبر 2008 في 01:47

#2

اخى الكريم كل عام وانتم بخير

جرب

select sum(amount) from [tabel] where code like '101%'

ارجو ان يكون هذا هو المقصود

كن كالنخيل عن الأحقاد مرتفعا .. يرمى بصخر فيرمى أطيب الثمر

#3

اخى عبد الفتاح شكرا على مساعدتك ولكن مثالك يخص كود رقم 101 طيب لو افترضا انه = 102 ما الحل

هل يمكن عمل الموضوع بالمصفوفات

#4

أخي الكريم

في البرمج المحاسبية ( أعتقد ان الرقم المحاسبي Code لا يتجاوز الخمسة أرقام ) لست متاكدا من هذه المعلومة

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

يمكنك عمل استعلام به الأرقام الخمسة مفصولة كالتالي

SELECT Left([Code],1) AS [First], Mid([Code],2,1) AS [Second], Mid([Code],3,1) AS Third, Mid([Code],4,1) AS Fourth, Mid([Code],5,1) AS Fifth

لجمع المبالغ الخاصة بأول ثلاثة أرقام يمكنك عمل الآتي :

SELECT Left([Code],1) AS [First], Mid([Code],2,1) AS [Second], Mid([Code],3,1) AS Third, Sum(Table1.Amount) AS SumOfAmount
FROM Table1
GROUP BY Left([Code],1), Mid([Code],2,1), Mid([Code],3,1);

الفكرة تعتمد على كيفية استخدام خاصية Group By للتجميع ... و إذا رغبت بمجموع المبالغ الخاصة بالرقم الأول ... يجب وضع استعلام جديد ..

SELECT Left([Code],1) AS [First], Sum(Table1.Amount) AS SumOfAmount
FROM Table1
GROUP BY Left([Code],1);
200px-Dreamworks.jpg
#5

اخى DREAM WORKS شكرا

سأجرب الكود واقول لك النتيجة

#6

اخى DREAM WORKS

لقد جربت طريقتك ولكن يظهر مجموع ثلاثة ارقام فقط او اربعة ولكن المقصود من طلبى هو كيف يمكن ايجاد حاصل جمع مثلا

10101=100

10102=200

10103=300

اذن حساب رقم 101 = 600

وايضا لو حساب رقم

10201=10

10202=30

10203=40

اذن حساب رقم 102=80

ومجموع حساب رقم 1 = مجموع حساب 101 + 102=680

ارجو مساعدتى فى الموضوع بمثال لو امكن

وشكرا

#7

اخوانى محتاج مساعدتكم بمثال لو امكن

#8

up

#9

اخوانى محتاج مساعدتكم

#10
SELECT Code,
       (SELECT SUM(OpenBalDebit) FROM Chart WHERE Code LIKE Chart_Base.Code + '*') AS SumOfOpenBalDebit
FROM Chart Chart_Base
GROUP BY Code
ORDER BY Code

تم تعديل هذه المشاركة بواسطة سمسوما في 6 سبتمبر 2008 في 13:28

#11

اخوانى محتاج مساعدتكم

#12

اخي العزيز

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

وان شاء الله ستجد الحل المطلوب

تم تعديل هذه المشاركة بواسطة rmzh24 في 15 سبتمبر 2008 في 12:56

#13

اخى الكريم

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

وقاعدة البيانات اكسيس

#14

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

#15

اخي العزيز 0000 اليك الحل حسب المثال المرفق

RMZH24.rar

#16

شكرا جزيلا على المساعدة ولكنى اريد تسجيل نتيجة قيمة الحسابات الفرعية فى الحساب الرئيسى لها فى المثال المرفق يتم ادخال رقم الحساب ويظهر ليه الاجمالى

انا لااريد الاستعلام وانما اريد بعد الادخال يتم جمع الحسابات الفرعية وادراج الاجمالى لها فى الحساب الرئيسى .

#17

الأخ خالد / لقد فهمت أنك تحتاج لجمع كل مجموعة حساب على حده ( هذا مافهمت أنا ) أى أنك تحتاج لجمع الأصول الثابتة ( مجموعة أراضى ، مجموعة مبانى ، مجموعة سيارات 0000الخ ) أليس كذلك هذا يكون ياأخ خالد تجميع بنظام المجموعات داخل التقرير لدى مثال سأرفعه على الموقع غدا حيث سأنتهى من النسخة التجريبية منه وسارفعه غدا بإذن الله وهو برنامج محاسبى سيعجبك ويفيدك فى هذا الموضوع جيدا إنتظرنى 00

( سبحانك لا علم لنا إلا ما علمتنا إنك أنت العليم الحكيم )

#18

الأخ الفاضل مرفق مثال لما طلبت وهو تعديل للمثال المرفق

ولكن قد تكون هناك طرق اسهل للوصول لما تريد

RMZH24.rar

كن كالنخيل عن الأحقاد مرتفعا .. يرمى بصخر فيرمى أطيب الثمر

#19

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

Dim Am As Double
Dim Arr()
If RS.State = 1 Then RS.Close
RS.Open "update mmmm set sumamm=amm", DB
RS.Open " select noch ,amm,sumamm,id from mmmm order by noch ", DB
If RS.RecordCount = 0 Then GoTo 5
ReDim Arr(RS.RecordCount - 1, 3)
	For t = 0 To RS.RecordCount - 1
		Arr(t, 0) = RS(0)
		Arr(t, 1) = RS(1)
		Arr(t, 2) = RS(2)
		Arr(t, 3) = RS(3)
		RS.MoveNext
	Next t
RS.Close
For t = UBound(Arr) To 0 Step -1
	For h = t + 1 To UBound(Arr)
		If Arr(h, 0) Like Arr(t, 0) & "*" Then Arr(t, 2) = Val(Arr(t, 2)) + Val(Arr(h, 2)) 'Else Exit For
	Next
Next
For t = UBound(Arr) To 0 Step -1
	RS.Open " update mmmm set sumamm=" & Arr(t, 2) & " where id=" & Arr(t, 3), DB
Next
5:
If RS.State = 1 Then RS.Close
RS.Open "MMMM", DB
Set ms1.DataSource = RS

تم تعديل هذه المشاركة بواسطة khaledmh في 23 سبتمبر 2008 في 11:49

#20

up

#21

up

تم تعديل هذه المشاركة بواسطة khaledmh في 25 سبتمبر 2008 في 11:33

#22

up

#23

الاخوة الاعضاء 00 اسعد الله اوقاتكم

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

كشف حساب اجمالي

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

نرجو من الاخوة التدخل 000 وكل عام وانتم بخير

#24

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

#25

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

تم تعديل هذه المشاركة بواسطة khaledmh في 4 أكتوبر 2008 في 12:22

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…