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

إظهار آخر مخزون لصنف مُحدّد في النموذج

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

الأخوة الأعزاء سلام من الله عليكم ورحمة منه وبركاته

لدي برنامج لإدارة مخزون أحبار طابعات كمبيوتر في شركة، أيّ قيد أو عملية تتم فيه تكون إمّــا استلام أحبار (من مورّد مثلاً) وبالتالي زيادة المخزون للصنف الذي تم استلام أحبار من نوعه، أو (الخيار الثاني) توصيل أو تسليم حبر لموظف ما وبالتالـــي طبعاً نقصان المخزون لهذا النوع من الحبر الذي تم تسليمه. الفكرة طبعاً واضحة كأي برنامج لإدارة مخزون ولكن أردتُ سردها للإيضـــاح فحسب.

المشكلة الـــتي واجهتني كانت كالآتي:

جميع انواع الأحبار وضعتها في List Box في شاشة العمليات أو القيود، أريد عندما أختار أيّ نوع من هذه الأحبار لإجراء قيد تسليم أو استلام (مثلاً HP InkJet 45 Black) يظهر لي في خانة أو مربع نص ما في النموذج المخزون الحالي لهذا الصنف(وهو طبعاً يأتي من آخر قيد(سجل) تمّ لهذا النوع من الحبر سواء تسليم أو استلام) حتى أتمكّن من التأثير عليه إما بالزيادة عند الإستلام من المورّد أو بالنقصان عند التسليم للموظف أو المستخدم، وأريد ذلك أن يتم سواء بمجرّد اختيار نوع الحبر من الــ List Box أو حتى بتنفيذ كود معيــّن بأي نوع من أنواع الأحداث (يعني حتى لو اضطُررت لتشغيل الحدث عن طريق زر أمر Command Button).

أرجو أن أكون قد وُفّقتُ في إيصال استفساري لكم إخوتي في الله

جزاكم الله خير الجزاء

سبحان اللّه وبحمده... سبحان الله العظيم

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

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

وملء ماشاء من بعده..عدد الحركات والسكنات وعدد ماكان ومالم يكُن.. عدد أيام

الدنيا وعدد صفق الشجر وعدد رمل عالج ومثل زبد البحر.. وإلى أن يـــشاء الله رب

العالميـــن.

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

اللهم لك الحمد كما ينبغي لجلال وجهك وعظيم سلطانك كما لم يحمدك أحد من خلقك

إلى يوم الدّيـــن

[يمين]--------------------------------------------------

[/يمين]

وَممّا زادني شرَفاً وتيهاً.... دُخولي تحت قولكَ ياعبَادي

وَكدتُ بأخمصي أطأ الثُّريّا.... وأن صيّرت أَحمدَ لي نَبيّا

#2

اخي الكريم اهلا بك..

لعمل ذلك يلزم ان يكون مصدر السجل لهذه القائمة ماخوذا من جدول الاصناف، كما تفضلت، ولكن باضافة عمود هو اخر مخزون من كل صنف،

عنده وعند الاختيار من ال List Box فانه يمكن من خلال الكود تعبئة كربع النص ذلك بالقيمة المطلوبة:

مثال حدث عند النقر Click على اي عنصر من القائمة..

Temt2 = List0.Column(1)

حيث:

Text2 هو مربع النص الذي سيدخل فيه اخر مخزون..

List0 قائمة الاصناف التي يتم منها الاختيار..

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

همام

تم تعديل هذه المشاركة بواسطة همام ابوعرقوب في 21 أغسطس 2007 في 14:34

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

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

#3

أخي العزيز المبرمج القدير/ أبو عرقــــوب

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

أشكرك أوّلاً على الإهتمام والرد السريع

ثانياً بالنسبة للموضوع فالّذي فهمته هو إضافة حقل جديد في جدول العمليات (القيود) وليس جدول الأصناف ليستقبل آخر مخزون لأي صنف، وبالنسبة للكود فقد فهمته ماعدا .column(1) ، فماهو الرقم (1) ؟ أليس من المفترض تحديد اسم الحقل الجديد الذي فيه آخر قيمة للمخزون لتذهب قيمته الى Text2 ؟

صوّبني أخي العزيز

سبحان اللّه وبحمده... سبحان الله العظيم

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

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

وملء ماشاء من بعده..عدد الحركات والسكنات وعدد ماكان ومالم يكُن.. عدد أيام

الدنيا وعدد صفق الشجر وعدد رمل عالج ومثل زبد البحر.. وإلى أن يـــشاء الله رب

العالميـــن.

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

اللهم لك الحمد كما ينبغي لجلال وجهك وعظيم سلطانك كما لم يحمدك أحد من خلقك

إلى يوم الدّيـــن

[يمين]--------------------------------------------------

[/يمين]

وَممّا زادني شرَفاً وتيهاً.... دُخولي تحت قولكَ ياعبَادي

وَكدتُ بأخمصي أطأ الثُّريّا.... وأن صيّرت أَحمدَ لي نَبيّا

#4

عزيزي Archive اهلا بك من جديد..

الجملة Column هي لاخذ قيمة من عمود معين من ال List Box أو ComboBox

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

اقتباس
إضافة حقل جديد في جدول العمليات (القيود) وليس جدول الأصناف ليستقبل آخر مخزون لأي صنف،

الفكرة التي طرحتها سابقا تقوم على عملية تحديث مستمرة لقل المخزون لكل صنف، كيف..؟؟ بالكود من خلال جملة استعلام تحديث، او باي طريقة اخرى تراها مناسبة. ما نقوم بتحديثه هو جدول الاصناف وليس جدول العمليات، لان جدول العمليات بطبعه متحرك., اي دائم التحديث، بيناما جدول الاصناف لا يتحرك اي لا تسجل به عمليات يومية، بل تسجل به اسماء محددة ، اصناف، سلع وغيرها..

ارجو ان تكون الفكرة وصلت..

تم تعديل هذه المشاركة بواسطة همام ابوعرقوب في 21 أغسطس 2007 في 22:26

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

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

#5

أخي العزيز أبو عرقوب سلام من الله عليك..

قمت بإنشاء عمود آخر فعلاُ في الـ List Box وذلك بإنشاء حقل في جدول الأصناف ليستقبل آخر مخزون، نجحت العملية فعلاً وقمت بكتابة جملة SQL لتحديث جدول الأصناف بالقيمة الجديدة للمخزون والموجودة في نموذج العمليات (بعد اجراء عملية الزيادة أو النقصان طبعاً) ولكن الجملة لم تعمل بالشكل المطلوب وقامت بتحديث المخزون لكل الأصناف بناءُ على قيمة صنف واحد. الجملة هي:

UPDATE tblInkjet SET tblInkjet.CurrentStock = frmCirculation!txtStock2;

حيث:

tblInkjet هو جدول الأصناف

CurrentStock هو حقل المخزون الجديد(بعد التحديث) بجدول الأصناف

frmCirculation هو نموذج العمليات أو القيودالذي تتم فيه عملية حسابية تقوم إما بزيادة المخزون لصنف محدد أو نقصانه

txtStock2 هو مربع النص الذي يحتوي على المخزون الجديد (المُحدًّث) الذي نود اضافته لحقل المخزون الجديد بجدول الأصناف

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

جزيت خيراً وفـــيراُ

سبحان اللّه وبحمده... سبحان الله العظيم

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

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

وملء ماشاء من بعده..عدد الحركات والسكنات وعدد ماكان ومالم يكُن.. عدد أيام

الدنيا وعدد صفق الشجر وعدد رمل عالج ومثل زبد البحر.. وإلى أن يـــشاء الله رب

العالميـــن.

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

اللهم لك الحمد كما ينبغي لجلال وجهك وعظيم سلطانك كما لم يحمدك أحد من خلقك

إلى يوم الدّيـــن

[يمين]--------------------------------------------------

[/يمين]

وَممّا زادني شرَفاً وتيهاً.... دُخولي تحت قولكَ ياعبَادي

وَكدتُ بأخمصي أطأ الثُّريّا.... وأن صيّرت أَحمدَ لي نَبيّا

#6

(مشاركة فارغة)

سبحان اللّه وبحمده... سبحان الله العظيم

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

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

وملء ماشاء من بعده..عدد الحركات والسكنات وعدد ماكان ومالم يكُن.. عدد أيام

الدنيا وعدد صفق الشجر وعدد رمل عالج ومثل زبد البحر.. وإلى أن يـــشاء الله رب

العالميـــن.

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

اللهم لك الحمد كما ينبغي لجلال وجهك وعظيم سلطانك كما لم يحمدك أحد من خلقك

إلى يوم الدّيـــن

[يمين]--------------------------------------------------

[/يمين]

وَممّا زادني شرَفاً وتيهاً.... دُخولي تحت قولكَ ياعبَادي

وَكدتُ بأخمصي أطأ الثُّريّا.... وأن صيّرت أَحمدَ لي نَبيّا

#7

اخي الكريم، يجب ان تقوم بما يلي حتى ينجح التحديث المشروط للبيانات في الجدول:

1- كتابة كلمة Forms وهي كلمة سحرية الهدف منها وضع الاب الاساسي لمربع النص او اي عنصر تحكم تريد الوصول اليه..

اب بدل :

frmCirculation!txtStock2 نكتب: Forms!frmCirculation!txtStock2

2-لاستخدام الشرط في جملة SQL بالتاكيد تعلم انه تستخدم كلمة Where وهي موجودة في تصميم الاستعلامات..

حيث تقول بدل :

UPDATE tblInkjet SET tblInkjet.CurrentStock = frmCirculation!txtStock2

UPDATE tblInkjet SET tblInkjet.CurrentStock = frmCirculation!txtStock2 Where ItemCode = Forms!frmCirculation!Txtemp

طبعا قبلها يجب ان تكتب الجملة

Txtemp = List0.Column(1)

في حدث بعد التحديث لمربع القائمة..

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

تم تعديل هذه المشاركة بواسطة همام ابوعرقوب في 23 أغسطس 2007 في 11:50

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

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

#8

أخي الكريم أبو عرقوبسلام من الله عليك حيثــما كنــتنعم أخي الفكرة وضحت وجملة SQL وضحت ماعدا كلمة ItemCode والتى أعتقد أنك تقصد بها رقم الصنف أو نوع الصنف حسب تسميتي للحقل في جدول الأصناف. مع اعتقادي أن جملة Txtemp = List0.Column(1) ستقوم بإظهار عمود المخزون الحالي من مربع القائمة، حيث انها تتكون من عمودين هما الصنف والمخزون!!!عموماً سأقوم فوراً بالتجربة وأوافيك بالنتيجة بإذن الله وقد أتأخر قليلاُ في الرد لظروف السفر لمنطقة لايوجد بها اتصال بالنت، أما بالنسبة لموضوع ارفاق الملف فإني لم أفعل لعدم طلبك مني ذلك، أو عدم طلب أحد الأخوة الأعضاء ذلك ولم أشأ أن أثقل عليك بأخذ المزيد من وقتك أخي العزيز همـــّام، وهو بالمرفقات الآن وقد تجد طريقة التعامل مع النموذج خارجة عن المألوف بعض الشئ كطريقة تليق بالمبتدئين.أتركك في حفظ الله ورعايته ولك مني كل الشكر والتقديرأخيـــك ArcKive وليس Archive :)

الملف بالمرفقات الآن، أضفت الرد السابق دونه سهـــواُ..

Inkjet.rar

سبحان اللّه وبحمده... سبحان الله العظيم

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

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

وملء ماشاء من بعده..عدد الحركات والسكنات وعدد ماكان ومالم يكُن.. عدد أيام

الدنيا وعدد صفق الشجر وعدد رمل عالج ومثل زبد البحر.. وإلى أن يـــشاء الله رب

العالميـــن.

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

اللهم لك الحمد كما ينبغي لجلال وجهك وعظيم سلطانك كما لم يحمدك أحد من خلقك

إلى يوم الدّيـــن

[يمين]--------------------------------------------------

[/يمين]

وَممّا زادني شرَفاً وتيهاً.... دُخولي تحت قولكَ ياعبَادي

وَكدتُ بأخمصي أطأ الثُّريّا.... وأن صيّرت أَحمدَ لي نَبيّا

#9

أخي العزيز/ أبو عرقوب

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

وكل عام وأنت بخير وتقبل الله صيامكم وقيامكم

تجدني فعلاً في قمة الأسف نظراً لتأخري الشديد في الرد عليك ولكن لظروف خارجة عن إرادتي.

بالنسبة لجملة SQL فعلاً تم التنفيذ بحمد الله ثم بفضل تعاونك ومساعدتك، ولكن لي سؤال آخر:

إذا كان لدي حقل في جدول يحتوى على بيانات مكررة وأريـــد أن أستعرض بيانات هذا الحقل بدون تكرار في نموذج أو تقرير، كيف يتم ذلك؟؟

جزاك الله خيرا وأخوتي الأعضاء

سبحان اللّه وبحمده... سبحان الله العظيم

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

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

وملء ماشاء من بعده..عدد الحركات والسكنات وعدد ماكان ومالم يكُن.. عدد أيام

الدنيا وعدد صفق الشجر وعدد رمل عالج ومثل زبد البحر.. وإلى أن يـــشاء الله رب

العالميـــن.

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

اللهم لك الحمد كما ينبغي لجلال وجهك وعظيم سلطانك كما لم يحمدك أحد من خلقك

إلى يوم الدّيـــن

[يمين]--------------------------------------------------

[/يمين]

وَممّا زادني شرَفاً وتيهاً.... دُخولي تحت قولكَ ياعبَادي

وَكدتُ بأخمصي أطأ الثُّريّا.... وأن صيّرت أَحمدَ لي نَبيّا

#10

(مشاركة فارغة)

سبحان اللّه وبحمده... سبحان الله العظيم

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

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

وملء ماشاء من بعده..عدد الحركات والسكنات وعدد ماكان ومالم يكُن.. عدد أيام

الدنيا وعدد صفق الشجر وعدد رمل عالج ومثل زبد البحر.. وإلى أن يـــشاء الله رب

العالميـــن.

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

اللهم لك الحمد كما ينبغي لجلال وجهك وعظيم سلطانك كما لم يحمدك أحد من خلقك

إلى يوم الدّيـــن

[يمين]--------------------------------------------------

[/يمين]

وَممّا زادني شرَفاً وتيهاً.... دُخولي تحت قولكَ ياعبَادي

وَكدتُ بأخمصي أطأ الثُّريّا.... وأن صيّرت أَحمدَ لي نَبيّا

#11

الكلمة الخاصة بعرض البيانات بدون تكرار في SQL هي Distinct اي مختلف.. او غير متكرر.. تكتب هكذا..

Distinct(FeildName)

حيث FeildName هو اسم الحقل الذي لا تريد تكرار القيم فيه..

لكن الاهم ان تعرف ما هي طبيعة التقرير المراد اظهاره، هل يحتاج الى الدول التجميعية، والتي تقوم ايضا بازالة التكرار في بعض الحالات، هل يحتاج فقط الى عرض بيانات بناء على شرط، وهكذا،

اذن ،، دائما حدد النتيجة المطلوبة، وبالتالي يتحدد الكود..

همام

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

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

#12

الأخ العزيز همام

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

بعد إستفساري الأخير (المُتعلّق بالتقريــــر) وجدتُ أنّنــي قمتُ بالدخول في موضوع مختلف عن الذي كنتُ أستفسرُ عنه وفي ذلك مخالفة لقواعد المنتدى، فرأيتُ أنّه من الأفضل أن أُفرد له مشاركة قائمة بذاتها بعنوان يُشير إليها.

المشاركة موجودة على الرابط التالي:

/index.php?showtopic=139301

فهلا تفضلت بالدخول إليه والتكرم مشكوراً بالمُساعدة؟؟

بارك الله فيــــك

سبحان اللّه وبحمده... سبحان الله العظيم

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

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

وملء ماشاء من بعده..عدد الحركات والسكنات وعدد ماكان ومالم يكُن.. عدد أيام

الدنيا وعدد صفق الشجر وعدد رمل عالج ومثل زبد البحر.. وإلى أن يـــشاء الله رب

العالميـــن.

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

اللهم لك الحمد كما ينبغي لجلال وجهك وعظيم سلطانك كما لم يحمدك أحد من خلقك

إلى يوم الدّيـــن

[يمين]--------------------------------------------------

[/يمين]

وَممّا زادني شرَفاً وتيهاً.... دُخولي تحت قولكَ ياعبَادي

وَكدتُ بأخمصي أطأ الثُّريّا.... وأن صيّرت أَحمدَ لي نَبيّا

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

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