تمت الإجابة Taher DZ قام بنشر بالامس في 16:14 الكاتب تمت الإجابة قام بنشر بالامس في 16:14 (معدل) 20 دقائق مضت, ابوخليل said: اذا العمل على FrmTransfer1 لماذا FrmTransfer موجود نسخت لك FrmTransfer1 للتوضيح فقط والعمل علىFrmTransfer الذي يكون فيه التعديل تم تعديل بالامس في 16:19 بواسطه Taher DZ
ابوخليل قام بنشر بالامس في 16:37 قام بنشر بالامس في 16:37 طيب .. انا فتحت الملف الذي هو الفورم خرجت رسالة معنونة بشهر ديسمبر 2025 .. تقول تم التوزيع بنجاح .. دخلت الجدول ولم اجد شيئا دخلت الى الكود افهمه وجدت اول شرط ان يكون الجدول يشتمل على تاريخ مساو للتاريخ على النموذج وطبعا يوجد في الجدول بيانات لسجلات قديمة فقط وانت تريد اقتطاع شهر 3 و 7 من سنة 2026 اليس من المفترض وجود هذه التواريخ في الجدول قبل فتح النموذج ؟ ( لأن الكود يعمل بمجرد فتح النموذج) انا اتصور لو قمت انا بتصميم هذه الجزئية ان يكون هناك 2 ازرار .. واحد لالحاق البيانات الرئيسية مع التواريخ المختارة والثاني لعملية الاقتطاع
منتصر الانسي قام بنشر منذ 23 ساعات قام بنشر منذ 23 ساعات 21 ساعات مضت, Taher DZ said: هل التعديل مس القروض ايضا لاني صراحة دخلت على الجدول Tbl_Loans وبالخصوص المنخرط رقم 4 كما في الصورة وحدفت للتجريب المبلغ المقتطع 5000.00 الذي يخص تاريخ 2025/07/01 وارجعت تاريخ الجهاز الى شهر 7 فلم يكمل له اقتطاعه وقبل التعديل الاخير كان عادي لايخص القروض انا لم أقم بتعديل أي شيئ كل ما قمت به هو تصحيح الكود الخاص بك كالتالي السطر الأول كان هكذا Set rstE = db.OpenRecordset("SELECT * FROM Employee WHERE Nr <= 5", dbOpenDynaset) وكان يحتوي الأخطاء التالية - كنت تتعامل مع الحقل Nr في الجدول Employee على أنه حقل رقمي ولكنه حقل نصي - أعتقد أنك تظن أن هذا الحقل يحتفظ برقم الوظيفة إلا أنك مخطئ فهو يحتفظ بإسم الوظيفة والصورة التالية ستوضح لك ما أقصده مما سبق يتضح لنا أنه لن يتم تحقيق معيار التصفية Nr <= 5 لذلك قمت بتعديله إلى السطر التالي Set rstE = db.OpenRecordset("SELECT *,TblDetaché.Nr as NrE FROM Employee INNER JOIN TblDetaché ON Employee.detach = TblDetaché.detach WHERE (((TblDetaché.Nr) <= 5));", dbOpenDynaset) حيث سيتم ربط الجدول Employee مع الجدول TblDetaché وسنأخذ قيمة Nr من الجدول TblDetaché لأنه رقمي وقمنا بتسمية الحقل هذا بإسم NrE أما التعديلات التالية كلها تخص الحقل EmpID فأنت تتعامل معه كحقل نصي وهو حقل رقمي لذلك قمت بإزالة علامة الإقتباس المفردة التي قيل وبعد EmpID فمثلا 'تم تعديل هذه العبارة EmployeeID='" & EmpID & "' 'بهذه العبارة EmployeeID = " & EmpID & " اخر تعديل ونظرا لأنه وكما سبق توضيحه بخصوص الحقل Nr تم تعديل السطر التالي 'إستبدلنا هذا السطر rst!Nr = rstE!Nr 'بهذا السطر rst!Nr = rstE!NrE حتى يتم أخذ قيمة Nr من الحقل الذي قمنا بتسميته بالإسم NrE في جملة Sql أعلاه هذه هي كل التعديلات التي قمت بها فهل هذا سيؤثر على طريقة احتساب القروض؟ 1
Taher DZ قام بنشر منذ 23 ساعات الكاتب قام بنشر منذ 23 ساعات 33 دقائق مضت, منتصر الانسي said: ذه هي كل التعديلات التي قمت بها فهل هذا سيؤثر على طريقة احتساب القروض؟ لا استاذ يمكن تعديل الاخ الي قبل هو سبب عدم اقتطاع الشهري للقروض بعدما كان يقتطع عادي والان بحكم خبرتكم لم تعرفو اين تكمن المشكلة بالرغم من وجود فورم FrmTransfer1 بقتطع عادي الم يتم التنسيق بينه وبين FrmTransfer الذي به المشكلة 1 ساعه مضت, ابوخليل said: نا فتحت الملف الذي هو الفورم خرجت رسالة معنونة بشهر ديسمبر 2025 .. تقول تم التوزيع بنجاح .. دخلت الجدول ولم اجد شيئا دخلت الى الكود افهمه وجدت اول شرط ان يكون الجدول يشتمل على تاريخ مساو للتاريخ على النموذج وطبعا يوجد في الجدول بيانات لسجلات قديمة فقط ديسمبر فعلا تم الاقتطاع يدويا لو غير تاريخ الجهاز الى شهر جانفي 2026 لأكتشفت المشكلة عند المنخرط رقم 4 او قمت بمسح المبلغ المقتطع لتاريخ 2025/12/01 وقمت بالدحول للفورم FrmTransfer ستجده يبقى فارغا اي الكود لم يقتطع المبلغ 1 ساعه مضت, ابوخليل said: وانت تريد اقتطاع شهر 3 و 7 من سنة 2026 اليس من المفترض وجود هذه التواريخ في الجدول قبل فتح النموذج ؟ ( لأن الكود يعمل بمجرد فتح النموذج) استاذ هذه السجلات تنشي من جديد خلال أشهر الاقتطاع فقط ولك دالة النموذج الثاني FrmTransfer1 كمثال اقتطاع
Taher DZ قام بنشر منذ 22 ساعات الكاتب قام بنشر منذ 22 ساعات (معدل) استاذ وجدت صعوبة في ارفاق الفيديو سوى بصيغة rar او mp4 https://k.top4top.io/m_364437txw1.mp4 عندما قمت بمسح مبلغ اقتطاع القرض للمنخرط رقم 4 خلال تاريخ 2025/12/01 وقمت بالدخول للنموذج لقد تحقق اعادة الاقتطاع من جديد ولكن عند الدخول بتاريخ 2026/03/01 تحقق اقتطاع الانخراط ولكن ليس للكل " اي منخرط عنده مبلغ 3000.00 من سنة 2025 استثناه الكود في سنة 2026 " .......... (1) مثلا المنخرط رقم 4 وكذا المنخرطين 256/261/290 استثناهم كما في (1) لم يقتطع لهم مبلغ الانخراط لسنة 2026 المقدر ب 1500.00 يفيد ان بان الكود لا يؤدي بواجبه مائة بالمئة وخاصة في شطره الاستنثناء هذا ' مجموع ما دفعه سابقًا totalPaid = Nz(DSum("Payment_Made", "tbl_Loans", _ "Loan_ID= 0 AND EmployeeID=" & EmpID), 0) ' إذا وصل 3000 ? توقف If totalPaid >= 3000 Then GoTo SkipInkhirat End If تم تعديل منذ 20 ساعات بواسطه Taher DZ
ابوخليل قام بنشر منذ 21 ساعات قام بنشر منذ 21 ساعات 1 ساعه مضت, Taher DZ said: استاذ هذه السجلات تنشي من جديد خلال أشهر الاقتطاع فقط ولك دالة النموذج الثاني FrmTransfer1 كمثال اقتطاع اخي العزيز انا لا اعرف اعمل الا على شيء انا افهمه العمل الذي امامي غامض .. فارجوا ان تعذرني لا اريدك ان تحزن فهذا هو فهمي قد اتمكن من مساعدتك لو اعطيتني قصة السجل كاملة من مولده وحتى يصل الى التقرير ما لون بالاحمر يدل على وجود اشياء غائبة يتم عملها منفصلة عن الجزء المرفق ................................. اعيد واكرر لو انا من صمم هذا العمل سأعمل على طريقة يفهمها اي مبرمج ومصمم وهي طريقة منطقية سهلة بدون اي تعقيد والتعديل عليها يسير +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ الطريقة : اذا دخل شهر3 من كل سنة .. في الفورم زر يعمل تصفية لمن يشمله هذا الاجراء .. يتم من خلاله الحاقهم في الجدول .. وزر آخر يتم اجراء الاقتطاع حسب ما نضعه من شروط ونكرر هذا الاجراء عند دخول شهر 7 ... اوغيره من الشهور للحالات الخاصة هنا يستحيل ظهور اي خطأ ... بمعنى انه يجب ان يكون لكل نوع من الأنواع عملياته الخاصة المنفصلة عن الاخرى الاقتطاع يتم تصفيته لوحده / القروض كذلك / ... الخ كل ذلك من خلال هذين الزرين وفورم واحد +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ اما مسألة كود واحد يقوم بجميع الاجراءات وآليا ايضا .. هذا يجب اعادة النظر فيه .. العجيب ان الكود يعمل عمل التقرير فيعرض رسالة احصائية . اكتب لك هذا وانا لم افهم بعد طريقة تحصيل المبالغ .. لأني لم افهم اصلا طريقة العمل على البرنامج
Taher DZ قام بنشر منذ 20 ساعات الكاتب قام بنشر منذ 20 ساعات 10 دقائق مضت, ابوخليل said: الطريقة : اذا دخل شهر3 من كل سنة .. في الفورم زر يعمل تصفية لمن يشمله هذا الاجراء .. يتم من خلاله الحاقهم في الجدول .. وزر آخر يتم اجراء الاقتطاع حسب ما نضعه من شروط ونكرر هذا الاجراء عند دخول شهر 7 ... اوغيره من الشهور للحالات الخاصة هنا يستحيل ظهور اي خطأ ... بمعنى انه يجب ان يكون لكل نوع من الأنواع عملياته الخاصة المنفصلة عن الاخرى الاقتطاع يتم تصفيته لوحده / القروض كذلك / ... الخ كل ذلك من خلال هذين الزرين وفورم واحد والله استاد غير تعبت كلما ارى ردا اقول الحمد لله تم الحل وعند دخولي الى الموضوع لم ارى مافرحت لأجله لاني عجزت كيف اوصل لكم الفكرة ياريت حد يساعدني ويعمل شيء المهم تؤدي الى حل للمشكلة وانا راض باي تغيير بارك الله فيكم
Taher DZ قام بنشر منذ 20 ساعات الكاتب قام بنشر منذ 20 ساعات استاذي العزيز ابو خليل افهمني مليح وخلي نغلقو الموضوع ' مجموع ما دفعه سابقًا totalPaid = Nz(DSum("Payment_Made", "tbl_Loans", _ "Loan_ID= 0 AND EmployeeID=" & EmpID), 0) ' إذا وصل 3000 ? توقف If totalPaid >= 3000 Then GoTo SkipInkhirat End If هذا الشطر من الكود يستنثي السجلات التي تحتوي على مبلغ 3000.00 دج خلال السنة اي لايضيف سجل اخر اريد التعديل عليه اذا كانت سنة جديدة يسمح الكود بالاضافة في حدود سجلين فقط وكل سجل بقيمة 1500.00
ابوخليل قام بنشر منذ 20 ساعات قام بنشر منذ 20 ساعات لم اجد شرطا مناسبا قد يحقق المطلوب الا السنة جرب استبدل الكود بهذا فلعله يعمل .. اضفت ان السنة الحالية لا تساوي السنة الموجودة في الجدول totalPaid = Nz(DSum("Payment_Made", "tbl_Loans", _ "Loan_ID= 0 AND EmployeeID=" & EmpID And "year(date)<> " & annee), 0) على اعتبار انك تعمل في سنة 2026
Taher DZ قام بنشر منذ 20 ساعات الكاتب قام بنشر منذ 20 ساعات في 23/12/2025 at 22:20, ابوخليل said: totalPaid = Nz(DSum("Payment_Made", "tbl_Loans", _ "Loan_ID= 0 AND EmployeeID=" & EmpID And "year(date)<> " & annee), 0) ظهر لي مشكل
ابوخليل قام بنشر منذ 20 ساعات قام بنشر منذ 20 ساعات اسف قدمت وأخرت في المعيار يكون مثل هذا totalPaid = Nz(DSum("Payment_Made", "tbl_Loans", _ "Loan_ID= 0 AND EmployeeID=" & EmpID And "annee <> " & Year(Date)), 0) لعله يعمل .. المشكلة ان وجدت فهي في تقديم وتأخير علامة التنصيص
Taher DZ قام بنشر منذ 20 ساعات الكاتب قام بنشر منذ 20 ساعات في 23/12/2025 at 22:30, ابوخليل said: totalPaid = Nz(DSum("Payment_Made", "tbl_Loans", _ "Loan_ID= 0 AND EmployeeID=" & EmpID And "annee <> " & Year(Date)), 0)
ابوخليل قام بنشر منذ 19 ساعات قام بنشر منذ 19 ساعات هذا يعمل 100% totalPaid = Nz(DSum("[Payment_Made]", "[tbl_Loans]", "[EmployeeID] =" & EmpID & "And [annee] <>" & Year(Date) & "and [Loan_ID] =0"), 0)
Taher DZ قام بنشر منذ 19 ساعات الكاتب قام بنشر منذ 19 ساعات (معدل) 8 دقائق مضت, ابوخليل said: totalPaid = Nz(DSum("[Payment_Made]", "[tbl_Loans]", "[EmployeeID] =" & EmpID & "And [annee] <>" & Year(Date) & "and [Loan_ID] =0"), 0) يعمل بدون مشكل ولكنه لم يقتطع مبلغ 1500.00 لاي منخرط كالعادة استثناءا عدم الاقتطاع مبلغ الانخراط خلال شهر مارس2026.rar تم تعديل منذ 19 ساعات بواسطه Taher DZ
ابوخليل قام بنشر منذ 19 ساعات قام بنشر منذ 19 ساعات لا اعلم سبب عدم الاقتطاع هل جربت تقديم التاريخ ؟ هذا الكود شرط ان السنة تكون مختلفة وان لا يزيد او يساوي 3000
ابوخليل قام بنشر منذ 19 ساعات قام بنشر منذ 19 ساعات افدني من فضلك المثال الأخير : هل اذا قدمت التاريخ الى مارس 2026 ثم فتحت البرنامج المفترض ان يقتطع شهر مارس آليا من دون تدخل ويظهر هذا في الجدول ؟
ابوخليل قام بنشر منذ 18 ساعات قام بنشر منذ 18 ساعات في 24/12/2025 at 00:01, Taher DZ said: ' مجموع ما دفعه سابقًا totalPaid = Nz(DSum("Payment_Made", "tbl_Loans", _ "Loan_ID= 0 AND EmployeeID=" & EmpID), 0) ' إذا وصل 3000 ? توقف If totalPaid >= 3000 Then GoTo SkipInkhirat End If هذا الشطر من الكود يستنثي السجلات التي تحتوي على مبلغ 3000.00 دج خلال السنة اي لايضيف سجل اخر اريد التعديل عليه اذا كانت سنة جديدة يسمح الكود بالاضافة في حدود سجلين فقط وكل سجل بقيمة 1500.00 اجادة طرح السؤال تسهل ايجاد الحل انت خبرة في البرمجة لذا من اجل تكسب وقتك حاول ان تكون استفساراتك على هذا النحو تفضل .. اتمنى ان يكون هو المطلوب عدم الاقتطاع 2.rar
Taher DZ قام بنشر منذ 11 ساعات الكاتب قام بنشر منذ 11 ساعات في 24/12/2025 at 00:31, ابوخليل said: فضل .. اتمنى ان يكون هو المطلوب شكرا استاذ على المجهودات الجبارة التي تقوم بها من اجل اسعاد الاخرين ربي يبارك فيك وفي صحتك وفي اولادك تقريبا توصلنا الى حل شبه نهائي المشكلة في ان الشخص الي دفع 3000.00 في السنة يبقى الكود يقتطع له مبلغ الانخراط 1500.00 ولك مثال في المنخرط 4 عملت له دفع يدوي بتاريخ 2026/01/23 بمبلغ 3000.00 وقمت بتغيير التاريج الى شهر 2026/3 فاقتطع له مبلغ اخر 1500.00 بتاريخ 2026/03/01 فاصبح دافع 4500.00 وهذا خطأ عدم الاقتطاع 3.rar
Taher DZ قام بنشر منذ 11 ساعات الكاتب قام بنشر منذ 11 ساعات (معدل) 14 دقائق مضت, Foksh said: أين وجدت الحل ؟؟؟؟؟ الخلل في شيئين: 1- اول حاجة الكود بقطتع بوجود cridi مكانش كريدي لا يدخل ولا يقتطع مانعرف علاش مرتبط بهذا 2- وكما أشرت في المرفق اليوم صباحا ان المنخرط رقم 4 وتركته لوحده بعد حذف كل المنخرطين في Tbl_Loans وعملت له دفع يدوي بتاريخ جانفي 2026 بقيمة 3000.00 ...... 1 او 1500.00 ....... 2 نفس الشيء الاولى زاد اقتطع له مبلغ اخر اي زاده 1500.00 فاصبح منخرط بمبلغ 4500.00 والثانية بقيت على حالها بعد مسح القروض راني نحكي على شهري 3 و 7 من سنة 2026 تم تعديل منذ 11 ساعات بواسطه Taher DZ
ابوخليل قام بنشر منذ 11 ساعات قام بنشر منذ 11 ساعات انا فقط غيرت تاريخ جهازي الى 3/2026 وفتحت الفورم وهذه هي النتيجة
ابوخليل قام بنشر منذ 10 ساعات قام بنشر منذ 10 ساعات هو يقارن بين تاريخ الجهاز و تاريخ مشابه موجود في الجدول اكيد ما فيه Set rst = CurrentDb.OpenRecordset( _ "SELECT * FROM tbl_Loans WHERE Payment_Month=#" & Format(CurrMonth, "mm/dd/yyyy") & "#") If rst.RecordCount = 0 Then MsgBox "لا توجد إقتطاعات لشهر " & Format(CurrMonth, "mmmm yyyy"), vbInformation Exit Sub End If
Taher DZ قام بنشر منذ 10 ساعات الكاتب قام بنشر منذ 10 ساعات 5 دقائق مضت, ابوخليل said: هو يقارن بين تاريخ الجهاز و تاريخ مشابه موجود في الجدول اكيد ما فيه والحل الصحيح كيف يكون ؟
ابوخليل قام بنشر منذ 10 ساعات قام بنشر منذ 10 ساعات في 24/12/2025 at 09:22, Foksh said: 😮 أين وجدت الحل ؟؟؟؟؟ في مرفقي الاخير .. في شرط المتغير تم تصحيح الشرط فعمل معي 1
الردود الموصى بها
انشئ حساب جديد او قم بتسجيل دخولك لتتمكن من اضافه تعليق جديد
يجب ان تكون عضوا لدينا لتتمكن من التعليق
انشئ حساب جديد
سجل حسابك الجديد لدينا في الموقع بمنتهي السهوله .
سجل حساب جديدتسجيل دخول
هل تمتلك حساب بالفعل ؟ سجل دخولك من هنا.
سجل دخولك الان