Amr Ashraf قام بنشر ديسمبر 25, 2017 قام بنشر ديسمبر 25, 2017 (معدل) السلام عليكم اساتذتى الافاضل ما الخطأ بهذا الكود =Count(IIf("[text286]>0",0)) تقوم بحساب عدد السجلات الموجودة بالنموذج كلها بدون تطبيق الشرط المطلوب المطلوب من الكود القيام بالعدد بشرط الحقل أكبر من صفر وللعلم الحقل غير منضم ومصدره حاصل جمع حقلين اخرين وبالنسبة للكود موجود فى حقل نصى فى تذييل نموذج مستمر Continuos Form دمتم بخير تم تعديل ديسمبر 25, 2017 بواسطه Amr Ashraf
ابو ياسين المشولي قام بنشر ديسمبر 25, 2017 قام بنشر ديسمبر 25, 2017 على ما اظن الخطاء في التنصيص =Count(IIf("[text286]>0";0)) جرب هكذ ; بدل ,
Amr Ashraf قام بنشر ديسمبر 25, 2017 الكاتب قام بنشر ديسمبر 25, 2017 10 دقائق مضت, ابو ياسين المشولي said: على ما اظن الخطاء في التنصيص =Count(IIf("[text286]>0";0)) جرب هكذ ; بدل , انا استخدم النسخة الانجليزية اخى الكريم ولذلك عندى , وليس ; شكرا على المتابعة
jjafferr قام بنشر ديسمبر 25, 2017 قام بنشر ديسمبر 25, 2017 وعليكم السلام جرب هذا =Count(IIf([text286]>0,1,0)) جعفر
Amr Ashraf قام بنشر ديسمبر 25, 2017 الكاتب قام بنشر ديسمبر 25, 2017 (معدل) 23 دقائق مضت, jjafferr said: وعليكم السلام جرب هذا =Count(IIf([text286]>0,1,0)) جعفر استاذى الفاضل مازالت المشكلة قائمة بيعطى #خطأ مرفق قاعدة مصغرة 2.rar تم تعديل ديسمبر 25, 2017 بواسطه Amr Ashraf تغيير مرفق به مشكلة
jjafferr قام بنشر ديسمبر 25, 2017 قام بنشر ديسمبر 25, 2017 اخي عمرو لا يمكن عمل اي متغيرات للامر Count او Sum في ذيل النموذج ، غير اسم الحقل مثل (Count(myField او Count(*)p اما اذا اردنا الحساب بشروط ، فيجب ان نعمله في الكود ، وعملت هذه الوحدة Private Sub Coun_Count() Dim rst As DAO.Recordset Set rst = Me.RecordsetClone rst.MoveLast: rst.MoveFirst RC = rst.RecordCount Counter = 0 For i = 1 To RC If rst!cons > 0 Then Counter = Counter + 1 'Count cons 'Counter = Counter + rst!cons 'Sum cons End If rst.MoveNext Next i Me.Coun = Counter rst.Close: Set rst = Nothing End Sub . وتستطيع مناداتها من اي حدث من النموذج هكذا Call Coun_Count . مثلا ، في حدث النقر على اسم productcode في الحقل t0 : Private Sub t0_Click() Me.T216 = "" & Me.t0.Column(0) & "" Me.T216.Requery search_Products = "" Me.Requery Me.T3.SetFocus Call Coun_Count End Sub جعفر 824.count.accdb.zip 1
ابو ياسين المشولي قام بنشر ديسمبر 25, 2017 قام بنشر ديسمبر 25, 2017 بعد اذن اخي جعفر نفس ما تفضل اخي جعفر باختلاف بسيط 824.count.accdb.zip 1
Amr Ashraf قام بنشر ديسمبر 25, 2017 الكاتب قام بنشر ديسمبر 25, 2017 (معدل) استاذى الفاضل جعفر جزاك الله خير على المعلومة ولكنى لاحظت شئ فى حالة ان الحقل المطلوب عده غير منضم Unbound تظهر رسالة خطأ Item is not found in this Collection هل هناك طريقة لتفادى الامر لأن القاعدة الاساسية المطلوب عده حقل غير منضم وليس منضم تقبل تحياتى انظر المرفق 3.rar 1 دقيقه مضت, ابو ياسين المشولي said: بعد اذن اخي جعفر نفس ما تفضل اخي جعفر باختلاف بسيط 824.count.accdb.zip جزاك الله خير يا غالى نفس الملاحظة لن تعمل الطريقة على الحقول الغير منضمة فى النموذج انظر المرفق 3.rar تم تعديل ديسمبر 25, 2017 بواسطه Amr Ashraf
jjafferr قام بنشر ديسمبر 25, 2017 قام بنشر ديسمبر 25, 2017 استخدم هذا الكود Private Sub Coun_Count() Dim rst As DAO.Recordset Set rst = Me.RecordsetClone rst.MoveLast: rst.MoveFirst RC = rst.RecordCount Counter = 0 For i = 1 To RC If Nz(rst!cons, 0) * Nz(Me.T3, 0) > 0 Then Counter = Counter + 1 'Count cons 'Counter = Counter + rst!cons 'Sum cons End If rst.MoveNext Next i Me.Coun = Counter rst.Close: Set rst = Nothing End Sub Private Sub T3_AfterUpdate() Call Coun_Count End Sub جعفر 1
Amr Ashraf قام بنشر ديسمبر 25, 2017 الكاتب قام بنشر ديسمبر 25, 2017 الان, jjafferr said: استخدم هذا الكود جعفر تمام يعنى افهم منك انى هلغى الحقل الغير منضم ليقوم بوظيفته الكود جزاك الله خير استاذى
jjafferr قام بنشر ديسمبر 25, 2017 قام بنشر ديسمبر 25, 2017 اللي تشوفه مناسب لعملك 824.count.accdb.zip 2
Amr Ashraf قام بنشر ديسمبر 25, 2017 الكاتب قام بنشر ديسمبر 25, 2017 استاذ @jjafferr بعد التجربة على القاعدة الاصلية حدث معى خطأ لا اعرف سببه حيث ان عدد السجلات خاطئ ليس بالعدد الفعلى الذى ينطبق عليه الشرط لو تكرمت القى نظرة على المرفق 5.rar
jjafferr قام بنشر ديسمبر 25, 2017 قام بنشر ديسمبر 25, 2017 تفضل لما شفت انك مستخدم الامر Dlookup في النموذج ونفسه في الكود ، يعني انك تطلب بيانات من الجدول 8 مرات * 2 = 16 مرة ، نظرت فيه ، . فجمعت بين الاستعلام مصدر بيانات النموذج ، والاستعلام QryRawBlnc اللى تحتاج منه نتيجة حقل Balance ، وربطت الجدولين بالحقل code . عليه ، اصبح هذا الاستعلام الجديد مصدر بيانات النموذج . وقيمة الحقل Balance اصبحت جاهزة . وعليه تم تعديل الكود ليشمل هذه التغييرات Private Sub Coun_Count() Dim rst As DAO.Recordset Set rst = Me.RecordsetClone rst.MoveLast: rst.MoveFirst RC = rst.RecordCount Counter = 0 For i = 1 To RC ''''''''''''''''''''''''''''''''''''''''''''''''''''''' Dim con As Long con = Nz(rst!cons, 0) * Nz(Me.T3, 0) Debug.Print "con= " & con & " >> " & "Balance= " & rst!Balance 'If con > Bal Then If con > rst!Balance Then Counter = Counter + 1 'Count cons 'Counter = Counter + rst!cons 'Sum cons End If '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' rst.MoveNext Next i Me.Coun = Counter rst.Close: Set rst = Nothing End Sub . ولكن خلينا نشوف الحساب والمقارنة اللي يشوفها الكود ، وبسبب استعمالك Long للمتغير con ، ترى قيمة معادلتك بدون كسور عشرية (Long معناه Integer طويل ، يعني رقم كامل بدون منازل عشرية) ، ولما غيرته الى Double ، اعطى القيمة حسب الظاهر في النموذج Dim con as Long con= 1 >> Balance= 100000 con= 4 >> Balance= 400000 con= 1 >> Balance= 100000 con= 0 >> Balance= 0.005 con= 0 >> Balance= 4 con= 2 >> Balance= 200000 con= 3 >> Balance= 0 con= 2 >> Balance= 200000 -------------------------------- Dim con as Double con= 1 >> Balance= 100000 con= 4 >> Balance= 400000 con= 1 >> Balance= 100000 con= 0.00004 >> Balance= 0.005 con= 0.00004 >> Balance= 4 con= 2 >> Balance= 200000 con= 3 >> Balance= 0 con= 2 >> Balance= 200000 جعفر 824.3.count.accdb.zip 1
Amr Ashraf قام بنشر ديسمبر 25, 2017 الكاتب قام بنشر ديسمبر 25, 2017 23 دقائق مضت, jjafferr said: تفضل لما شفت انك مستخدم الامر Dlookup في النموذج ونفسه في الكود ، يعني انك تطلب بيانات من الجدول 8 مرات * 2 = 16 مرة ، نظرت فيه ، بيانات النموذج ، والاستعلام QryRawBlnc اللى تحتاج منه نتيجة حقل Balance ، وربطت الجدولين بالحقل code والله يا استاذى الفاضل احب جدا اتناقش معك فى المشاكل بحس انى اتعلم كتير جزاك الله خير وزادك علما ... ان شاء الله بجرب واشوف النتيجة تقبل فائق احترامى تمام النتيجة استاذ جعفر وبالفعل غيرت نوع المتغير لدوبل مع العلم كنت عامله دوبل فى الاول بس جربت كتير وبالنسبة لموضوع Debug.print اول مرة اصادف عمله وبحثت عنه فى منتدى اجنبى واستفدت جدا من الطريقة جزاك الله خير
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.