PDA

View Full Version : سوال: شمارش تعداد فیلد ها بدون تکرار



Rasool-GH
دوشنبه 18 آبان 1394, 07:07 صبح
سلام .

برای نمایش تعداد یک فیلد مشخص از یک جدول در فرم به این شکل عمل کردم . کد زیر رو در کنترل سورس باکس مورد نظر قرار دادم و فرم هم به جدول باند شده . ( تعداد روستا های ثبت شده در جدول )


=Count([FieldName])

حالا برای شمارش فیلد دیگه ای از همون جدول که مقادیر تکراری داخلش هست چه کدی میشه استفاده کرد که مقادیر تکراری شمارش نشود . ( تعداد بخشها یا شهرستانهای ثبت شده )

amirzazadeh
سه شنبه 19 آبان 1394, 07:16 صبح
سلام
پيشنهاد من استفاده از ركورد ست و يك جدول موقت هست (مرحله اول ركوردست جدول اصلي باز ميشه فيلد مورد نظر خونده ميشه اگر تعداد اون ركورد در جدول موقت صفر باشه با استفاده از ركورد ست دوم به جدول موقت كپي و اپديت ميشه و نهايتا تعداد ركورد هاي جدول موقت در تكست باكس مورد نظر نمايش داده ميشه)اميدوارم توضيحات من كافي بوده باشه
.................
موفق باشيد

Rasool-GH
سه شنبه 19 آبان 1394, 07:26 صبح
سلام . ممنون جناب میرزازاده . بله توضیحات کافی بود ولی بنده در زمینه رکوردست مشکل دارم . اگر ممکنه نمونه کدی قرار بدین. در حال حاضر با چند کوئری این کار رو انجام دادم
جدول شامل چند ستون با عناوین استان - شهر - بخش و روستا هست . میخوام در باکسهای مجزا تعداد هر ایتم موجود رو نمایش بدم .

مثلا :
10 استان و 180 شهر و 950 بخش و 48900 روستا

amirzazadeh
سه شنبه 19 آبان 1394, 09:21 صبح
لطفا جداول مورد نظرتون رو اپلود كنيد.

Rasool-GH
سه شنبه 19 آبان 1394, 11:37 صبح
سلام . نمونه ضمیمه شد . میخوام تعداد کل ایتمها از داخل جدول tblRosta شمارش بشه .
در صورتی که کارم اشتباه هست و راه بهتری وجود داره هم لطفا بفرمایید .

لطفا در این مورد هم راهنمایی کنید :
در صورتی که بخوام یک ستون جمعیت هم به جدول اضافه کنم و مجموع جمعیت ساکن در یک بخش یا یک شهر رو محاسبه کنم کوئری چطور باید نوشته بشه .

amirzazadeh
سه شنبه 19 آبان 1394, 13:07 عصر
نمونه شما رو با تابع dcount كد نويسي كردم ببينيد منظور شما رو براوده ميكنه.

Rasool-GH
سه شنبه 19 آبان 1394, 13:52 عصر
ممنون
راه حل برام کافی بود . البته در صورتی که چند شهرستان داشته باشیم باید تغییراتی اعمال بشه .

در صورتی که بخوام تعداد شهرستان یا بخش رو از جدول روستا استخراج کنم از چه تابعی میشه استفاده کرد ؟

amirzazadeh
سه شنبه 19 آبان 1394, 15:38 عصر
در صورتيكه چند شهرستان داشته باشيد كافيه كدها رو به رويداد Current فرم مربوطه كپي كنيد.

براي قسمت دوم سئوالتون در اولين فرصت نمونه رو با استفاده از ركوردست آماده ميكنم.

amirzazadeh
سه شنبه 19 آبان 1394, 17:36 عصر
ممنون

در صورتی که بخوام تعداد شهرستان یا بخش رو از جدول روستا استخراج کنم از چه تابعی میشه استفاده کرد ؟
يك نمونه براي استخراج تعداد بخش از جدول روستا با استفاده از ركوردست آماده كردم اميدوارم به دردتون بخوره:

Private Sub cmdCount_Click()
On Error GoTo Err_cmdCount_Click
Dim rs1, rs2 As dao.Recordset
Dim db As dao.Database
Set db = CurrentDb
Set rs1 = db.OpenRecordset("tblrosta")
Set rs2 = db.OpenRecordset("tbltemp")
Do Until rs1.EOF
If DCount("bakhsh", "tbltemp", "[bakhsh]='" & rs1.bakhsh & "'") = 0 Then
rs2.AddNew
rs2!bakhsh = rs1!bakhsh
rs2.Update
End If
rs1.MoveNext
Loop
rs1.Close
rs2.Close
Set rs1 = Nothing
Set rs2 = Nothing
Me.bakhsh = DCount("bakhsh", "tbltemp")
DoCmd.SetWarnings False
DoCmd.RunSQL ("delete * from tbltemp")
DoCmd.SetWarnings True
Exit_cmdCount_Click:
Exit Sub

Err_cmdCount_Click:
MsgBox Err.Description
Resume Exit_cmdCount_Click

End Sub