View Full Version : شمارش تعداد ركوردهاي يك فيلد با شرط خاص در اكسس
daneshjoo86
شنبه 21 آذر 1388, 10:16 صبح
سلام
من فيلدي دارم از نوع Text كه داراي اطلاعات مختلفي است. مي خواهم تعداد ركوردهايي كه داراي مقداري خاص است را نمايش دهم.
براي مثال، اگر اطلاعات فيلد City برابر شهرهاي "تهران" ، "اصفهان" و "شيراز" است، در گزارش يا Report، تعداد ركوردهايي كه مقدار فيلد City برابر "تهران" است را نمايش دهد.
در Report Footer از فرمان
("تهران"=[Count ([City=
استفاده كردم اما تعداد كل ركوردهاي City را نمايش مي دهد نه تعداد "تهران" هاي آن را.
درضمن، چرا وقتي فرمولي را در قسمت page Footer مي نويسم، Error مي دهد و قبول نمي كند؟
لطفا مرا راهنمايي نماييد.
با تشكر.
smderfan
شنبه 21 آذر 1388, 13:13 عصر
سلام
شما می توانید از فرمان Dcount استفاده کنید
ساختار :
DCount(expr, domain, [criteria])
مثال :
=DCount("[OrderID]", "Orders", "[ShipRegion] = 'CA'")
intX = DCount("*", "Orders")
intW = DCount("[ShipName]", "Orders")
intX = DCount("[ShipRegion]", "Orders")
intY = DCount("[ShipName] + [ShipRegion]", "Orders")
intZ = DCount("[ShipName] & [ShipRegion]", "Orders")
Dim numCount As Integer
numCount = Dcount("City", "Table1", "City='" & Me.Combo1 & "'")
MsgBox numCount
daneshjoo86
شنبه 21 آذر 1388, 14:32 عصر
smderfan محترم
ممنونم از پاسختون. امكان داره توضيح بيشتر بدين؟ يا فايلي رو ضميمه كنين؟ بر اساس اين فرمول انجام دادم اما Syntax Error مي ده و فرمول رو قبول نمي كنه.
تشكر فراوان از شما
smderfan
شنبه 21 آذر 1388, 17:36 عصر
سلام این نمونه رو ببینید
nia491
چهارشنبه 05 بهمن 1401, 08:10 صبح
درود و ارادت خدمت شما بزرگواران و ايام به كام
يه table تو اكسس دارم كه شامل esm و چهار فيلد جداگانه براي نمرات دروس riyazi، oloom، arabi و ghoran هست و شامل 50 ركورد.
براي نمونه نمرات دانش آموزان در درس arabi رو قرار دادم. به فرض نمره يكي از دانش آموزان 15 شده. حالا چطوري مي تونم دستوري بنويسم و يا از تابعي استفاده كنم كه نشون بده چند نفر نمره شون از نمره اين دانش آموز بيشتر و يا چند نفر نمره شون از اين دانش آموز كمتر شده. (حالت كلي دستور رو مي خوام). محبت بفرماييد و منو راهنمايي كنيد. سپاس از شما
eb_1345
چهارشنبه 05 بهمن 1401, 10:19 صبح
درود و ارادت خدمت شما بزرگواران و ايام به كام
يه table تو اكسس دارم كه شامل esm و چهار فيلد جداگانه براي نمرات دروس riyazi، oloom، arabi و ghoran هست و شامل 50 ركورد.
براي نمونه نمرات دانش آموزان در درس arabi رو قرار دادم. به فرض نمره يكي از دانش آموزان 15 شده. حالا چطوري مي تونم دستوري بنويسم و يا از تابعي استفاده كنم كه نشون بده چند نفر نمره شون از نمره اين دانش آموز بيشتر و يا چند نفر نمره شون از اين دانش آموز كمتر شده. (حالت كلي دستور رو مي خوام). محبت بفرماييد و منو راهنمايي كنيد. سپاس از شما
سلام
چرا برای نمرات دروس چهار فیلد جداگانه ایجاد کرده ای ؟ شما برای این موضوع نیاز به سه فیلد داری(به استثاء فیلد ID اگه مورد استفاده باشه ) . اول عنوان درس (Dars) دوم نام دانش آموز (StudentName) و سوم هم نمره (Grade)
در فیلد Dars عنوان دروس وارد و نمایش داده میشه ، در فیلد StudentName نام دانش آموز و در فیلد Grade هم نمره دانش آموز و با استفاده از DCount براحتی میتونی تعداد نمرات بالا و پائین نمره مد نظر درس مربوطه رو بدست بیاری
بصورت زیر :
MsgBox DCount("Dars", "table1", "Dars=""arabi"" and Grade <15")
MsgBox DCount("Dars", "table1", "Dars=""arabi"" and Grade >15")
نمیدونم متوجه منظورت شدم یا نه
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.