بارك الله فيك وزادك علما
كيف تبني برنامج مخازن ومبيعات بطريقة صحيحة ؟؟
بارك الله فيك ياأستاذنا الجليل محمد فؤاد
عند ضغط الرابط لتحميل الملف النهائي للبرنامج والذي يظهر في صفحة End في ملف المساعدة
تظهر صفحة المنتديات !!!!!
فأين يقع البرنامج المقصود في هذه الصفحة لتحميله .
وشكراً
أخي الفاضل أبو منتظر
حدث هذا التغيير نتيجة التحديث الاخير الذي جري علي المنتدي مما أثر علي روابط المرفقات الموجوده في الكتاب والتي بالطبع سيعاني منها جميع الكتب المشابهة لهذا الكتاب ومن ضمنهم مجلة الفريق العربي للبرمجة
لكن جاري مناقشة الموضوع ومحاولة حل المشكلة مع الادارة حتي ترجع الامور الي طبيعتها مرة أخري
وشكراً لك علي ملاحظتك الطيبة
وكل عام وأنتم بخير


محمد فؤاد تركي كتب:أختي الفاضلة
نور هنا
برجاء شرح مشكلتك بالضبط وما هو الخطأ الذي يقابلك عند كتابة رقم الفاتورة
أستاذى الفاضل / محمد
أولا ألف شكر على اهتمامك بالرد على تساؤلى لأن هذا الموضوع هو سبب اشتراكى فى المنتدى هنا
ثانيا تساؤلى هو اننى عند انشاء فاتورة الشراء وعند إدخال الكود التالى بوضعه فى حدث After update لحقل كود الصنف
هذا الكود
Private Sub كود_الصنف_AfterUpdate()
[بيان الصنف] = DLookup("[Name]", "Names", "Number=[كود الصنف]")
[بيان الصنف] = DLookup("[Name]", "Names", "Number=[كود الصنف]")
[unit price] = DLookup("[unit price]", "Names", "number=[كود الصنف]")
[unit] = DLookup("[unit]", "Names", "number=[كود الصنف]")
If IsNull(DLookup("[number]", "names", "[number]='" & [كود الصنف] & "'")) Then
MsgBox " هذا الكود غير موجود بدليل أصناف المخازن ", vbCritical
Cancel = -1
End If
End Sub-----------------
يفتح لى شاشة الفيجوال عيما يعنى ان هناك خطأ فى الكود
رغم اننى استعنت بالبرنامج الذى قمت حضرتك بوضعه عند الغنتهاء من هذه النقطة فقط وهو العينة رقم 4 من البنامج وعند تجربة الكود على برنامج سيادتك وجدت الكود يعمل بكفاءة عالية بدون مشاكل
لكن فى النسخة الخاصة بى تظهر المشكلة وحاولت الالتزام بكل المسميات التى وضعتها سيادتك لكن دون جدوى ولدى تفسير جاءنى الان فقط قد يكون هو السبب ولا اعرف كيف اعالجه
عندما قمت بتصميم نموذج دليل الاصناف لم يعطى نموذج فرعى مثلما اعطى مع حضرتك وهو الذى توجد فيه بعض الحقول مثل ودات فرعية - نسبة الوحدة الفرعية للوحدات الاساسية
تم تعديل هذه المشاركة بواسطة محمد فؤاد تركي في 30 نوفمبر 2009 في 21:04
محمد فؤاد تركي كتب:اذا سحمت لنا ارفاق نسخة من ملفك حتي نتتبع الخطأ ونعرف مصدر الخطأ ونحاول حل المشكلة
أستاذى / محمد
أرفقت نسخة من الملف لتعقب سبب المشكلة
الاخت الفاضلة
نور هنا
السلام عليكم ورحمة الله وبركاتة
أولاً: - تم فحص المرفق واصلاح المشاكل التي كانت موجوده في مرفقك
ثانياً: - سبب المشكلة كالتالي
1 - بما أن نوع الحقول التاليه في جدول names من نوع Text
name
unit price
فكان يجب عليك أن تفعلي نفس الشيء في نفس الحقول المقابله لها في جدول Transaction بأن يكون هذه الحقول من نوع Text أيضاً وهذا هو السبب الرئيسي للمشكلة لان هذه الحقول كانت في جدول Transaction نوع number وهذا غير صحيح
2 - موضع الكود الخاص بآداء هذه العملية كان مكرر مرتين داخل محرر فيجوال بيسك وهذا خطأ
مرة تحت حقل number
ومرة نفس الكود تحت حقل كود الصنف
لذلك تم ضبط الكود وتم وضعة تحت حدث عند الخروج (On Exit) بدلاً من (After Update)
مرفق الملف بعد التعديل
بالتوفيق ان شاء الله
تم تعديل هذه المشاركة بواسطة محمد فؤاد تركي في 1 ديسمبر 2009 في 12:46


محمد فؤاد تركي كتب:الاخت الفاضلة
نور هنا
السلام عليكم ورحمة الله وبركاتة
أولاً: - تم فحص المرفق واصلاح المشاكل التي كانت موجوده في مرفقك
ثانياً: - سبب المشكلة كالتالي
1 - بما أن نوع الحقول التاليه في جدول names من نوع Text
name
unit price
فكان يجب عليك أن تفعلي نفس الشيء في نفس الحقول المقابله لها في جدول Transaction بأن يكون هذه الحقول من نوع Text أيضاً وهذا هو السبب الرئيسي للمشكلة لان هذه الحقول كانت في جدول Transaction نوع number وهذا غير صحيح
2 - موضع الكود الخاص بآداء هذه العملية كان مكرر مرتين داخل محرر فيجوال بيسك وهذا خطأ
مرة تحت حقل number
ومرة نفس الكود تحت حقل كود الصنف
لذلك تم ضبط الكود وتم وضعة تحت حدث عند الخروج (On Exit) بدلاً من (After Update)
مرفق الملف بعد التعديل
بالتوفيق ان شاء الله
لا يسعنى الا ان اشكرك وأدعو الله ان يجازيك خيرا
فخيركم من تعلم العلم وعلمه
منتهى الاستفادة فى تصويب الاخطاء وشرح الاخطاء
ستتم المواصلة فى بناء بقية البرنامج
الحمد لله قطعت شوط جيد الليلة فى المتابعة
لى استفسارين أستاذ / محمد
الأول : أين أضع الكود الخاص بالـ progressbar حضرتك اخبرتنا ان نضعه فى الحدث on current فى اى زر هل فى خيارات النموذج ذاته ام فى مكان آخر لأنه لا يوجد فى الزر الحدث on current
الثانى :
وكذلك هل أضع هذا الكود
DoCmd.OpenReport "رصيد المخازن", acViewPreview
مع هذا الكود
Private Sub Command0_Click()
On Error Resume Next
Dim I As Integer
ProgressBar.Visible = True
For I = I To 10000
ProgressBar.Value = I
If I = 10000 Then
ProgressBar.Visible = False
End If
Next I
DoCmd.OpenReport "رصيد المخازن", acViewPreview
End Sub
فى الحدث on click فى زر فتح تقرير الأرصدة
وإذا كانت الإجابة بنعم فكيف اضع الكودين فى نفس الحدث لنفس الزر
وهل أضعهما بترتيب معين
بصراحة لا أستطيع ان أخبرك عن مدى سعادتى وإمتنانى لحضرتك
فكم هى فرحتى عندما استطعت أن استخرج رصيد للأصناف
فهذا من أهم ما كنت أسعى إيه كيفية استخراج الأرصدة للأصناف وكم تمنيت أن يأتى هذا اليوم
شكرا شكرا شكرا أستاذى
تم تعديل هذه المشاركة بواسطة نور هنا في 2 ديسمبر 2009 في 20:26
أختي الفاضلة
نور هنا
حاولي ان لا تشغلي بالك بموضوع progress bar مدام مازلتي في مرحلة غير متقدمة ويمكنك الاستمرار وفتح التقرير بدون شريط التقدم اما اذا كنت مصممة علي آداء هذه الخطوة فجربي أولا فاذا بآت محاولاتك بالفشل فضعي مرفقك ليتم التعديل عليه وشرح موضع الخطأ بالضبط الذي وقعتي فيه
تم تعديل هذه المشاركة بواسطة محمد فؤاد تركي في 3 ديسمبر 2009 في 00:12


تمام يا أستاذ / محمد
من خلال اتجربة والخطأ
قمت بألتصحيح على Progressbar
تمام
جارى الإستكمال
بسم الله الرحمن الرحيم
مشكككككككككككككككككككككككككككككككككككككككككككككككور
بارك الله فيك
اليكم برنامج
اول مشاركة بعد غيابى
برنامج مخازن ممتاز مع الكرار
بعد تشغيل الكراك تصبح النسخة مسجله الكراك فى المرفقات
المخازن
أستاذ / محمد
تمام جدا
مشيت فى البرنامج واستفدت الكثير والكثير
واهم ما استفدته الاانوع المختلفة من الاستعلامات وكيفية كتابة الاستعالام بطريقة SQL
لكن لى بعض الاستفسارات ( أعلم أننى أزعجتك كثيرا لكن عشمى فيك كبير )
أول استفساراتى :
فى فاتورة البيع او الشراء فى النموذج الفرعى يستلزم لكى تعمل المعادلة فى حقل الاجمالى او حقل الاجمالى بعد الخصم
أن
تقف داخل هذا الحقل ( اى تمر على هذا الحقل ) وغير ذلك لا تعمل المعادلة
ألا توجد طريقة افضل لكى تعمل المعادلة بدون ان نقف داخل حقل الاجمالى
جربت أن أقوم بجعل هذا الحقل Locked و disable وللأسف لم تعمل المعادلة
محمد فؤاد تركي كتب:أختي الفاضلة ضعي المرفق ليتم فحصة وايجاد حل للمشكلة
أستاذ / محمد
أولا :فى فاتورة البيع أو الشراء
معادلة الإجمالى سواء قبل الخصم أو بعده لا تعمل إلا بعد الدخول إلى حقل الإجمالى رغم ان هذا الحقل سيتم تغيير خصائصه ليصبح disabled و locked
ثانيا : فى فاتورة الشراء حقل Qty_in يبدو ان به مشكلة لأنه لا يقوم بإضافة الوحدات المشتراه من الصنف إلى الكميات الموجودة بالمخزن يتضح هذا عندما نذهب إلى تقرير رصيد الأصناف فلا نجد الرصيد سليم ولا نجد الكميات الواردة مسجلة بينما نجد كشف حساب كل مورد شغال تمام
ثالثا : وأريد توضيح عن Text box الذى قمت به حضرتك بإسم Qty_in_multi وما هى فائدته ولماذا لم نقوم حضرتك بعمل ذلك فى فاتورة البيع فى حقل Qty_out
رابعا : تقرير حركة المخزون لا يعمل عندى لا أعلم ما الخطأ فيه
خامسا : أرجو شرح الجزئية الخاصة بميكانيزم عمل جدول Subunit ليس شرح طريقة عمله .. لا ...بل شرح لفائدته كجدول يتم فيه تحديد الحد الأدنى من كل صنف وكذلك وضع الوحدات الفرعية وكيف يمكن الإستفادة الكاملة منه فى هذا البرنامج
سادسا : لم أستطيع ان اجعل التفقيط يعمل فى البرنامج عندى
فى النهاية أرجو من الله أن يتقبل منى خالص دعائى لك بموفور الصحة ودوام التوفيق
وأتشرف بأننى أتتلمذ على يدى حضرتك
وقد قدمت أول إسهاماتى فى منتدى برامج الأكسيس بعمل برنامج لصرف وإضافة الأصناف (كميات فقط)وشعته كموضوع فى منتدى الأكسيس وانتظر رأى حضرتك فيه
وجارى استكماله أيضا وإضافة المبالغ وأشياء أخرى
تم تعديل هذه المشاركة بواسطة نور هنا في 10 ديسمبر 2009 في 22:27
أختي الفاضلة
نور هنا
السلام عليكم ورحمة الله وبركاتة
اعذريني ان لم استطع الاجابة علي جميع أسئلتك المطروحة لانني الان أمر بفترة امتحانات وان شاء الله بعد الانتهاء من امتحان يوم السبت 12/12 وقتها سأكون في المنتدي بصفة يومية
اجابة السؤال الاول
لا يوجد مشكلة اطلاقا في الكود اذا قمتي باغلاق حقل المجموع عن طريق lock لهذا الحقل كل ما في الموضوع هو تنسيق واختيار الحدث المناسب لوضعة في المكان المناسب لكي يعمل الكود بشكل طبيعي لذلك يمكنك نقل هذا الكود ليصبح كمال في المثال
Private Sub Qty_in_Multi_AfterUpdate() Me.Total = unit_price * Me.Qty_in_Multi End Sub
فكما تلاحظين انني قمت بتغيير وضعية الكود من حدث الي حدث آخر ليفي بالغرض
أيضا هذا الكود ليس له معني ولا اعرف لماذا وضعتية هنا
Private Sub Qty_in_Multi_AfterUpdate() Me.Qty_in = Me.UnitRate * Me.Qty_in_Multi End Sub
اجابة السؤال الثاني
يظهر الرصيد خطأ في تقرير الارصده لان مصدر بيانات الحقل الخاص بالكميات الوارده والمسؤول تعن احتساب الرصيد هو الحقل Qty_in-Multi وليس الحقل Qty_in لذلك تم تعديل الاستعلام والتقرير بناء علي هذا
اجابة السؤال الثالث
الحقل Qty_in_multi مهمتة وكما شرحت سابقا بالكتاب الذي ضم شروحات هذا التطبيق هو حقل يقوم بتنسيب الكميات المدخلة فقط وليس المباعة الي رصيد المخزن بالشكل الصحيح
مثال
اذا استلمنا 10 شيكارة اسمنت أو استلمنا نصف طن اسمنت
علما بأن الــ 10 شيكارة = نص طن
يتم تحويل الكميات المدخلة بهذه الوحدات الي الوحدات الاساسية الخاصة بالرصيد
بمعني
الفكرة من هذا الحقل اذا قام المستخدم بادخال هذه الكميات سواء بالطن أو بالشيكارة يقوم البرنامج بتحويلها الي الوحده الذي تظهر بالرصيد وهي الكيلو
بطريقة ابسط
10 شيكارة اسمنت × وزن الشيكارة 50 كيلو = الرصيد المدخل للصنف وهو 500 كيلو وهذه عملية حسابية يقوم البرنامج اتوماتيكيا بعمل التحويلات المناسبة للوحدات بدون تدخل المستخدم وعمل هذه النسب خارج البرنامج علي الالة الحاسبة
اجابة السؤال الرابع
المشاكل الموجوده في الاستعلام والتقرير الخاص بحركة الصنف نفس مشكلة مصدر بيانات الحقل Qty_in-Multi لذلك تم تعديل مصدر البيانات والتقرير الان يعمل بشكل سليم
وسيتم الاجابة عن باقي الاسئلة لاحقا باذن الله
مرفق الملف


اجابة السؤال الخامس
حقل الحد الادني للاصناف من الحقول المهمة جداً بالبرنامج والذي لا يستغني عنها موظف يعمل بالمخازن حتي يستطيع مراقبة المخزون الذي قد قرب رصيده علي النفاذ
اجابة السؤال السادس
لا أري أدني مشكلة بالبرنامج والتفقيط يعمل بشكل سليم في تقرير فواتير الشراء والبيع


أستاذ / محمد
بصراحة استفدت كثيرا جدا من كل شىء خاصة الاكواد الجميلة وبحثت فى المنتدى فى الموضوعات الارشيفية لكى اتعلم أكثر وأكثر وقمت ببعض التغييرات الطفيفة على مشروع حضرتك حتى اختبر مدى استفادتى وللتسهيل على نفسى مثل استبدال بعض الاكواد بماكرو معين وهكذا ......
لكن لازال لدى مشكلتين :
الاولى :
رسالة الكمية الموجودة غير كافية تعمل معى بشكل خاطىء فقد حاولت فيها أكثر من مرة لكن يبدو ان عندى مشكلة فيها للاسف لا أعرفها وأريد أن أعرف أين أضع الكمية التى تمثل حد الأمان لكل صنف أقصد أضعها فى اى حقل
الثانية :
لقد فشلت فى عمل تقرير لحركة الصنف فلازال تقرير حركة صنف لا يعمل بكل صحيح وأريد أن اصف لحضرتك المشكلة التى تحدث عندى حيث فى الاستعلام الخاص به عندما أضيف جدول الحركة وجدول الأصناف ليس هناك مشكلة بينما عندما أقوم بإدراج جدول Add_doc وجدول Issue_doc لذلك اكتفيت بأن يكون الاستعلام من جدول الحركة فقط وأعلم أن هذا خاطىء لأنه يحرمنى من إظهار تاريخ العملية واسم المورد او العميل فى التقرير مما يحرمنى من الإستفادة منها فى تحديد تاريخ للتقرير
عفوا أستاذ / محمد
تم إصلاح المشكلة الأولى الخاصة برسالة الكمية المباعة فى حدث خروج حيث لازال الخطأ المتكرر يلازمنى بإستخدام حقل Qty_in بدلامن حقل Qty_in-Multi
فقد قمت بتصحيح الكود وتم التعديل فى المرفق الجديد
تبقى فقط المشكلة الثانية الخاصة باستعلام حركة الصنف
كما قمت بإضافة شريط قوائم خاص بالبرامج أعتقد أنه ظريف
تم تعديل هذه المشاركة بواسطة نور هنا في 22 ديسمبر 2009 في 08:50
محمد فؤاد تركي كتب:
أستاذ / محمد
هناك توضيح بسيط
المرفق السابق به محاولة بطريقتين لعمل استعلام لحركة صنف
الاول اسمه Item_Trans وهو لا يتضمن إلا جدول Transactin فقط وهو ما بنيت عليه التقرير الذى لا يوجد به تاريخ
والثانى اسمه Item_Transaction والصورة التى أرفقتها حضرتك من هذا الاستعلام الذى يتضمن جدولى Add_doc و Issue_doc
لكن رغم ذلك فهو لا يعمل ولا يعرض اى بيانات عن اى صنف
الاخ الكريم محمد
مجهود غير عادى لموضوع كبير تم اختراقة باسلوب هادى جدا
اخذتنى فى رحلة الى الاكسيس من الصفر الى عالم المحترفين
جمعت حولك تفاعل جميع الاساتذة بالمشاركة و الاعضاء بالتفاعل
فى 344 رد و 126608 مشاهدة
جرعات متنوعة عالية الدسم من الاكسيس
اقسم بالله انك تعبتنى جدا من كتر كرمك
و لكن توقفت كثيرا امام استعلام التوحيد واكتشف ان له اهمية كبيرة جدا
تستحق الدراسة بعمق
و بحث فى جميع ردودك و مشاركات الاخ ايهاب عثمان و الاخت الدكتورة زهرة
و الروابط المتعلقة باستعلام التوحيد
و توصلت الى طريقة بسيطة فى تنفيذة بخطوات تكوين استعلامات تحديد و الربط بينهما بــــ UNION
و لكن توقفت امام تغير المسميات
اليك المرفق
هل لك تتبع طريقتى ان صحت حتى النهاية
او تنفذ استعلامك للتوحيد عن طريق تنفيذة باستعلام التحديد خطوة بخطوة
اشكرك
اذا لم تخطط للنجاح , فقد خططت للفشل
الاخت الفاضلة نور هنا
الاخ الفاضل aminyousif
السلام عليكم ورحمة الله وبركاتة
أعتذر لكم عن عدم استطاعتي عن متابعة المشاكل الحالية اثناء تطبيقكم للشرح حيث انني في قمة انشغالي الان ولا استطيع الرد علي تساؤلاتكم لكن من خلال الاطلاع عن المرفقات وجدت انها محاولات فعلا جيده وتنقصها فقط التركيز حتي تصلون الي غايتكم
ربنا يوفقكم وان شاء الله بعد انتهاء زوبعة الانشغال والعمل سأتواصل معكم باذن الله
وأشكر الاخ aminyouif كل الشكر علي كلماتة الرقيقة والاطراء
بارك الله فيك أخي الكريم وان شاء الله نراك من المميزين داخل هذا القسم الكبير


الاخ الكريم محمد فؤاد
نقدر و نقبل اسباب انشغالك الان و اليومين دول
وعليك ان تتقبل انتظارى الان و اليومين دول :)
منتظرك
اذا لم تخطط للنجاح , فقد خططت للفشل
ولا يهمك أستاذ / محمد
ألف شكر على المساعدة طيلة الفترة الماضية
وبالفعل الامور تحتاج للتركيز
وقد قمت بحل المشكلة التى كانت لدى فى استعلام حركة الصنف من خلال التجربة والخطأ اكتشفت أين كان الخطأ