نمایش نتایج 1 تا 12 از 12

نام تاپیک: كانترگيري از فيلدهاي يك ركورد

  1. #1
    کاربر دائمی
    تاریخ عضویت
    مهر 1385
    محل زندگی
    تهران
    پست
    393

    كانترگيري از فيلدهاي يك ركورد

    با سلام
    در يك يا چند جدول ( كه ممكن است با ارتباطات به هم متصل شوند و نتيجه يك فرم يا گزارش شود ) از تعداد بعضي از فيلدهاي يك ركورد ( نوع نامبر يا Yes/no )‌ كانتر گرفت ؟
    جدولي دارم كه در آن تعدادي فيلد Yes/No دارد نتيجه در گزارش براي هر ركورد رديف به رديف چاپ ميشود . ميخواهم در انتهاي هر رديف كه يك ركورد ميشود چنانچه بعضي از فيلدها تيك خورده بود شمارش شود و چنانچه بعضي ديگر تيك نخورده بود شمارش و نوشته شود .

  2. #2

    نقل قول: كانترگيري از فيلدهاي يك ركورد

    در فیلدهای yes/noدر واقع 1و-1قرار دارد در یک کواری در ستون مجازی انها را با هم جمع کن و اگر توجه کنی اعداد دلخواه شما را میدهد با منفی که در ستون مجازی دیگر انها را abs کن

  3. #3
    کاربر تازه وارد آواتار saeedyaz
    تاریخ عضویت
    مهر 1387
    محل زندگی
    تهران
    سن
    48
    پست
    78

    نقل قول: كانترگيري از فيلدهاي يك ركورد

    از تابع dcont استفاده کن چون هم ساده است وهم سریع

  4. #4

    نقل قول: كانترگيري از فيلدهاي يك ركورد

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

  5. #5
    کاربر دائمی
    تاریخ عضویت
    مهر 1385
    محل زندگی
    تهران
    پست
    393

    نقل قول: كانترگيري از فيلدهاي يك ركورد

    با سلام و تشكر
    1- فيلدهاي Yes/no ظاهرا 0 و -1 هستند و طبيعتاً جمع آنها مشكل است . من براي اين نوع فيلد با استفاده از تابع IIF تبديل به 1 و 0 كردم و در آخر جمع . اما ميخواستم راه ساده تر و كمتري باشد ( چون مثلاً اگر 10 فيلد باشد 10 با از IIF‌ استفاده ميشود ) ضمن آنكه براي مابقي فيلدها چه روشي وجود دارد ؟
    2- از تابع Dcount نتيجه نگرفتم ( عليرغم كمك از Help ) دوست گرامي ميشود چگونگي استفاده از آنرا بفرماييد .
    3- سئوال مطرح شده در #4 گنگ است تعدادي ركورد با نام تكراري و مقادير مختلف يعني چه ؟ بهتر است واضح تر بيان فرماييد .

  6. #6
    کاربر دائمی آواتار مهدی قربانی
    تاریخ عضویت
    اسفند 1385
    محل زندگی
    تهران
    پست
    2,435

    نقل قول: كانترگيري از فيلدهاي يك ركورد

    سلام
    در مورد Dcount اينجا رو ببينيد

  7. #7
    کاربر دائمی
    تاریخ عضویت
    مهر 1385
    محل زندگی
    تهران
    پست
    393

    نقل قول: كانترگيري از فيلدهاي يك ركورد

    با سلام
    جناب قرباني تابع Dcount‌ ركوردهاي يك فيلد در جدول را ميشمارد (‌با توجه به مراجعه به آدرس بيان شده ) در صورتيكه من ميخواهم فيلدهاي يك ركورد را به شمارم . در مثال من فيلدها عددي و Yes/No‌ هستند . بنابراين نميخواهم جمع بزنم . در نمونه كارم تعداد 10 فيلد است كه يا تيك خورده يا نخورده و ميبايد در هر رديف گزارش مشخص شود چندتاي آن تيك خورده و چند تا تيك نخورده . با استفاده از تابع IIF‌ و نوشتن 10 بار آن به نتيجه رسيدم : ... و +( IIF Field=true;1;0) . راه ساده تري نيست ؟!

  8. #8
    کاربر دائمی آواتار مهدی قربانی
    تاریخ عضویت
    اسفند 1385
    محل زندگی
    تهران
    پست
    2,435

    نقل قول: كانترگيري از فيلدهاي يك ركورد

    سلام
    با كد نويسي مي تونيد اينكار رو انجام بديد بنظرم حلقه و ركوردست مي تونه يه راه حل ديگه باشه ببينيد مناسب كار شما هست ؟
    فایل های ضمیمه فایل های ضمیمه

  9. #9
    کاربر دائمی
    تاریخ عضویت
    مهر 1385
    محل زندگی
    تهران
    پست
    393

    نقل قول: كانترگيري از فيلدهاي يك ركورد

    سلام و تشكر
    1- براي استفاده در گزارش چگونه عمل ميشود ؟

  10. #10

    نقل قول: كانترگيري از فيلدهاي يك ركورد

    ظاهرا ایشان جمع افقی میخواهند نه جمع عمودی dcount جمع عمودی میزند نه جمع افقی !!!!
    یک رکورد در نظر بگیرید با 20 فیلد yes/no
    بعضی تیک خورده بعضی خیر
    چندتا تیک خورده
    چندتا تیک نخورده
    پاسخی که نوشتم جواب است

  11. #11
    کاربر دائمی آواتار مهدی قربانی
    تاریخ عضویت
    اسفند 1385
    محل زندگی
    تهران
    پست
    2,435

    نقل قول: كانترگيري از فيلدهاي يك ركورد

    سلام
    در رخداد On Open گزارش اين كدها رو اضافه كنيد عمليات انجام ميشه :

    Private Sub Report_Open(Cancel As Integer)
    Dim i
    Dim X
    Dim Rst As DAO.Recordset
    Dim FldVal

    Set Rst = CurrentDb.OpenRecordset("table3")
    Rst.MoveFirst

    For X = 1 To Rst.RecordCount
    FldVal = 0
    For i = 1 To 10

    If Rst.Fields(i).Value = True Then
    FldVal = FldVal + 1
    End If

    Next i

    Rst.Edit
    Rst.Fields("FldCount").Value = FldVal
    Rst.Update
    Rst.MoveNext

    Next X

    End Sub

  12. #12
    کاربر دائمی
    تاریخ عضویت
    مهر 1385
    محل زندگی
    تهران
    پست
    393

    نقل قول: كانترگيري از فيلدهاي يك ركورد

    نقل قول نوشته شده توسط karmand مشاهده تاپیک
    ظاهرا ایشان جمع افقی میخواهند نه جمع عمودی dcount جمع عمودی میزند نه جمع افقی !!!!
    یک رکورد در نظر بگیرید با 20 فیلد yes/no
    بعضی تیک خورده بعضی خیر
    چندتا تیک خورده
    چندتا تیک نخورده
    پاسخی که نوشتم جواب است
    سلام . سئوال اين است جوابش چه ميشود ؟

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •