تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
دالة DSum والجمع بالناقص
#1
السلام عليكم ورحمة الله وبركاته

هل ممكن مساعدتي في عملية الجمع المدرجة في الصورة المرفقة كالتالي

الجمع الموجود :

50
130
250

المطلوب هو
50
50-80=30
80-120=40

50
30
40

فهل ممكن المساعدة في ذلك

اسم الجدول: Vehicle Recipient
اسم الحقل: KM_No

الدالة المستخدمة حالياً:

DSum: DSum(" [KM_No] ","Vehicle Recipient","[ID2]<=" & [ID2] & " ")


أرجو الإفادة والمساعدة في ذلك مع الشكر الجزيل 



الملفات المرفقة صورة/صور
   
الرد
تم الشكر بواسطة:
#2
وعليكم السلام ورحمة الله وبركاته

مرحباً اخى slamco2000
فى البداية دالة DSum فهى لعملية الجمع فقط
ولا يتم التعامل معها للطرح والضرب والقسمة

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

الان انت لديك جدول فارغ طبقاً للبيانات التى لديك من مسميات
عند اتمام عملية الادخال لاول سطر وسيكون كمثال
1 - 100500
حيث الرقم التسلسلى 1 والقيمة 100500
فهنا سيتم اداخلها عن طريق التالى وهو التحقق اذا كان الجدول فارغاً ولا يحتوى على اى مدخلات
سيتم ادخال الـ 100500 بصورة صحيحة

طيب جيت بعد كده حبيت ادخل بيانات ليكون
2- 500 
حيث الرقم التسلسلى 2 والقيمة 500
هنا سيتم ادخالها كالتالى
فى المرة الاولى قلنا عملية التحقق اذا كان الجدول فارغ وبدون اى مدخلات يتم ادخال القيمة بصورة عامة
Else واذا كان غير ذلك وان الجدول يحتوى على سيتم ادخال القيمة على الصورة التالية
2 - (500*-1)
بحيث تكون القيمة لـ 500 بالسالب وتكون -500

طيب هنا نكون حلينا مشكلة الـ Dsum واصبح المطلوب يعمل الان
ولكن لدي مشكلة وهو عرض عمود الارقام يظهر عول قيمة برقم صحيح ولكن باقي البيانات بالسالب

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

اتمنى ان تكون الصورة والفكرة وصلت لك

اذا لم تتمكن من فعل الامر فقط ارفق ملف مصغر من المثال لديك
وساقوم بعمل ما قمت بشرحه 


تحياتى لك
وتمنياتى لك التوفيق
{ وَقُل رَّبِّ زِدْنِي عِلْمًا }
[ كن على يقين من اعمالنا نخطئ ومن اخطائنا نتعلم ولذلك لا شي مستحيل ]

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


 شرح كيفية عمل قاعدة بيانات تعمل على اكثر من جهاز على الشبكة الداخلية
الرد
تم الشكر بواسطة: حريف برمجة
#3
أشكرك elgokr على تفاعلك والسعي لحل مشكلتي .. جزاك الله ألف خير

الاية في الحقل هو نقاص الرقم في الحقل الثاني الذي سوف يكون دائماً أكبر .. وهو حسب المسافة المقطوعة
مثلاً

لوكان الأول قطع
1  -  50
2-  80
3-  120


المفرو يكون الجدول كالآتي

50
30
40

اي حاصل
طبعاً الأول رقم وحيد .. ثم
80-50
و 120 - 80

هل ذا ممكن

لقد قمت بتير الملف قدر الإمكان وإرفاقه



الملف المرفق:

https://up.top4top.net/downloadf-12835f2id1-7z.html
الرد
تم الشكر بواسطة: حريف برمجة
#4
الشكر لله والحمد لله
والحمد لله على كل حال

بما ان عملية الطرح بيتم لما هو قبله مباشراً

فكل ما هو عليك فعل كود الاستعلام بهذا الشكل
كود :
SELECT
(VR.KM_No - iif((SELECT TOP 1 KM_No As KMNo FROM [Vehicle Recipient] WHERE ID2=VR.ID2-1),(SELECT TOP 1 KM_No As KMNo FROM [Vehicle Recipient] WHERE ID2=VR.ID2-1),0)) AS gETSum,
VR.KM_No,
VR.ID,
VR.NO_Shift,
VR.Date,
VR.[Vehicle Recipient],
VR.Staff_Name,
VR.Phone_Number,
VR.Vehicle_No,
VR.[Petrol Limit],
VR.[Before Petrol Refiling KM],
VR.[Petrol Refiling Amount BD],
VR.[Petrol Card Refiling Amount BD],
VR.Vehile_KM_Started,
VR.Remarks,
VR.ID2
FROM [Vehicle Recipient] AS VR;

تم استبدال سطر الخاص بـ DSum بهذا السطر
كود :
(VR.KM_No - iif((SELECT TOP 1 KM_No As KMNo FROM [Vehicle Recipient] WHERE ID2=VR.ID2-1),(SELECT TOP 1 KM_No As KMNo FROM [Vehicle Recipient] WHERE ID2=VR.ID2-1),0)) AS gETSum

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

والناتج النهائي لهذا الكود الخاص بالاستعلام


اتمنى ان يكون هذا ما تريده تماماً

تحياتى لك
وتمنياتى لك التوفيق
{ وَقُل رَّبِّ زِدْنِي عِلْمًا }
[ كن على يقين من اعمالنا نخطئ ومن اخطائنا نتعلم ولذلك لا شي مستحيل ]

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


 شرح كيفية عمل قاعدة بيانات تعمل على اكثر من جهاز على الشبكة الداخلية
الرد
تم الشكر بواسطة: حريف برمجة
#5
نعم أخي elgokr
هذا ما أريد
مع اني حاولت عمل الإجراء ولم أتمكن من ذلك
فإذا ستطعت تعديل المرفق أكون ممنون إلك
مع الشكر الجزيل
الرد
تم الشكر بواسطة:
#6
تعال على الـ 
كود :
Vehicle Recipient Query

وقم بعمل لها SQL View وليس Design View

ومن ثم نسخ هذا الاستعلام
كود :
SELECT
(VR.KM_No - iif((SELECT TOP 1 KM_No As KMNo FROM [Vehicle Recipient] WHERE ID2=VR.ID2-1),(SELECT TOP 1 KM_No As KMNo FROM [Vehicle Recipient] WHERE ID2=VR.ID2-1),0)) AS gETSum,
VR.KM_No,
VR.ID,
VR.NO_Shift,
VR.Date,
VR.[Vehicle Recipient],
VR.Staff_Name,
VR.Phone_Number,
VR.Vehicle_No,
VR.[Petrol Limit],
VR.[Before Petrol Refiling KM],
VR.[Petrol Refiling Amount BD],
VR.[Petrol Card Refiling Amount BD],
VR.Vehile_KM_Started,
VR.Remarks,
VR.ID2
FROM [Vehicle Recipient] AS VR;

وعمل له استبدال بما هو لديك فى الملف كاملاً
الان يمكنك عمل عرض او تصميم ستتمكن من رؤية الامور تعمل معك جيداً

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

تحياتى لك
وتمنياتى لك التوفيق
{ وَقُل رَّبِّ زِدْنِي عِلْمًا }
[ كن على يقين من اعمالنا نخطئ ومن اخطائنا نتعلم ولذلك لا شي مستحيل ]

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


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


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  دالة Sum Distinct atef_020 3 257 22-01-19, 06:17 PM
آخر رد: elgokr
  استفسار حول دالة DATEDIF alidispacher 1 481 03-12-18, 08:01 PM
آخر رد: keno0177
Video [VB.NET] دالة iif المتعددة في أكسيس ggtt17121985 0 390 06-05-18, 01:42 PM
آخر رد: ggtt17121985
  سؤال : كيفية استخدام دالة round haiderkh 2 909 30-08-16, 01:32 PM
آخر رد: haiderkh

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم