اذهب الي المحتوي
أوفيسنا

مجموع تكرار قيم حقل


الردود الموصى بها

الا يوجد دالة تقوم بعد في عمود اومجال بحيث يكون كل متشابه واحد ، على سبيل المثال لدينا عمود فيه احمد ، احمد ، احمد ، عادل ، عادل، ناصر فيكون اذا استخدمنا الدالة المجموع 3 لان الدالة حسبت المتشابه 1 ويمكن ان نستخدمها في تقرير او نموذج . ولعل هذا الرابط يوضح ما اريد حسابه في التقرير وشكرااا

http://www.freewebs.com/tariqaleed/Report.rar

رابط هذا التعليق
شارك

السلام عليكم

اخي الفيلسوف111 :fff:

أولا : أود ان اشكرك على هذه المسائل الصعبة التي تطرحها والتي تستفز فيها فعلا عقولنا. وارجو منك الاستمرار في طرح مثل هذه المسائل المعقدة.

ثانيا : بالرغم من بساطة صياغتك للمسألة ، إلا ان المسألة برأيي الشخصي (ليست بسيطة) ، بل واستطيع ان اقول لك (لربما) انه لا يوجد حل لهذه المسألة بدون اللجوء الى البرمجة.

ان احببت متابعة حل المسألة بدون برمجة فإليك المدخل الى الحل

1. تبني استعلام على الجدول الرئيس وتسميه q1 كما يلي:

SELECT DISTINCT الرئيسي1.[رقم البطاقة] AS card
FROM الرئيسي1 GROUP BY الرئيسي1.[رقم البطاقة], الرئيسي1.الاسم
HAVING (((الرئيسي1.الاسم)=[reports].[الرئيسي1].[الاسم]));
2. تبني استعلام اخر مبنى على الاول وتسميه q2 كما يلي:
SELECT Count(q1.card) AS CountOfcard
FROM q1;

3. تستخدم الاستعلام الثاني لطباعة عدد البطاقات في التقرير

تبقى مشكلة واحدة هي ان الحساب يتم بشكل صحيح 100% ولكن لأخر اسم فقط (وأنا شبه متأكد هنا) أنه يوجد مشكلة في معالجة اكسس بتمرير الاسم في نهاية كل مجموعة وهو يمرر مرة واحدة فقط في نهاية التقرير.

على كل الاحول ارفقت لك المحاولة

اذا استطعت ان تكمل او تغير شيء ارجو اعلامي فانا مهتم جدا في الموضوع.

علما أن حل المسألة بالبرمجة ليس معقدا.

مع الاحترام

______.rar

تم تعديل بواسطه خضر الرجبي
رابط هذا التعليق
شارك

السلام عليكم

اخي الفيلسوف111 :fff: ،

أتمنى أن تكون كل أيامك سعيدة ، واليك الحل البرمجي المطلوب ، وبالتوفيق دائما.

مع الاحترام

KR_Officen_10.rar

رابط هذا التعليق
شارك

أخي الفيلسوف ...

هذه الدالة تماماً كما طلبتها أنت وقد أسميتها UniqueCount ليدل اسمها على وظيفتها

Function UniqueCount(Expr As String, Domain As String, Optional Criteria As String = "True") As Long
 Dim A As String, R As DAO.Recordset
 If InStr(1, Expr, "*") > 0 Then
    UniqueCount = 0
 Else
    A = "SELECT " & Expr & ", Count(" & Expr & ") AS Count FROM " & Domain & " WHERE (" & Criteria & ") GROUP BY " & Expr & ";"
    Set R = CurrentDb.OpenRecordset(A)
    UniqueCount = R.RecordCount
 End If
End Function

ضعها في وحدة نمطية في برنامجك ..

ثم استدعها تماماً مثلما تستدعِ تعليمة Count

ولكن تذكر أن تدرج في الـ References مكتبة Dao لكي تعمل الدالة عندك بشكل صحيح

تحياتي لك :fff:

رابط هذا التعليق
شارك

من كل قلبي اشكركما ، اخ مهند عبادي مشكور جدجدا ولكن للاسف لم تعمل الشفر . اذا وضعت اسم UniqueCount مثلما تستدعِ تعليمة Count

لايقبل مربع نص المعادلة واذا اغيرها بحرف واحد يقبلها طبعا مع تغيير في الوحدة النمطية ، فستبدلت UniqueCount ب UniqueCoutt فيظهر في مربع النص خطأ . مع ادراج المرجع microsoft dao 3.6 object library مع تجربة مراجع اخرى . اخ خضر مشكور جدا فكرة ذكية وواضحة في الاولى والثانية 100%

رابط هذا التعليق
شارك

السلام عليكم

اخي الفيلسوف111 :fff: ، اخي مهند عبادي :fff: ، بارك الله في جهودكم

الاخ مهند عبادي :fff:، يا اخي الفيلسوف111 :fff: قدم لنا حلا رائعا وهو يعمل ولكنه سهوا قال انه بديل للتعليمة count والصحيح أنه بديل للإقتران dcount ولذلك اخي الفيلسوف111 لم يشتغل معك.

ويجدر الاشارة هنا ان الدالة التي قدمها الاخ مهند العبادي رائعة وذكية جدا وتعمل تماما كما وصفها اعلاها باستثناء توضيحي السابق ويمكن استخدامها في مواضع كثيرة.

مع الاحترام والتقدير لجهود الجميع.

رابط هذا التعليق
شارك

اخي خضر الرجبي ، اخي مهند عبادي ، بارك الله في جهودكما الان واضح وعملت الدالة ، وهذه الوصلة ادناه فيها مثال لأفكاركما الخلاقة لمن يرد الاستفادة

http://www.freewebs.com/tariqaleed/Reports3.rar

تم تعديل بواسطه الفيلسوف111
رابط هذا التعليق
شارك

  • 1 year later...
زائر
هذا الموضوع مغلق.
  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information