خطأ # ، Error#
نتيجة مزعجة نحصل عليها في النماذج والتقارير
السبب:
في الحقول التي نقوم بها بأي عملية إحتساب ( sum , count) حين لا يكون هناك سجلات ومعلومات لاحتسابها تظهر هذه النتيجة المزعجة..
الحل في النماذج 2003:
بدلا من استخدام
=Sum([Amount])
نستخدم
=IIf([Form].[Recordset].[RecordCount] > 0, Sum([Amount]), 0)
الحل في التقارير 2007:
=IIf([Report].[HasData], Sum([Amount]), 0))
أما في 2007 فالامر مختلف ، فهو لا يقبل هذا الكود ، ويلزم إنشاء وحدة نمطية ندرج فيها :
Public Function FormHasData(frm As Form) As Boolean
'Purpose: Return True if the form has any records (other than new one).
' Return False for unbound forms, and forms with no records.
'Note: Avoids the bug in Access 2007 where text boxes cannot use:
' [Forms].[Form1].[Recordset].[RecordCount]
On Error Resume Next 'To handle unbound forms.
FormHasData = (frm.Recordset.RecordCount <> 0&)
End Function
وفي مصدر السجلات لمربع النص في النموذج نضع الكود:
=IIf(FormHasData([Form]), Sum([Amount]), 0)
وبذلك تنتهي المشكلة ونتخلص من نتائج الخطأ المزعجة ، """ وإذا عرف السبب سهل الحل وبطل العجب """
...........