طاهر اوفيسنا قام بنشر ديسمبر 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 قام بنشر يناير 1 قام بنشر يناير 1 وعليكم السلام الكود من حيث الظاهر لايعطي خطأ ياليت مثال بسيط فيه بعض البيانات ..وهل النموذج مستمد من استعلام ...لان بصراحة دخت في Employeeid
طاهر اوفيسنا قام بنشر يناير 1 الكاتب قام بنشر يناير 1 (معدل) في 1/1/2025 at 01:22, Eng.Qassim said: وهل النموذج مستمد من استعلام ...لان بصراحة دخت في Employeeid Expand النموذج مستمد من الجدول مباشرة فعلا هو لا يعطي خطا ولكن لايعطي النتيجة الصحيحة مثال t9e=0.00 وعدد سجلاته Lblt9e = 83 خلال سنة 2024 t9e=1.349.000.00 وعدد سجلاته Lblt9e = 00 خلال سنة 2025 اليك المرفق للتوضيح 2025-01-01_06-47-01.rarFetching info... تم تعديل يناير 1 بواسطه كريمو2
أبو إبراهيم الغامدي قام بنشر يناير 1 قام بنشر يناير 1 أهلا @كريمو2 المطلوب جدول البيانات لكي نتحقق من صحة جملة الاستعلام التي ذكرتها في طلبك
طاهر اوفيسنا قام بنشر يناير 1 الكاتب قام بنشر يناير 1 في 1/1/2025 at 06:32, أبو إبراهيم الغامدي said: المطلوب جدول البيانات لكي نتحقق من صحة جملة الاستعلام التي ذكرتها في طلبك Expand لقد ارفقت مثالا استاذ أبو ابراهيم الغامدي بالاعلى
أبو إبراهيم الغامدي قام بنشر يناير 1 قام بنشر يناير 1 في 1/1/2025 at 06:35, كريمو2 said: لقد ارفقت مثالا استاذ أبو ابراهيم الغامدي بالاعلى Expand مقطع فيديو فقط!
طاهر اوفيسنا قام بنشر يناير 1 الكاتب قام بنشر يناير 1 في 1/1/2025 at 06:43, أبو إبراهيم الغامدي said: مقطع فيديو فقط! Expand 2025-01-01_08-00-29.rarFetching info...
طاهر اوفيسنا قام بنشر يناير 1 الكاتب قام بنشر يناير 1 (معدل) في 1/1/2025 at 07:03, ابو عارف said: جرب هذا الكود Expand لم يحدث اي تغيير مالذي غيرته في الكود استاذ تم تعديل يناير 1 بواسطه كريمو2
ابو عارف قام بنشر يناير 1 قام بنشر يناير 1 (معدل) في 1/1/2025 at 07:11, كريمو2 said: م يحدث اي تغيير مالذي غيرته في الكود استاذ Expand تم حذف مشاركة تم تعديل يناير 2 بواسطه ابو عارف
طاهر اوفيسنا قام بنشر يناير 1 الكاتب قام بنشر يناير 1 في 1/1/2025 at 07:17, ابو عارف said: مسافة بين علامة تنصيص و And Expand بقيت دار لقمان على حالها اي ولا تغيير استاذ ابو عارف
طاهر اوفيسنا قام بنشر يناير 1 الكاتب قام بنشر يناير 1 (معدل) في 1/1/2025 at 07:03, ابو عارف 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 Expand يا استاذ أبو عارف المشكلة تكمن في هذه الجملة 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 تم تعديل يناير 1 بواسطه كريمو2
طاهر اوفيسنا قام بنشر يناير 1 الكاتب قام بنشر يناير 1 في 1/1/2025 at 08:11, ابو عارف said: MySQL = MySQL & " Where Year([Auto_Date])=" & Me.txtYear & " And [Loan_ID] > 0 " Expand لا لم تغير شيئا الصورة توضح الحل الصحيح
ابو عارف قام بنشر يناير 1 قام بنشر يناير 1 أخي كريمو لو تفضلت بإرفاق ملف لوجدت الحل اسرع من قبل اساتذة في المنتدى ارفق قاعدة بيانات حتي ببيانات وهمية ولا احد يبخل عليك إن شاء الله.
طاهر اوفيسنا قام بنشر يناير 1 الكاتب قام بنشر يناير 1 في 1/1/2025 at 08:46, ابو عارف said: أخي كريمو لو تفضلت بإرفاق ملف لوجدت الحل اسرع من قبل اساتذة في المنتدى ارفق قاعدة بيانات حتي ببيانات وهمية ولا احد يبخل عليك إن شاء الله. Expand الملف مرفقا من ثالث رد 2025-01-01_06-47-01.rarFetching info...
Foksh قام بنشر يناير 1 قام بنشر يناير 1 وعليكم السلام ورحمه الله وبركاته ،، انا لو كنت مكانك ، أولا سأتأكد من وجود قيم صحيحة في الحقول المستهدفة في الشرط وعدم التكرار ، لربما تحتوي سهواً على قيم فارغة أو غير صحيحة. ثانياً سأجرب على سبيل المثال استعلام مباشر لتجربة النتيجة بدون تحديد الشروط من مصدر كمربع نص ، بل داخل الاستعلام نفسه 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 . وجهة نظري غير ملزمة في النهاية 😇
طاهر اوفيسنا قام بنشر يناير 1 الكاتب قام بنشر يناير 1 في 1/1/2025 at 09:01, 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) Expand شكرا استاذ على بذل المجهودات الحل الثاني انا ايضا احبذه ولكن ماعرفت كيف اعمل الكود لما نسخت الكود يبدو انه ظهر به مشكلة
Foksh قام بنشر يناير 1 قام بنشر يناير 1 طيب ، جرب تعديل بسيط كالآتي .. 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) ما لم تقم بالتجربة لجميع الحلول ، فلن تصل إلى الحل والهدف 🤗
طاهر اوفيسنا قام بنشر يناير 1 الكاتب قام بنشر يناير 1 في 1/1/2025 at 09:22, 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 Expand *- هذه الجملة اعطت نتيجة في سنة 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 قام بنشر يناير 1 قام بنشر يناير 1 بما أنه هناك جزء قد تحقق ، فإننا ندور حول الحل المناسب ، لأنني خارج العمل حالياً وبعيد عن الكمبيوتر ، سنتابع بأقرب وقت
Foksh قام بنشر يناير 1 قام بنشر يناير 1 في 1/1/2025 at 08:48, كريمو2 said: الملف مرفقا من ثالث رد Expand على فكرة هذا ليس ملف مرفقك لقاعدة بيانات ، بل ملف فيديو
طاهر اوفيسنا قام بنشر يناير 1 الكاتب قام بنشر يناير 1 في 1/1/2025 at 10:34, Foksh said: على فكرة هذا ليس ملف مرفقك لقاعدة بيانات ، بل ملف فيديو Expand 202511.rarFetching info...
Foksh قام بنشر يناير 1 قام بنشر يناير 1 في 1/1/2025 at 11:27, كريمو2 said: 202511.rar 185.94 kB · 2 downloads Expand الآن من خلال معرفتك ببيانات مشروعك ، ما النتيجة الصحيحة للعام 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.