أخي الفيلسوف ...
هذه الدالة تماماً كما طلبتها أنت وقد أسميتها 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 لكي تعمل الدالة عندك بشكل صحيح
تحياتي لك