PDA

View Full Version : تابع DCount را توضیح دهید



bani_hashemi
دوشنبه 18 اردیبهشت 1385, 09:53 صبح
توابعی که در اکسس وجود دارد مثل sum avrage اگر حرف D د اشته باشد چه فرقی می کند

DCount را توضیح دهید

Fazaeli
دوشنبه 18 اردیبهشت 1385, 16:53 عصر
توابعی که در اکسس وجود دارد مثل sum avrage اگر حرف D د اشته باشد چه فرقی می کند

DCount را توضیح دهید

DCount:فیلد شامل عدد رادر ستون اطلاعات ثبت شده در پایگاه اطلاعاتی میشمارد

فردان فردان
شنبه 05 مرداد 1387, 10:11 صبح
DCount:فیلد شامل عدد رادر ستون اطلاعات ثبت شده در پایگاه اطلاعاتی میشمارد

لطفا توضیح کاملتری با ذکر مثال اگر امکان دارد؟

مهدی قربانی
شنبه 05 مرداد 1387, 11:11 صبح
سلام
تابع D‍‍Count در اصل عمل شمارش رو متناظر با مقدار ورودي انجام ميده به عبارتي در اين تابع شما آرگومانهاي نام فيلد ، نام جدول يا كوئري و شرط رو داريد كه حاصل كار شمارش مثلاً تعداد ركوردهايي كه متناظر با شرط لحاظ شده استخراج شدن هست مثال:

DCount("CityName","Tb_City","CityName='Tehran'")

‍CityName نام فيلد Tb_City نام جدول "CityName='Tehran'" شرط

smderfan
شنبه 05 مرداد 1387, 11:19 صبح
سینتکس فرمان بصورت زیر است :

DCount(expr, domain [, criteria] )
expr :نام فیلد مورد نظر
domain : نام جدول
criteria : شرط مورد شمارش
مثال :

intX = DCount("*", "Orders")
فرمان بالا تعداد کل رکوردهای جدول Orders را شمارش و مقدار آن را در متغیر intX ذخیره می کند.

سایر نمونه ها :

intW = DCount("[ShipName]", "Orders")
intX = DCount("[ShipRegion]", "Orders")
intY = DCount("[ShipName] + [ShipRegion]", "Orders")
intZ = DCount("[ShipName] & [ShipRegion]", "Orders")

مثال کامل :

Public Function OrdersCount _
(ByVal strCountryRegion As String, _
ByVal dteShipDate As Date) As Integer

OrdersCount = DCount("[ShippedDate]", "Orders", _
"[ShipCountryRegion] = '" & strCountryRegion & _
"' AND [ShippedDate] > #" & dteShipDate & "#")
End Function

reza850101
یک شنبه 20 فروردین 1391, 16:06 عصر
با سلام من اگر بخواهم تعداد فیلدهای یک جدول که حاوی "*" میباشد بشمارم و دز یک فیلد ثبت کنم از چه تابعی و چگونه استفاده کنم ؟

aghl2004
دوشنبه 21 فروردین 1391, 06:34 صبح
سلام
اگر ممكنه فرق آن با را نيز توضيح دهيدcount

reza850101
پنج شنبه 24 فروردین 1391, 08:35 صبح
سلام
اگر ممكنه فرق آن با را نيز توضيح دهيدcount

خواهشا"شما در سریال مسیر انحرافی نقش نداشته باش :قهقهه:

دوستان این تابع شمارش فیلدها با شرایط بالا رالطف کنید

aghl2004
پنج شنبه 24 فروردین 1391, 11:55 صبح
خواهشا"شما در سریال مسیر انحرافی نقش نداشته باش :قهقهه:

دوستان این تابع شمارش فیلدها با شرایط بالا رالطف کنید
ادب مرد به ز علم اوست.

reza850101
شنبه 26 فروردین 1391, 08:57 صبح
دوست نازک دل من قصد بی ادبی نداشتم به مزاحم گفتم و لوگ خنده برای همین بوده ، برحال اگر چنین برمیاید معذرت مییخواهم ، ولی شما ،باید بپیذیرید که سوالتان مسیر را تغییر میدهد، درمورد تابعی که میخواهید چندین تاپیک وجوددارد سرچ کنید حتما پیدا میکنید،

Abbas Amiri
شنبه 26 فروردین 1391, 20:55 عصر
تعداد فیلدهای یک جدول که حاوی "*" میباشد


RecCount=Dcount("MyField","MyTable","MyField LIKE '*
*'")

aghl2004
یک شنبه 27 فروردین 1391, 07:57 صبح
دوست نازک دل من قصد بی ادبی نداشتم به مزاحم گفتم و لوگ خنده برای همین بوده ، برحال اگر چنین برمیاید معذرت مییخواهم ، ولی شما ،باید بپیذیرید که سوالتان مسیر را تغییر میدهد، درمورد تابعی که میخواهید چندین تاپیک وجوددارد سرچ کنید حتما پیدا میکنید،
بله بنده كمي ناراحت شدم نه به خاطر جواب شما. اگه بنده سوال بيجايي كرده بودم اصلا ناراحت نميشدم حتي اگر جدي تر برخورد ميشد. اگه اولين سوال تاپيك را به دقت مطالعه بفرماييد "توابعی که در اکسس وجود دارد مثل sum avrage اگر حرف D د اشته باشد چه فرقی می کند

DCount را توضیح دهید " دوستي كه اين تاپيك را زده خواسته فرق بين توابع مثل SUM,AVERAGE با حالتي كه در اول آنها D مي آيد بداند و من هم به همين دليل اين تاپيك را دنبال ميكردم ولي از فرق آنها چيزي نديدم.
در هر صورت بنده هم معذرت ميخوام شايد زياده روي كردم

ARData
یک شنبه 27 فروردین 1391, 08:51 صبح
توابعي چون Dcount , Dsum , DAvg , DMin , Dmax و اونايي داراي حرف D در اولشون مي باشند هم ميشه در داخل فرم و بدون استفاده از محيط ويژوال براي کنترل هايي مثل تکست باکس استفاده کرد (اس کيو الي) و هم در محيط ويژوال با اين تفاوت که جدا کننده هاي تابع در فرم از ; استفاده مي کند و در محيط ويژوال از , استفاده مي کند . ولي زماني که از Sum يا Max يا Count مي خواهيم استفاده نماييم در محيط ويژوال بدون حرف D جواب نخواهيم گرفت و با ارور مواجه مي شيم ... و براي يک فرم يا گزارش داخل کنترل تکست باکس ميشه از Sum يا Count بدون حرف D بهره گرفت ... مانند مثال زير :
در محيط ويژوال :
X = DCount("[Field1]", "Tbl1", "[Field2]=" & Me.Txt2 & "And [Field2]=" & Me.Txt3)

درون يک تکست باکس يا کيوئري (خارج از محيط وژوال) :

نوع 1 :(در صورت نياز به ضوابط ) در صورتي که ما مي خواهيم جوابمون بر اساس شرط و شروطي که تعريف مي کنيم بدست بياد :

فيلد تکست باکس : = DCount("[Field1]"; "Tbl1"; "[Field2]=" & Me.Txt2 & "And [Field2]=" & Me.Txt3)
فيلد کيوئري : Expr1: DCount("Field1";"Tbl1";"[Field2]=" & [Txt2] & "And [Field2]=" & [Txt3])

نوع 2 (بدون استفاده از D) جواب ما فقط از مجموعه کل حاصل خواهد شد (بدون شرط و شروط)
=Count([Field1])

با عرض پوزش اين پست رو به زبان خيلي ساده نوشتم تا دوستان مبتدي هم بتونن ازش استفاده ببرن ....

reza850101
دوشنبه 28 فروردین 1391, 17:03 عصر
RecCount=Dcount("MyField","MyTable","MyField LIKE '*
*'")


شرمنده من این کد را درکوئری یا درکنترل سورت فیلدم باید واردکنم؟ اگر ممکن فایل نمونه اصلاح شود

Abbas Amiri
دوشنبه 28 فروردین 1391, 18:42 عصر
فایلتان اصلاح شد

reza850101
سه شنبه 29 فروردین 1391, 07:37 صبح
جناب آقای عباسی بسیار متشکرم از زحمتی که محتمل شدید.
فقط در مورد احمدحسینی که دونوع مرخصی دریک ماه استفاده کرده اشکال داره امکان داره راهنمای و یااصلاح کنید ؟ممنون

Abbas Amiri
سه شنبه 29 فروردین 1391, 19:56 عصر
بنده اشراف کامل به برنامه شما نداشتم . در سابفرم کد زیر را جایگزین کنید:


Public Function DayClicked(nth As Integer)

If IsNull(Me(CStr(nth))) Then
Me(CStr(nth)) = "*"
Else
Me(CStr(nth)) = Null
End If
Me.Refresh
Me.FldCount = DayCount(Me.codm, Nz(Me.mhc), Nz(Me.cds))
End Function


ودر ماژول 1 هم کد زیر را جایگزین کنید:



Function DayCount(codm As String, mhc As Integer, cds As Integer) As Integer
Dim k As Integer, rs As Recordset
Dim cnt As Integer, FldName As String
Set rs = CurrentDb.OpenRecordset("SELECT * FROM Sheet10 WHERE codm='" & codm & "' AND mhc=" & mhc & " AND cds=" & cds)
For k = 1 To 31
If Not IsNull(rs.Fields(k + 2)) Then cnt = cnt + 1
Next
Set rs = Nothing
DayCount = cnt
End Function

reza850101
چهارشنبه 30 فروردین 1391, 16:37 عصر
جناب امیری باس÷اس فراوان ازشما و تشکر از وقتی که گذاشتید
، نمیدانم ادامه سوالم را در تای÷ک دیگری دنبال کنم یا اینکه چون مرتبط است ادامه دهم امیدوارم راهنمایی ادامه یابد - میخواهم مانده مرخصی استعلاجی و استحقاقی که در سابفرم سمت راست است به تفکیک در مرخصی استحقاقی و مرخصی استعلاجی ذخیره کنم . ممنون میشم راهنمایی کنید

Abbas Amiri
چهارشنبه 30 فروردین 1391, 19:08 عصر
اگر درست متوجه شده باشم می خواهید درجدول ذخیره کنید . درحالیکه فیلدهای محاسباتی درجداول توصیه نمی شوند. وبراحتی باکوئری به آنها دسترسی هست . فیلدهایی مانند مانده مرخصی های جاری ومشابه آنها نیازی به ثبت درجداول ندارند

reza850101
یک شنبه 03 اردیبهشت 1391, 13:52 عصر
باتشكر از آقاي اميري كه محبت كردند