اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

الردود الموصى بها

قام بنشر

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

رقم العميل التاريخ المبيعات التحصيل

عندي استعلام على هذه الجدول يعطينا نفس الحقول السابقة مع حقل الرصيد(الفرق بين المبيعات والتحصيل) والرصيد التراكمي (وهو المطلوب)

طلب هذا الاستعلام حسب رقم العميل

يعطينا مبيعاته وتحصيلاته مع التاريخ وايضا الرصيد والرصيد التراكمي

  • Like 1
قام بنشر (معدل)

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

الأخ الفاضل رامي :

المثال المرفق كنت قد أعددته للإجابة عن سؤال حول قضية ترحيل القيود ، ويوجد به يشابه طلبك ، عليك إدخال البيانات أولاً ثم استعراض النتائج .

وتعبير الاستعلام : [r: [x]-[y

(حيث R الرصيد ، و X المبيعات ، و Y التحصيلات )

المثــال

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

أخوكم حسن :fff:

تم تعديل بواسطه hkh007
قام بنشر

اوكي حبيبي بالنسبة للرصيد

بس انا بدي اعرف كيف اعمل الرصيد التراكمي

بعدين رابط التحميل الخاص بالمثال لا يعمل !!! ارجو ان تصحح الرابط

قام بنشر (معدل)

اخي العزيز

مثال

لدينا جدول فواتير : invoices

فيه :

InvID autonumber

Debit

credit

اعمل استعلام جديد

اذهب الى تصميم الاستعلام ----- , sql view

انسخ هذا الكود فيه :

SELECT NewTable.InvID, NewTable.Debit, NewTable.credit, [debit]-[credit] AS Balance,
 (select(sum([debit])-sum([credit])) from invoices where newtable.invid>=invid) AS Accumulated
FROM Invoices AS NewTable
;ORDER BY NewTable.InvID

تم تعديل بواسطه rudwan
قام بنشر (معدل)

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

هذا هو الكود بعد التعديل على كودك

SELECT [الجدول العام].[رقم العميل], [الجدول العام].التاريخ, [الجدول العام].[مبلغ المبيعات], [الجدول العام].[مبلغ التحصيل], [مبلغ المبيعات]-[مبلغ التحصيل] AS Balance, (select(sum([مبلغ المبيعات])-sum([مبلغ التحصيل])) from [الجدول العام] where [الجدول العام].التاريخ>=التاريخ) AS Accumulated
FROM [الجدول العام]
ORDER BY [الجدول العام].[رقم العميل];

الذي يحصل ان الرصيد التراكمي لا يتم سجل سجل

وانما يحسب اجمالي الرصيد لكل السجلات ويضع هذا الاجمالي في كل السجلات يعني يحسب اجمالي الرصيد لكل الجدول

تم تعديل بواسطه rudwan
قام بنشر

أخي رامي الحقيقة الكود الذي وضعته أنت غير واضح , و ياريت تعدل في مشاركتك بحيث

تضع التظليل على جملة الكود ثم تختار مربع sql

بحيث توضح قراءته أكثر حتى نعرف مكان الخطأ فيه

على كل حال أرجو الانتباه الى مايلي :

عندما تنشىْ الاستعلام نقوم بتغيير اسم الجدول ضمن الاستعلام نفسه , لأنك لو لك تغيره فسوف لن يعطيك النتيجه الصحيحه ,

لاحظ الكود الذي وضعته لك : اسم الجدول أصلا invoices

تم تغيير تسميته ضمن الاستعلام الى MyTable

لاحظ في جملة الاخيتيار , الكود يختار الحقول من MyTable

و ليس من Invoices

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

واذا أحببت , ارفق لي المثال الذي عندك علىايميلي :

r13532002@yahoo.com

قام بنشر (معدل)

الأخ رامي , وضعت لك الكزد في مثالك المرفق

و بذلك يكون الكود المطلوب كما يلي :

في الاستعلام الجديد :

SELECT NewTable.[رقم العميل], NewTable.التاريخ, NewTable.[مبلغ المبيعات], NewTable.[مبلغ التحصيل], NewTable.[مبلغ المبيعات]-NewTable.[مبلغ التحصيل] AS الرصيد, (select(sum([مبلغ المبيعات])-sum([مبلغ التحصيل])) from [الجدول العام] where newtable.[التاريخ]>=[التاريخ] and NewTable.[رقم العميل]= [رقم العميل] ) AS [الرصيد التراكمي]
FROM [الجدول العام] AS NewTable
WHERE ((newtable.[رقم العميل])=forms!m![n])
ORDER BY NewTable.التاريخ;

Accumulated.rar

تم تعديل بواسطه rudwan
قام بنشر

جزاك الله خيرا اخي العزيز رضوان

الحمدلله اخيرا توصلنا للحل بفضل الله ثم بفضلك اخي الحبيب

شكرا جزيلا لك

قام بنشر

الحمد لله أولا و أخيرا فهو مستحق الحمد و الشكر وحده

أما أنا فلم أكن سوى وسيلة لنقل معلومه ساقها الله الي من قبل

و بالمناسبة احرص يا أخي الكريم على عدم الاكثار من تسمية الجداول باللغة العربية

فهي أصعب و خاصة عندما تصبح في مستوى كتابة الرموز على ال VBA

خاصة عندما يكون هناك فراغات مثل : الجدول العام

كما أرجو أن تلاحظ أنني عدلت لك في تنسيق رقم العميل في الجدول العام بحيث يتم الاختيار

من القائمة مباشرة

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

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

×   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

×   Your previous content has been restored.   Clear editor

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

  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information