كريمو2 قام بنشر ديسمبر 31, 2024 قام بنشر ديسمبر 31, 2024 السلام عليكم اساتذة لدي مشكلة وهي عدم ظهور النتيجة صحيحة في جملة MySQL ةخاصة Lblt9e والتي تقوم بحساب عدد السجلات الموجود بدون تكرار ارجو التعديل Me.t9 = Nz(DSum("[Loan_Made]", "[tbl_Loans]", "Year ([Auto_Date])=" & Me.txtYear & " And [Loan_ID] > 0 "), 0) - Nz(DSum("[Payment_Made]", "[tbl_Loans]", "Year ([Auto_Date])=" & Me.txtYear & " And [Loan_ID] > 0 "), 0) MySQL = "" MySQL = "Select DISTINCT(Employeeid) From tbl_Loans" MySQL = MySQL & " Where " & "Year ([Auto_Date])=" & Me.txtYear & "And [Loan_ID] > 0 And ([Loan_Made]-[Payment_Made])=0" Set rst = CurrentDb.OpenRecordset(MySQL) Me.Lblt9 = rst.RecordCount 'T9E Me.T9E = Nz(DSum("[Loan_Made]", "[tbl_Loans]", "Year ([Auto_Date])=" & Me.txtYear - 1 & "And [Loan_ID] > 0"), 0) - Nz(DSum("[Payment_Made]", "[tbl_Loans]", "Year ([Auto_Date])=" & Me.txtYear - 1 & "And [Loan_ID] > 0"), 0) MySQL = "" MySQL = "Select DISTINCT(Employeeid) From tbl_Loans" MySQL = MySQL & " Where " & "Year ([Auto_Date])=" & Me.txtYear & "And [Loan_ID] > 0 " Set rst = CurrentDb.OpenRecordset(MySQL) Me.Lblt9e = rst.RecordCount
Eng.Qassim قام بنشر الأربعاء at 01:22 قام بنشر الأربعاء at 01:22 وعليكم السلام الكود من حيث الظاهر لايعطي خطأ ياليت مثال بسيط فيه بعض البيانات ..وهل النموذج مستمد من استعلام ...لان بصراحة دخت في Employeeid
كريمو2 قام بنشر الأربعاء at 06:12 الكاتب قام بنشر الأربعاء at 06:12 (معدل) 5 ساعات مضت, Eng.Qassim said: وهل النموذج مستمد من استعلام ...لان بصراحة دخت في Employeeid النموذج مستمد من الجدول مباشرة فعلا هو لا يعطي خطا ولكن لايعطي النتيجة الصحيحة مثال t9e=0.00 وعدد سجلاته Lblt9e = 83 خلال سنة 2024 t9e=1.349.000.00 وعدد سجلاته Lblt9e = 00 خلال سنة 2025 اليك المرفق للتوضيح 2025-01-01_06-47-01.rar تم تعديل الأربعاء at 06:31 بواسطه كريمو2
أبو إبراهيم الغامدي قام بنشر الأربعاء at 06:32 قام بنشر الأربعاء at 06:32 أهلا @كريمو2 المطلوب جدول البيانات لكي نتحقق من صحة جملة الاستعلام التي ذكرتها في طلبك
كريمو2 قام بنشر الأربعاء at 06:35 الكاتب قام بنشر الأربعاء at 06:35 2 دقائق مضت, أبو إبراهيم الغامدي said: المطلوب جدول البيانات لكي نتحقق من صحة جملة الاستعلام التي ذكرتها في طلبك لقد ارفقت مثالا استاذ أبو ابراهيم الغامدي بالاعلى
أبو إبراهيم الغامدي قام بنشر الأربعاء at 06:43 قام بنشر الأربعاء at 06:43 6 دقائق مضت, كريمو2 said: لقد ارفقت مثالا استاذ أبو ابراهيم الغامدي بالاعلى مقطع فيديو فقط!
كريمو2 قام بنشر الأربعاء at 07:03 الكاتب قام بنشر الأربعاء at 07:03 18 دقائق مضت, أبو إبراهيم الغامدي said: مقطع فيديو فقط! 2025-01-01_08-00-29.rar
ابو عارف قام بنشر الأربعاء at 07:03 قام بنشر الأربعاء at 07:03 (معدل) تم حذف مشاركة تم تعديل الخميس at 04:35 بواسطه ابو عارف
كريمو2 قام بنشر الأربعاء at 07:11 الكاتب قام بنشر الأربعاء at 07:11 (معدل) 7 دقائق مضت, ابو عارف said: جرب هذا الكود لم يحدث اي تغيير مالذي غيرته في الكود استاذ تم تعديل الأربعاء at 07:11 بواسطه كريمو2
ابو عارف قام بنشر الأربعاء at 07:17 قام بنشر الأربعاء at 07:17 (معدل) 21 ساعات مضت, كريمو2 said: م يحدث اي تغيير مالذي غيرته في الكود استاذ تم حذف مشاركة تم تعديل الخميس at 04:35 بواسطه ابو عارف
كريمو2 قام بنشر الأربعاء at 07:37 الكاتب قام بنشر الأربعاء at 07:37 19 دقائق مضت, ابو عارف said: مسافة بين علامة تنصيص و And بقيت دار لقمان على حالها اي ولا تغيير استاذ ابو عارف
ابو عارف قام بنشر الأربعاء at 07:44 قام بنشر الأربعاء at 07:44 (معدل) تم حذف مشاركة تم تعديل الخميس at 04:33 بواسطه ابو عارف
كريمو2 قام بنشر الأربعاء at 08:02 الكاتب قام بنشر الأربعاء at 08:02 (معدل) منذ ساعه, ابو عارف said: MySQL = "" MySQL = "Select DISTINCT(Employeeid) From tbl_Loans" MySQL = MySQL & " Where " & "Year ([Auto_Date])=" & Me.txtYear & " And [Loan_ID] > 0 " Set rst = CurrentDb.OpenRecordset(MySQL) Me.Lblt9e = rst.RecordCount يا استاذ أبو عارف المشكلة تكمن في هذه الجملة MySQL = MySQL & " Where " & "Year ([Auto_Date])=" & Me.txtYear & " And [Loan_ID] > 0 " كيف يتم اضافة شروط لها حتى تحقق النتيحة ويمكن الاستغناء عن MySQL وتعويضها بهذه الدالة DCount Me.Lblt9e = Nz(DCount("[Loan_Made]", "[tbl_Loans]", "Year ([Auto_Date])=" & Me.txtYear - 1 & " And [Loan_ID] > 0"), 0) - Nz(DCount("[Payment_Made]", "[tbl_Loans]", "Year ([Auto_Date])=" & Me.txtYear - 1 & " And [Loan_ID] > 0"), 0) *- في سنة 2025 تعطيك 264 سجل بالتكرار وبدون تكرار 83 هي الاصح تكون بدالة DCount بالتجميع ودون تكرار حقل Employeeid تم تعديل الأربعاء at 08:14 بواسطه كريمو2
ابو عارف قام بنشر الأربعاء at 08:11 قام بنشر الأربعاء at 08:11 (معدل) تم حذف مشاركة تم تعديل الخميس at 04:32 بواسطه ابو عارف
كريمو2 قام بنشر الأربعاء at 08:23 الكاتب قام بنشر الأربعاء at 08:23 6 دقائق مضت, ابو عارف said: MySQL = MySQL & " Where Year([Auto_Date])=" & Me.txtYear & " And [Loan_ID] > 0 " لا لم تغير شيئا الصورة توضح الحل الصحيح
ابو عارف قام بنشر الأربعاء at 08:46 قام بنشر الأربعاء at 08:46 أخي كريمو لو تفضلت بإرفاق ملف لوجدت الحل اسرع من قبل اساتذة في المنتدى ارفق قاعدة بيانات حتي ببيانات وهمية ولا احد يبخل عليك إن شاء الله.
كريمو2 قام بنشر الأربعاء at 08:48 الكاتب قام بنشر الأربعاء at 08:48 1 دقيقه مضت, ابو عارف said: أخي كريمو لو تفضلت بإرفاق ملف لوجدت الحل اسرع من قبل اساتذة في المنتدى ارفق قاعدة بيانات حتي ببيانات وهمية ولا احد يبخل عليك إن شاء الله. الملف مرفقا من ثالث رد 2025-01-01_06-47-01.rar
Foksh قام بنشر الأربعاء at 09:01 قام بنشر الأربعاء at 09:01 وعليكم السلام ورحمه الله وبركاته ،، انا لو كنت مكانك ، أولا سأتأكد من وجود قيم صحيحة في الحقول المستهدفة في الشرط وعدم التكرار ، لربما تحتوي سهواً على قيم فارغة أو غير صحيحة. ثانياً سأجرب على سبيل المثال استعلام مباشر لتجربة النتيجة بدون تحديد الشروط من مصدر كمربع نص ، بل داخل الاستعلام نفسه SELECT DISTINCT(Employeeid) FROM tbl_Loans WHERE Year([Auto_Date]) = 2024 And [Loan_ID] > 0 ثالثاً وقد تكون لها الأولوية قبل النقطة السابقة ، استخدم جملة تتبع النتيجة بجملة Vba ثم اضغط Ctrl+G وتفحص النتيجة العائدة من الاستعلام Debug.Print MySQL لا ضرر أيضاً من متابعة شكل كتابة الاستعلام النحوية من وجود مسافات زائدة أو ناقصة .... الخ . وبخصوص الدالة DCount فأعتقد أنها لا تدعم بشكل مباشر حساب السجلات الفريدة (دون تكرار) بناءً على حقل معين . ويمكن استخدامها مع استعلام فرعي .. كمثال :- Me.Lblt9e = Nz(DCount("EmployeeID", "(SELECT DISTINCT EmployeeID FROM tbl_Loans WHERE Year([Auto_Date]) = " & Me.txtYear - 1 & " And [Loan_ID] > 0)", ""), 0) وأيضاً كحل شاذ يمكن استخدام DSum لجمع السجلات الفريدة حسب الجملة الشرطية ، كما يلي كمثال :- Me.Lblt9e = Nz(DSum("IIF([Loan_Made] - [Payment_Made] = 0, 1, 0)", "tbl_Loans", "Year([Auto_Date]) = " & Me.txtYear - 1 & " And [Loan_ID] > 0"), 0) مع العلم أنني أفضل الحل الثاني لأنه سيكون أسرع من الدالة DCount . وجهة نظري غير ملزمة في النهاية 😇
كريمو2 قام بنشر الأربعاء at 09:15 الكاتب قام بنشر الأربعاء at 09:15 11 دقائق مضت, Foksh said: Me.Lblt9e = Nz(DCount("EmployeeID", "(SELECT DISTINCT EmployeeID FROM tbl_Loans WHERE Year([Auto_Date]) = " & Me.txtYear - 1 & " And [Loan_ID] > 0)", ""), 0) شكرا استاذ على بذل المجهودات الحل الثاني انا ايضا احبذه ولكن ماعرفت كيف اعمل الكود لما نسخت الكود يبدو انه ظهر به مشكلة
Foksh قام بنشر الأربعاء at 09:22 قام بنشر الأربعاء at 09:22 طيب ، جرب تعديل بسيط كالآتي .. Me.Lblt9e = Nz(DCount("EmployeeID", "(SELECT DISTINCT EmployeeID FROM tbl_Loans WHERE Year([Auto_Date]) = " & Me.txtYear - 1 & " And [Loan_ID] > 0)", ""), 0) أو لنجرب الحل الثاني استخدام Recordset مع DISTINCT .. Dim MySQL As String Dim rst As DAO.Recordset MySQL = "SELECT DISTINCT EmployeeID FROM tbl_Loans WHERE Year([Auto_Date]) = " & Me.txtYear - 1 & " And [Loan_ID] > 0" Set rst = CurrentDb.OpenRecordset(MySQL) Me.Lblt9e = rst.RecordCount أو الحل الثالث مع الدالة DSum .. Me.Lblt9e = Nz(DSum("IIF([Loan_Made] - [Payment_Made] = 0, 1, 0)", "tbl_Loans", "Year([Auto_Date]) = " & Me.txtYear - 1 & " And [Loan_ID] > 0"), 0) ما لم تقم بالتجربة لجميع الحلول ، فلن تصل إلى الحل والهدف 🤗
كريمو2 قام بنشر الأربعاء at 09:35 الكاتب قام بنشر الأربعاء at 09:35 5 دقائق مضت, Foksh said: Dim MySQL As String Dim rst As DAO.Recordset MySQL = "SELECT DISTINCT EmployeeID FROM tbl_Loans WHERE Year([Auto_Date]) = " & Me.txtYear - 1 & " And [Loan_ID] > 0" Set rst = CurrentDb.OpenRecordset(MySQL) Me.Lblt9e = rst.RecordCount *- هذه الجملة اعطت نتيجة في سنة 2025 فقط الديون المتبقية الى غاية : 2024/12/31 1.349.000.00 83 اما في سنة 2024 فأعطت نتيجة خاطئة الديون المتبقية الى غاية : 2023/12/31 0.00 74 *- اما الاول ولاخير فلم يعطيا النتيجة الصحيحة الاول مزال به خطأ والاخير لم يعطي الحل الصحيح الديون المتبقية الى غاية : 2023/12/31 0.00 734 الديون المتبقية الى غاية : 2024/12/31 1.349.000.00 612
Foksh قام بنشر الأربعاء at 09:57 قام بنشر الأربعاء at 09:57 بما أنه هناك جزء قد تحقق ، فإننا ندور حول الحل المناسب ، لأنني خارج العمل حالياً وبعيد عن الكمبيوتر ، سنتابع بأقرب وقت
Foksh قام بنشر الأربعاء at 10:34 قام بنشر الأربعاء at 10:34 1 ساعه مضت, كريمو2 said: الملف مرفقا من ثالث رد على فكرة هذا ليس ملف مرفقك لقاعدة بيانات ، بل ملف فيديو
كريمو2 قام بنشر الأربعاء at 11:27 الكاتب قام بنشر الأربعاء at 11:27 51 دقائق مضت, Foksh said: على فكرة هذا ليس ملف مرفقك لقاعدة بيانات ، بل ملف فيديو 202511.rar
Foksh قام بنشر الأربعاء at 11:49 قام بنشر الأربعاء at 11:49 20 دقائق مضت, كريمو2 said: 202511.rar 185.94 kB · 2 downloads الآن من خلال معرفتك ببيانات مشروعك ، ما النتيجة الصحيحة للعام 2024 ، والعام 2025 ؟؟ فقط من أجل تلافي كثرة التجارب بيننا ولإكتساب الوقت .
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.