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

[ تمت الإجابة ]مساعدة عاجلة كيفية اضافة مبلغ في جميع السجلات

بدأه الملك العربي في 17 مايو 2009 · 13 رد · 674 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

بسم الله الرحمن الرحيم

كيفكم اخواني طبعاً ما لنا غنى عنكم وعن خبراتكم

انا عندي مشكلة صعبة بالنسبة لي وهي

انا عندي جدول مكون من

الاسم

رقم الوظيفة

المبلغ

تاريخ التعيين

وعندي فورم

المطلوب اريد ان اضيف مبلغ من الفورم مثلاً 150 واضغط اضافة يضاف المبلغ لجميع الموجودين في الجدول في خانة المبلغ هذه نقطة

النقطة الثانية بنفس الطريقة تقريباً ولكن حسب تاريخ التعيين مثلاً اريد اضافة مبلغ 150 لجميع الموجودين بالجدول الذي تاريخ تعيينهم مثلاً

2009/04/01

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

مرفق نموذج للتعديل عليه ان امكن

تحياتي لكم حبايبي

arabking.rar

#2

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

تفضل اخي الكريم

بالتوفيق

#3

الله يعطيك العافية اخوي يوسف بس لو تكرمت

الله يساعدك دنيا واخره يارب

عندي سؤال لو سمحت

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

اريد نفس الطريقة ولكن اريد اولاً وضع المبلغ مثلاً 150 للجميع ومن ثم اعدل المبلغ من الفورم اللي تفضلت وعملته حسب التاريخ

يعني اضيف المبلغ للكل اولاً 150

ومن ثم اللي تاريخهم مثلاً 1\2\2009 يمسح المبلغ 150 تلقائياً واضيف المبلغ 100 مثلاً لكل اللي تاريخ تعيينهم نفس التاريخ وهكذا مع التواريخ الاخرى

اتمنى وصلت الفكره كما تدور في ذهني

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

#4

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

تفضل

بالتوفيق

arabking.rar

#5

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

وهذا المثال به تعديل جديد ارجو ان تستفيد منه

استفسار بسيط : هل تريد ان يضاف المبلغ بمربع النص الى قيمة الحقل ( المبلغ بمربع النص + القيمة السابقة للحقل ) ام انك تريد ان ينقل المبلغ كما هو الى الحقل

بالتوفيق

arabking.rar

تم تعديل هذه المشاركة بواسطة يوسف احمد في 17 مايو 2009 في 13:18

#6

دائما مبدع يا اخ يوسف .. جعلها الله في ميزان حسناتك

#7

مشكوور اخوي يوسف تعبتك معاي الله يعطيك العافيه

بالنسبة للمبلغ اريد ان يضاف المبلغ كما هو الى الحقل

تحياتي

#8

روعه اخوي يوسف والله روعه حليت مشكلتي

الله يزيدك من علمه يا رب

هذا هو المطلوب تماماً

بس يا ليت لو تكرمت تشرح لنا الطريقه الله يوفقك يا رب

تلميذك ابو عبدالله

#9

اخي iraq2009

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

اخي الملك العربي

اقتباس
بالنسبة للمبلغ اريد ان يضاف المبلغ كما هو الى الحقل

اذاً التعديل الأخير يؤدي المطلوب

بالتوفيق

#10
اقتباس
روعه اخوي يوسف والله روعه حليت مشكلتي

الله يزيدك من علمه يا رب

هذا هو المطلوب تماماً

بس يا ليت لو تكرمت تشرح لنا الطريقه الله يوفقك يا رب

تلميذك ابو عبدالله

تسلم اخي ابو عبد الله

الفرق بين ردي وردك دقيقة واحدة ولم انتبه لردك ... عموماً ساحضر للشرح واقدمه لك في اقرب وقت ممكن ان شاء الله

شكراً لك على ثقتك الغالية بي .. وفقك الله

#11

الاخ يوسف المحترم ..

اسمح لي ان اطلق عليك لقب ( ملك الاستعلامات ) وبجدارة .. حل ولا اروع .. وفقك الله ويسر طريقك

#12
اقتباس
الاخ يوسف المحترم ..

اسمح لي ان اطلق عليك لقب ( ملك الاستعلامات ) وبجدارة .. حل ولا اروع .. وفقك الله ويسر طريقك

اعتز بهذا ولكنني بالفعل لا استحق شئياً من هذه الالقاب .. لقب واحد هو الذي استحقه ( تلميذ كسول يحل الواجب في الفصل .. ههههه )

اشكرك اخي iraq2009 على متابعتك الجيدة وتواصلك ونتشرف بك بيننا .. بارك الله فيك ويسر لك الخير اينما كنت

#13

اخي الملك العربي

شرح الحل

1: يتم عمل نموذج اسمه frmAddAmount

يتكون هذ النموذج من

أ: مربع تحرير وسرد اسمه ComboDate مصدر الصف له عبارة عن جملة اسكيوال الموضحة ادناه بواسطة منشئ الاستعلام مع اضافة الكلمة DISTINCT الى الجملة للحصول على تاريخ التعيين بدون تكرار في قيمه

SELECT DISTINCT tb1.[تاريخ التعيين]
FROM tb1
ORDER BY tb1.[تاريخ التعيين];

ب: مربع نص غير منضم اسمه txtAmount خاص بإدخال القيمة المراد اضافتها الى الجدول

ج: مجموعة خيارات اسمها Frame7 تتكون من خيارين الاول ويحمل القيمة 1 وهو ( تحديث الكل ) الخيار الثاني ويحمل القيمة 2 وهو ( تحديث حسب التاريخ )

د : زر امر اسمه CmdApdateAll

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

2: استعلام تحديث اسمه qryUpdateAll هذا الاستعلام خاص بتحديث جميع قيم حقل المبلغ وكما هو واضح بخانة تحديث الى تحت حقل المبلغ

forms!frmAddAmount!txtAmount

حيث forms تشير الى مجموع النماذج

frmAddAmount هو اسم النموذج

txtAmount هو اسم مربع النص الغير منضم الموجود على النموذج ليتم ادخال القيمة به .

3: استعلام تحديث اسمه qryUpdateToDate هذا الاستعلام خاص بتحديث حقل المبلغ لتاريخ معين وفي خانة تحديث الى تحت حقل المبلغ نفس التعبير للاستعلام السابق بالفقرة 2

اما المعيار لحقل تاريخ التعيين فهو كالآتي :

[forms]![frmAddAmount]![comboDate]

حيث forms تشير الى مجموع النماذج

frmAddAmount هو اسم النموذج

comboDate هو اسم مربع التحرير والسرد الذي يعرض جميع تواريخ التعيين بدون تكرار

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

الآن نريد ان نقوم بالتحكم في إظهار بعض المكونات على النموذج واخفاء بعضها وذلك بالاختيار من مجموعة الخيارات

ولهذا الغرض تم عمل الاجراء الخاص ( hideControls ) الموضح ادناه

Select Case Me.Frame7
Case 1
Me.ComboDate.Visible = False
	Me.txtAmount.Visible = True
	Me.CmdApdateAll.Caption = "تحديث الكل"
	Case 2
	Me.ComboDate.Visible = True
	Me.txtAmount.Visible = True
   Me.CmdApdateAll.Caption = "تحديث حسب التاريخ"
	End Select

شرح الكود

السطر الاول : استخدام الامر Select Case مع مجموعة الخيارات ( قيم مجموعة الخيارات الموضحة بالفقرة 3 )

السطر الثاني : الحالة الاولى او عندما تكون قيمة مجموعة الخيارات تساوي 1 ( تذكر بأن هذه القيمة هي للخيار تحديث الكل )

السطر الثالث : يتم اخفاء مربع التحرير والسرد لأننا نريد ان نحدث جميع القيم بحقل المبلغ ولا نحتاج ان نحدد تاريخاً معيناً

السطر الرابع : يتم اظهار مربع النص الغير منضم والذي يتم ادخال القيمة الخاصة بالتحديث

السطر الخامس : يتم تغيير تسمية ( عنوان ) زر الامر ليصبح ( تحديث الكل )

السطر السادس : الحالة الثانية او عندما تكون قيمة مجموعة الخيارات تساوي 2 ( تذكر بأن هذه القيمة هي للخيار تحديث حسب التاريخ )

السطر السابع : يتم اظهار مربع التحرير والسرد

السطر الثامن : السطر الرابع

السطر التاسع : يتم تغيير تسمية ( عنوان ) زر الامر ليصبح ( تحديث حسب التاريخ)

السطر العاشر : انهاء الامر Select Case

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

Call hideControls

زر الامر سيتغير عنوانه حسب الاختيار من خانة الاختيار ولذلك تمت الاستفادة من هذا التغيير وتشغيل الاستعلامين المختلفين بناءً على عنوان زر الامر

لاحظ الكود

If Me.CmdApdateAll.Caption = "تحديث الكل" Then
	Dim stDocName As String
   DoCmd.SetWarnings False
	DoCmd.OpenQuery "qryUpdateAll"
	Else
	DoCmd.OpenQuery "qryApdateToDate"
	DoCmd.SetWarnings True
	End If

شرح الكود

ملاحظة هامة : السطر الثاني من الكود ليس له حاجة وقد تم تركه بالخطأ

السطر الاول : يتم استخدام الامر او الجملة الشرطية If للتأكد اذا كان عنوان زر الامر يساوي ( تحديث الكل )

السطر الثالث : اذا كان كذلك يتم ايقاف رسائل الاكسس للإستعلامات الإجرائية .. الحاق .. تحديث .. الخ

السطر الرابع : امر فتح ( تشغيل ) الاستعلام qryUpdateAll

السطر الخامس : اذا كان غير ذلك .. اي اذا كان عنوان زر الامر غير هذا العنوان ( تحديث الكل )

السطر السادس : يتم فتح ( تشغيل ) الاستعلام qryApdateToDate

السطر السابع : تشغيل او تفعيل رسائل الاكسس للإستعلامات الاجرائية

السطر الثامن : انهاء الجملة الشرطية If

اعتذر على الإطالة وارجو ان يكون الشرح واضحاً

تم تعديل هذه المشاركة بواسطة يوسف احمد في 18 مايو 2009 في 15:21

#14

شكراً اخي يوسف بالفعل انت مبدع استفدت كثيراً من هذا الشرح الرائع الذي سيضاف الى مكتبتي

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

مع الجميع وشكراً لك

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…