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

مساعدة عاجلة جدا

مغلق
بدأه العربي في 8 سبتمبر 2001 · 6 رد · 658 مشاهدة · في مراجعة المواضيع
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

أرجو أن ترحبوا بي عضوا معكم

أواجه مشكلة في إجراء علمية حسابية حيث إنني ارغب في جعل آخر رصيد رصيدا سابقا في علمية احتساب رصيد المواد بمخزن ما في كل إدخال أو صرف جديد للمواد ، كيف احل المشكلة ؟

الرصيد-الموادالمصروفة-الموادالجديدة-الرصيدالسابق-رقم المادة

1

وقد قمت باحتساب الرصيد بواسطة العملية الحسابية التالية :

IIF ( المواد الجديدة ) > 0 ; ( الرصيد السابق ) + ( المواد الجديدة ) ; ( الرصيد السابق ) – ( المواد المصروفة ) .

#2

الأخ العربي

أولا نرحب بك ترحيبا كثيرا .

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

ولك تحياتي

#3

أخي العزيز أبو حمود

أشكرك على الترحيب بي

بالنسبة لسؤالك فاسمح أن اعرض عليك الموضوع بشئ من التفصيل :

إن ما أحاول عمله هو استعلام يقوم باحتساب الرصيد للمادة في المخازن سواء عبر توريد مواد جديدة أو عبر حركة الصرف للمواد ، وهذا يعنى أن

الرصيد = (الرصيد السابق + التوريد الجديد) – المواد المصروفة

والرصيد السابق هو نفسه آخر رصيد كان للمادة قبل التوريد أو الصرف ، وعليه فلكي تتم العملية الحسابية السابقة لا بد أن يقوم البرنامج باعتبار آخر رصيد هو الرصيد السابق ، واليك تصميم الاستعلام

رقم السند - رقم المادة -الرصيد السابق -المواد الجديدة - المواد المصروفة - الرصيد

مع العلم أن المواد الجديدة تأتي من جدول لإدخال المواد الجديدة ، والمواد المصروفة تأتي من جدول آخر لصرف المواد ، وهذا يعنى أن الإدخال في كل مره سيكون إما لحركة التوريد أو لحركة الصرف .

المشكلة كيف اجعل النظام يتعرف في كل عملية جديدة أن آخر رصيد هو الرصيد السابق في العملية الجديدة .

#4

سؤال آخر

هل تحفظ الرصيد السابق في جدول ؟

وإذا كان الجواب لا فكيف تعرف الرصيد الذي كان بالأمس للمادة ؟

وضح حقول جدول المخازن مع شرح لوظيفة كل حقل .

ولك تحياتي

#5

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

الاخ / العربي

هذ مثال يعمل على الاكسيس 2000

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

http://mypage.ayna.com/mesfer823/a2000.zip

وتقبل تيحاتي / مسافر

#6

الاخ ابو حمود

دعني امنحك شرحا اكثر

1- حركة التوريد للمواد:

محضر الفحص - سند الاضافة - بطاقة امين المخزن

حيث ان بطاقة امين المخزن هي اخر موقع للمواد ، اذ تسجل بها كل المواد وتاريخ ورودها ورقم السند .. الخ

2- حركة صرف المواد :

سند صرف مواد - بطاقة امين المخزن - سجل العهدة

ومن الواضح ان بطاقة امين المخزن التي تنتهي اليها المواد هي ايضا مصدر صرف المواد حيث توجد لكل مادة بطاقة مستقلة

يوجد جدول لنعم لحفظ الرصيد السابق حيث يفترض ان يقوم الاستعلام بارسال المعلومة الى الرصيد السابق في الجدول ، الذي يفترض انه عند اجراء اي عملية جديدة يقوم بوضع الرصيد في خانة الرصيد السابق في الاستعلام من اجل احتساب الرصيد الجديد وهكذا .

اما بالنسبة للجدول فهو كالتالي :

رقم المادة-التاريخ-رقم السندللصرف-رقم السند للاضافة-الكمية المستلمة - الكمية المصروفه - الرصيد .

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

ارجو ان اكون وفقت في الشرح .

الاخ مسافر :

شكرا لك ، العمل قريب من الفكرة ولكنه غير كافي فشكرا لك

#7

أولا إنشئ حقل في الجدول اسمه تسلسل واجعل نوعه ترقيم تلقائي .

ثانيا في حدث عند الخروج من حقل الكمية المصروفة ضع الكود التالي :

If Not IsNumeric([الكمية المصروفه]) Then Exit Sub

If Me![تسلسل] = 1 Then

Me![الرصيد] = [الكمية المستلمة] - [الكمية المصروفه]

Exit Sub

End If

Dim db As Database

Dim rst As Recordset

Set db = Application.CurrentDb

Set rst = db.OpenRecordset("SELECT [جدول العربي].تسلسل, [جدول العربي].الرصيد, " & CLng([Forms]![نموذج العربي]![الكمية المستلمة]) & " AS [الكمية المستلمة الجديدة], " & CLng([Forms]![نموذج العربي]![الكمية المصروفه]) & " AS [الكمية المصروفة الجديدة], ([الكمية المستلمة الجديدة]+[الرصيد])-[الكمية المصروفة الجديدة] AS [الرصيد الجديد] " _

& " FROM [جدول العربي] WHERE ((([جدول العربي].تسلسل)= " & [Forms]![نموذج العربي]![تسلسل] & "-1));")

Me![الرصيد] = rst![الرصيد الجديد]

rst.Close

db.Close

بافتراض أن إدخال البيانات يكون بالتسلسل التالي الكمية المستلمة ثم الكمية المصروفة .

غير أسم الجدول وأسم النموذج وأسماء مربعات النصوص إذا كانت نختلفة لديك .

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

ملاحظة لماذا لم تجعل الجدول الذي يحوي الحقول:

رقم المادة-التاريخ-رقم السندللصرف-رقم السند للاضافة-الكمية المستلمة - الكمية المصروفه - الرصيد

ثلاثة جداول الأول للكمية المستلمة مرتبط مع جدول تسجيل المواد بعلاقة رأس مع أطراف وجدول للكمية المصروفة مرتبط مع جدول تسجيل المواد بعلاقة رأس مع أطرف وجدول للرصيد يحتوي حقلي رقم المادة التاريخ الرصيد مرتبط بعلاقة رأس مع أطراف بجدول تسجيل المواد .

ولك تحياتي

هذا الموضوع مغلق.

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