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

مخزون بثلاث حركات

مغلق
بدأه حبر القلم في 3 مارس 2007 · 20 رد · 1,886 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

اخوتي لدي سؤال حيرني كثيرأ.

هوكيف احسب مخوزن بثلاث حركات .

تفصيل:

لدي محل تجاري

1_ استورد فيه بضائع

2_ ابيع البضائع

3_بضائع مسترجعه من الزبائن.

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

المخزون = (1+3)-2

وجزاكم الله خيراً,,,,,

تحياتي,,,,

#2

عزيزي الفاضل تحية لك

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

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

وَمِنَ النَّاسِ مَن يُعْجِبُكَ قَوْلُهُ فِي الْحَيَاةِ الدُّنْيَا وَيُشْهِدُ الله عَلَى مَا فِي قَلْبِهِ وَهُوَ أَلَدُّ الْخِصَامِ

مواضيعي ومشاركاتي

#3

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

أولا - كلام أخي همام صحيح ( متى ماوضع السائل مثال فسيجد الإجابة السريعة )

لماذا ؟

لأن التعديل على مثال جاهز أرحم 100 مره من عمل مثال من الالف للياء

لكن تستاهل أخي حبر القلم هذا مثال لعله يفي بغرضك .... تحياتي

Ekseer

Ink.rar

#4

اخي اكسير شكرا لك وجزاك الله خير عن هذا الجهد

ولأخي حبر القلم كان قصدي المصلحة فقط وما تزعل

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

اخوك همام

وَمِنَ النَّاسِ مَن يُعْجِبُكَ قَوْلُهُ فِي الْحَيَاةِ الدُّنْيَا وَيُشْهِدُ الله عَلَى مَا فِي قَلْبِهِ وَهُوَ أَلَدُّ الْخِصَامِ

مواضيعي ومشاركاتي

#5

اخي الفاضل همام

اخي الفاضل اكسير

بارك الله فيكم جميعا على المساعدة

لدي تعقيب بسيط على الموضوع وآمل ان يكون فهمي للموضوع خاطىء

طبعا الاخ الفاضل حبر القلم

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

1. حركة الاستيراد

2. حركة البيع

3. حركة المسترجع

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

1. جدول الاصناف والكميات

2. جدول الموردين

3. جدول الاستيراد

4. جدول البيع

5. جدول المسترجع

6. جدول المخزون

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

وقد استغربت من الحل المقدم من اخي اكسير بهذه الطريقة انه وضع كل شيء في جدول يتيم وبدأ الحساب مباشرة في الاستعلام طبعا اعلم انه مثال على السريع لان السائل لم يضع مثال او شرح كافي وقد يكون لقلة خبرته في مثل هذا النوع من الحركات . فإذا كنا نحن نحوس من اجل ايجاد حركه واحده للمبيعات فما بالك بثلاث حركات دفعه واحده لا تعتقدون ان الأمر بهذه السهوله فهو يتطلب الى بناء علاقات قوية ومتماسكة بين البرنامج وهذه اعتقد والله اعلم انها لا تتحقق الأ في الشكل الطبيعي الخامس من اشكال قواعد البيانات الطبيعية وهو الربط بين عدة كيانات بواسطة متعدد الى متعدد والسبب في ذلك ان سوف تمر على كل صنف وتحسب كم مقدار النقصان منه وكم تم الاستيراد منه وكم المسترجع منه ( انا الان اتحدث عن كيان واحد فقط وهو الاصناف ) فما بالك ببقية الكيانات وهي المبيعات والمخزون من اجل ايجاد حركه كامله .

عموما لا اريد ان اطيل عليكم وكما ذكرت في بداية حديثي اتمنى ان يكون فهمي خاطىء للموضوع ( طبعا لو كان متواجد الاساتذه في هذا المجال - المحاسب الخبير في هذه المواضيع اشرف خليل - او الاستاذ احمد - او الاستاذ ايهاب ) لتم حل المشكلة بطرق علمية محاسبية بحته

تم تعديل هذه المشاركة بواسطة zahrah في 7 مارس 2007 في 01:05

#6

المعلمه زهره بارك الله فيك

نعم هذا ماكنت اقصده من سؤالي.

ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ

اخي اكسير

مثال رائع

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

ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ

استاذي همام.

الله لايجيب الزعل وتأخري للرد كان ظرف صحي والحمدلله .

مشششششششششششششكور على مرورك.

#7

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

--------------------------------------------

الأخت زهرة لاتستغربي فمثالي فعلا كا ن عالسريع فقد فهمت من السائل هذه الجزئية ( اريد استعلام بهذه الطريقه

المخزون = (1+3)-2)

فعملت حركة جدول واحد لمخزون من صنف واحد لمورد واحد - وبعدين لاتتوقعون أني ذلك الجهبذ في قواعد البيانات الذي يقوم بعمل برنامج حركة بضائع ولم تتجاوز عدد مشاركته 250 مشاركة إذا فالجود من الموجود - ولم أكتب الا ماظننته يفي بغرض السائل ويفتح له أول الطريق هكذا كان إعتقادي لكن للأسف طلع الجواب غير المقصود .. وعلى كل حال

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

Ekseer

تم تعديل هذه المشاركة بواسطة ekseer في 7 مارس 2007 في 21:29

#8

الاخت زهرة بارك الله فيك وزادك علما

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

وَمِنَ النَّاسِ مَن يُعْجِبُكَ قَوْلُهُ فِي الْحَيَاةِ الدُّنْيَا وَيُشْهِدُ الله عَلَى مَا فِي قَلْبِهِ وَهُوَ أَلَدُّ الْخِصَامِ

مواضيعي ومشاركاتي

#9

اخي الفاضل اكسير

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

كما ورد في الحديث : { إذا اجتهد الحاكم فأخطأ فله أجر , وإن أصاب فله أجران } . متفق عليه - اسم المصدر : سنن أبي داوود - اسم الكتاب : الأقضية - رقم الحديث : 3573

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

فأنت قمت مشكورا بالرد على السؤال واجتهدت وكان هناك بعض الخطأ في عدم معرفة مايريده السائل الكريم فلك ان شاء الله الاجر وهو اجر الإجتهاد وإن كنت اصبت فلك اجران اجر الإجتهاد واجر الإصابه .

لا تعتقد اخي اكسير انني تلك الفتاة التي حازت كل العلوم بل على العكس قد اكون اقلكم علما وخبره لأنني احسست من نبرات مشاركتك الأخيره كأنني احاول ان اضع عليك اللوم او اقول لك انك مخطىء في الإجابه لا والله ولكن احببت ان اوضح بعض الامور الهامه لمثل هذا النوع من عمليات الحركات وكما تعلم ان المشاركة مفتوحة للجميع وحتى لا يأتي شخص ويعتقد ان هذا الحل هو بهذه الطريقة ويفاجأ عند محاولته اضافة بعض الاصناف لنقول مثلا ( شاشة كمبيوتر ) في الجدول او البرنامج فكم سيتكرر معه هذا الصنف في الجدول بالتأكيد سيكون الآف المرات نتيجة لتكرار الصنف لذا فقد وجهت النداء الى خبراء المحاسبه لأنهم اعرف بهذه الطرق مني ولديهم قواعد محاسبية .

اخي اكسير

بصفتي مشرفة القسم فلزاما علي متابعة كل المشاركات ومحاولة التصحيح في بعض المفاهيم اذا تطلب الأمر ذلك والمشاركه معكم لأن الفائدة الأولى والأخيره لنا جميعا وسيأتي عليك اليوم الذي ستكون فيه خبيرا او مشرفا في المنتدى وسترى اشياء خافية عليك وستواجه بعض النقد ولن ادوم لكم طويلا في المنتدى وقد يكون موعد الرحيل قد حان وهذه هي حالة المنتديات ولكن بالحلم والأناة والصبر وعدم تعجل الأمور ستصل الى ما تريد ان شاء الله .

ختاما لك مني كل الشكر والتقدير على هذا التنبيه .

#10

جزاكم الله خير على هذا المرور .

ولدي سؤال بسيط الله يحفظكم .

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

وشكراً. :rolleyes:

#11

بالطبع اخي حبر القلم

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

ولنأخذ مثال على ذلك :

نفرض ان لديك قاعدة بيانات وحيده بها عدة جداول وهذه الجداول بها كم هائل من البيانات فإن كل ( بت ) مستهلك من حجم القاعدة الأساسي والذي يقدر بحوالي 2 قيقابايت وكان لديك حجم البيانات في القاعدة هو 1.3 قيقابايت فبالطبع سيكون الضغط شديدا على القاعدة وستلاحظ البطء في كل شيء سواء عند فتح القاعدة او عند عمل استعلامات عن بيانات معينه والسبب ان ( الجمل وما حمل ) كله في القاعدة .

لنأتي للشق الثاني : وهو انه يوجد لدينا عدة قواعد بيانات ولنقول مثلا ثلاث قواعد بيانات ( يعني لديك 6 قيقا بايت ) طبعا افضل من 2 قيقا بايت هنا تستطيع العمل بحريه اكبر نظرا لتوزيع الضغط على القواعد الثلاث .

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

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

تم تعديل هذه المشاركة بواسطة zahrah في 8 مارس 2007 في 00:04

#12

إخوتى الكرام

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

بالنسبة للموضوع من الناحية المحاسبية لا يلزم أن نخصص جدولا لكل عملية والعمليات فى المحاسبة إما أن تكون دائنة أو مدينة مهما إختلفت طبيعة العمل إستيرادا كان أم غيره

وتكون العمليات(إستيراد _ بيع _مرتجع _أو غيره من العمليات)ويفرق بين هذه العمليات بكود الحساب ولا داعى لأن نفرد لكل نوع جدول وأقترح جدولان للعمليات يضم الجدول الرئيسى رقم العملية أو القيد والتاريخ والبيان وطريقة الدفع والجدول التابع به تفاصيل القيد ويربط الجدولين برقم القيد وكما ذكرت الأخت الكريمة نفرد جدول للعملاء وجدول للموردين وللحديث بقية إن شاء الله تعالى

#13

السلام عليكم

أختي الفاضلة زهرة ( شكرا كل كلامك موافق عليه أجزل الله لك المثوبة ومقدر تعقيبك وتصحيحك والله أن القلب صافي وأكن لك وللجميع كل إحترام وتقدير )

الحقيقة أتشرف أن أتعلم على أيديكم لو كل درس بكاام أطراق أنا أقبل :wacko:

مالا أقبله :angry: هو هذا الجزء من حديثك

اقتباس
ولن ادوم لكم طويلا في المنتدى وقد يكون موعد الرحيل قد حان

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

أخوك إكسيرالحياة

#14

شكرا اختي زهره ع

#15

شكرا اختي زهره على هذه الشرح.

واضم صوتي للأخ /اكسير

اقتباس
ولن ادوم لكم طويلا في المنتدى وقد يكون موعد الرحيل قد حان

جزاك الله خير.

#16

السلام عليكم

سوف اشارك بالنقاش من وجهه نظري.

اني ارى كثير من المبرمجين يستعملون طريقه (تخزين الحسابات) وهو اكبر خطاء يقع فيه المبرمج. هذه الطريقه كانت سائده في الثمانينيات. اي في القرن السابق. حيث كانت الكومبيوترات بطيئه وتستعمل طريقه تخزين الحسابات لتسريع عمل الكومبيوتر او البرنامج ككل.

اما اليوم وفي تكنلوجيا السرعه فهذه الطريقه عفا عنها الزمن. والطريقه الحديثه هي (الحسابات بزمن التشغيل) run time calculation

وهي طرقه فاعله وتجعل عمل المستخدم اسهل وعمل المبرمج اسهل ايضا. وهي قليله الخطاء (less human error) .

in-out=StockOnhand

المتوفر يساوي المشتريات ناقص المباع.

StockinQty=Dsum("inQty","STOCKIN","StockNo=55592100") f1

في المعادله الاولى f1 انت تحصل على الموجودات من جدول المشتريات لصنف معين

StockOutQty=Dsum("OutQty","STOCKOut","StockNo=55592100") f2

في المعادلة الثانيه f2 انت تحصل على المبيعات من جدول المبيعات لصنف معين

StockOnHand=StockInQty-StockOutQty f3

في المعادلة الثالثة انت تحصل على الكمية المتوفرة لهذا الصنف

نجد بهذه الطريقه ان المسترجع لا تحتاج له؟ لان التغير في الفاتوره سوف يغير المعادلات ككل.

كذالك هذه الطريقه تعرض لك الكمية المتوفره في صندوق اسفل الفاتوره لهذا الصنف وهل هذا الصنف متوفر او لاء فاذا الصنف غير متوفر سوف لن تصدر فاتوره لهذا الصنف.

دائما استعمل طريقه الحسابات بزمن التشغيل هي اسلم لحساباتك واسهل لمستخدم وهذه الطريقه ايضا استعملها لحساب الزيون مثل

احسب جميع الفواتير لزبون معين ثم احسب الدفعات التى دفعها ثم اقوم بطرح الناتجين لاحصل على المتبقي على الزبون .

أي عندما يحضر الزبون ويطلب اغراض لشراء عندما يقوم البائع بادخال اسم الزبون بالفاتوره البرنامج يقوم بحساب المتبقي عليه ويعرضها في صندوق اسفل الفاتوره لبائع بحيث اذا تجاوز حد معين ربما لا يصدر الفاتوره له لان الزبون قد تخطى الحد المسموح له لبيع بالدين.

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

مع تحياتي

تم تعديل هذه المشاركة بواسطة pc.2058 في 8 مارس 2007 في 09:26

#17

مارأيكم في هذا المثال.

وارجوا من لديه اضافه ان يقوم بالتعديل.

db1.rar

#18

حبر القلم. جيد مع وجود خطاء في الحساب.

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

وشكرا

#19

اضافة جديدة وبسيطع

على الفكرة الجميله السابقة

عسى ان تكون اضافة مفيدةma_dba.rar

ma_dba.rar

#20

أخى الكريم PC.2058

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

قد تكون الفكرة عملية بالنسبة لعمليات البيع والشراء فأرجو منك ارفاق مثال

ولى سؤال ما العمل إذا كان لدينا فى المؤسسة مايقارب من الف حساب ( حسابات رئيسية يتفرع منها حسابات فرعية والفرعية لها فروع ( خمس مستويات مثلا فما الحل )

أتمنى توضيح المسألة ولك منى كل التقدير والدعاء

#21

اخى etqan54

لم افهم سؤالك؟ او بالاحرى طريقة تصميم الجداول غير صحيح؟؟؟؟؟ الحسابات مهما تفرعت يجب ان يكون لها مفتاح رئيسي انت تصنعه ....مثال : اول 3 ارقام يمثل المنطقه الرقمان اللذي يليهم يمثل نوع الحساب والارقام اللتى تليهم يمثلون الحساب نفسه؟ هذا مثال بسيط عن تصنيع الارقام المميزه لحسابات معينه وكل هذا يعتمد على نوع العمل..... لنفرض ان عندي زبون في المنطقه A رقمها 1 ونوع حسابه مشتريات بالدين 2 ورقم الحساب نفسه 123456 اذن 123456 2 001ا ذن اصبح عندك رقم مميز لرقم الزبون هذا وتستطيع ان تستعمله في عملياتك الحسابيه.. وعندي رقم الحساب نفسه نوعه بالنقدي اذن 2 سوف تصبح 1. وهكذا .....

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

ارجوا اني افدتك.

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

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