أبوبسمله قام بنشر مارس 26, 2021 قام بنشر مارس 26, 2021 (معدل) اتفضل ابو اشرف ان شاء الله يكون ما تريد وتعديل عالكود Private Sub أمر36_Click() f = Me.salary_نموذج_فرعي!amount If f > Me.salary Then DoCmd.RunCommand acCmdDeleteRecord End If End Sub بالتوفيق delete2.accdb تم تعديل مارس 26, 2021 بواسطه الفلاحجى 2 1
عبد اللطيف سلوم قام بنشر مارس 27, 2021 الكاتب قام بنشر مارس 27, 2021 الله يعطيك العافية اخي @الفلاحجى يمكن ما اقدرت اوصل المطلوب انا بدي اذا كان هناك دفعات خلال الشهر اكثر من دفعه فيجب ان لا يتجاوز مجموع الدفعات الاجمالي مبلغ الراتب مثلا اذا كان الراتب 1000 ريال اول مرة دفعنا 200 ريال يقبلها البرنامج ويتم الحفظ وثاني مرة دفعنا 500 ريال يقبلها البرنامج ويتم الحفظ وثالث مرة حاولنا ندفع 400 ريال --- تظهر رسالة انه المبلغ اكبر من الراتب ويمنع الحفظ اما تعديل المبلغ او حذف السجل وصلت الفكرة ؟؟
ابوخليل قام بنشر مارس 27, 2021 قام بنشر مارس 27, 2021 السلام عليكم مداخلة معكم احبتي .. خاطرة بصوت مرتفع : مؤكد في تطبيق الفكرة .. انك ستأخذ بعين الاعتبار أن العملية سيتم تطبيقها على مستوى كل شهر باعتبار احتمال تكرار هذه الدفعات خلال السنة بمعنى ان الاحتراز هذا يتم خلال الشهر الحالي في هذه الحالة انت بحاجة الى استعلام مصدره الجدول الفرعي يظهر فيه الدفعات خلال هذا الشهر وبناء على هذا الاستعلام يتم المقارنة بين مجموع الدفعات والمرتب المستحق 2
عبد اللطيف سلوم قام بنشر مارس 27, 2021 الكاتب قام بنشر مارس 27, 2021 نعم صحيح اخوي @ابوخليل لكن واجهتني مشكلة لما انقل التركيز على النموذج الفرعي استطيع اجراء أي شيء على النموذج الفرعي لكنني اعجز عن نقل التركيز على النموذج الرئيسي مرة اخرى بحيث me.undo docmd.cancel event هذه الاوامر لا تستجيب نهائيا
ابوخليل قام بنشر مارس 27, 2021 قام بنشر مارس 27, 2021 المفترض الكود يتعامل مع الجداول بغض النظر عن النموذج الرئيسي او حتى الفرعي بمعنى تعمل حدث قبل التحديث للحقل في النموذج الفرعي فإذا كانت القيمة صحيحة يتم القبول والتحديث والا يتم الغاء القيمة كيف ؟ الكود هذا يشتمل على : 1- سطر يجلب راتب الموظف من الجدول الرئيس 2- سطر يجلب من الجدول الفرعي مجموع ما تم دفعه للموظف خلال هذا الشهر 3- سطر يجمع ما تم دفعه سابقا + القيمة المدرجة في الحقل 4- تتم المقارنة بين القيمتين 1 و 3 2
عبد اللطيف سلوم قام بنشر مارس 27, 2021 الكاتب قام بنشر مارس 27, 2021 اخوي @ابوخليل يعينك الله طبق لي الفكرة عملي مرفق قاعدة بيانات بصيغة mdb delete.mdb
أفضل إجابة ابوخليل قام بنشر مارس 27, 2021 أفضل إجابة قام بنشر مارس 27, 2021 Private Sub amount_BeforeUpdate(Cancel As Integer) If IsNull(Me.amount) Then Exit Sub Dim i, j As Integer i = DLookup("salary", "emp", "id=" & emp_name) j = DSum("amount", "qryAmountInMonth", "emp_name=" & emp_name) If j + Me.amount > i Then Undo MsgBox "المبلغ يتجاوز المرتب الشهري" Exit Sub End If End Sub delete2.accdb 3
عبد اللطيف سلوم قام بنشر مارس 27, 2021 الكاتب قام بنشر مارس 27, 2021 الله يجزيك الخير يا بركتنا هذا هو المطلوب ✔️
أبوبسمله قام بنشر مارس 27, 2021 قام بنشر مارس 27, 2021 وعليكم السلام ورحمه الله وبركاته معلمنا العزيز @ابوخليل جزاك الله معلمنا العزيز ابو خليل 💐 طبعا كان جوابى من خلال الاستفسار بالصوره بالرغم اننى كنت غير مقتنع وكان ما بدر فى ذهنى وقتها اجمالى المدفوع ولكن وضعت الحل كما هو مشار اليه ولحين رد ابو اشرف بعدها بارك الله لنا فيكم معلمنا العزيز ابوخليل وعلى خواطركم الجميله وحلولكم الرائعه
أبوبسمله قام بنشر مارس 27, 2021 قام بنشر مارس 27, 2021 معلمى العزيز @ابوخليل طالما سوف يتم النظر الى الشهر فيجب النظر الى الشهر والسنه معا اليس كذلك وعليه يجب تعديل السطر التالى ويتم الاستغناء عن الاستعلام qryAmountInMonth يجب ادخال التاريخ قبل المبلغ j = DSum("amount", "qryAmountInMonth", "emp_name=" & emp_name) الى j = Nz(DSum("amount", "salary", "emp_name=" & emp_name & " And Year([dated])=" & Year([dated]) & " And Month([dated])=" & Month([dated])), 0) delete2.accdb 1
ابوخليل قام بنشر مارس 27, 2021 قام بنشر مارس 27, 2021 اهلا اخونا العزيز واستاذنا القدير أبو بسمله .. منذ ساعه, الفلاحجى said: فيجب النظر الى الشهر والسنه معا اليس كذلك نعم صحيح غفلت عنها ، زادك الله علما اما بالنسبة الى استبدال الاستعلام بالجملة البرمجية فهي جميلة ايضا ، وتحتاج الى تعديل طفيف لتصبح : j = Nz(DSum("amount", "salary", "emp_name=" & emp_name & " And Year([dated])=" & Year(Date) & " And Month([dated])=" & Month(Date)), 0) والسبب ان الحدث هو قبل التحديث والتاريخ ستتم كتابته بعد ادراج المبلغ على اعتبار ان المبالغ المدفوعة ستكون داخلة ضمن نطاق الشهر الحالي وهذا اعتقد انه منطقي وهو الذي يحدث على ارض الواقع جرب على مثالك امسح جميع المبالغ والسجلات في النموذج الفرعي ثم ادخل مبلغ 1000 ثم جرب وأدخل 1001 سيظهر خطأ ، الا لو جعلنا التاريخ افتراضي (تاريخ اليوم) ثم استبدل كودك بالكود اعلاه وجرب 2
أبوبسمله قام بنشر مارس 27, 2021 قام بنشر مارس 27, 2021 مرحبا بك اخى ومعلمى العزيز @ابوخليل 💐 بل اننى طالب فى مدرستكم اتعلم منكم ومن جميع اخوانى واساتذتى جزاكم الله عنا خير الجزاء ولا يهمك معلمنا العزيز زادنا الله واياكم من فضله وعلمه 1 ساعه مضت, ابوخليل said: على اعتبار ان المبالغ المدفوعة ستكون داخلة ضمن نطاق الشهر الحالي وهذا اعتقد انه منطقي وهو الذي يحدث على ارض الواقع نعم هذا منطقى بارك الله لنا فيك وجزاك الله عنا كل خير
jjafferr قام بنشر مارس 28, 2021 قام بنشر مارس 28, 2021 20 ساعات مضت, الفلاحجى said: طالما سوف يتم النظر الى الشهر فيجب النظر الى الشهر والسنه معا اليس كذلك من تجربتي ، يجب ان يكون لهذا القرض رقم ايضا ، فقد يأخذ قرض للمواد الكهربائية ووو مثل عند اخونا @كريمو2 ، وحتى قروض النقد ، فإذا استوفى قيمة القرض ، قد يأخذ قرض آخر في الشهر التالي !! جعفر 3
أبوبسمله قام بنشر مارس 29, 2021 قام بنشر مارس 29, 2021 في ٢٨/٣/٢٠٢١ at 13:54, jjafferr said: من تجربتي ، يجب ان يكون لهذا القرض رقم ايضا ، فقد يأخذ قرض للمواد الكهربائية ووو مثل عند اخونا @كريمو2 ، وحتى قروض النقد ، فإذا استوفى قيمة القرض ، قد يأخذ قرض آخر في الشهر التالي !! مرحبا باخى واستاذنا العزيز جعفر ربنا ما يحرمنا منكم ومن تجاربكم التى نستفاد منها كثير جزاكم الله عنا كل خير طيب فى هذه الحاله سيتوجب عليه بانشاء جدول خاص للقروض لعدم تكرار بيانات المقترض واضافه كود المقترض لجدول القروض 2
jjafferr قام بنشر مارس 29, 2021 قام بنشر مارس 29, 2021 18 دقائق مضت, الفلاحجى said: انشاء جدول خاص للقروض لعدم تكرار بيانات المقترض واضافه كود المقترض لجدول القروض يا عيني عليك ، ميه الميه 🙂 جعفر 1 1
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.