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

نام تاپیک: مانده گیری از طریق فیلد محاسباتی

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

    Question مانده گیری از طریق فیلد محاسباتی

    با سلام خدمت دوستان
    میخواهم از طریق یک فیلد محاسباتی مانده گیری انجام دهم.البته این مانده گیری به رکورد قبلی ارتباط دارد.
    از کد زیر استفاده نمودم ولی خطا میده. اگر خط قرمز بکار گرفته شود باعث میشود که مانده هر سطر جداگانه و بدون ارتباط با سطر قبل شود که مورد نظر نمی باشد. اگر خط را غیرفعال نمایم در رابطه با خط سبز رنگ خطای فلوت اتقاف میافتد. به نظر شما خط قرمز در کجا قرار دهم که در موقع محاسبه فقط یکبار عمل شود؟ متشکرم

    procedure TfrmRoyatGardeshAmel2.qyrDaftarCalcFields(DataSet: TDataSet);
    var
    intMondehKol:Extended;
    intMondehJari:Extended;
    begin
    intMondehKol:=0;
    intMondehJari:=Abs(qyrDaftarBED.Value-qyrDaftarBES.Value);
    intMondehKol:=intMondehKol+intMondehJari;
    qyrDaftarMondeh.Value :=intMondehKol;
    end;
    آخرین ویرایش به وسیله khoshblagh : سه شنبه 20 اردیبهشت 1390 در 12:13 عصر

  2. #2

    نقل قول: مانده گیری از طریق فیلد محاسباتی

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

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

    نقل قول: مانده گیری از طریق فیلد محاسباتی

    نقل قول نوشته شده توسط naderanhari مشاهده تاپیک
    پارامتر intMondehKol رو بیرون از این رویه تعریف کن و بیرون از این رویه هم مقدار دهی کن. بهتره اونو تو پروسه ای مقداردهی کنی که یکبار اجرا بشه.
    نکته دوم اینکه با یک Query ساده هم میتونی جمع و تفریق یک یا چند فیلد رو بدست بیاری. نیازی به استفاده از فیلد محاسباتی نیست.
    با تشکر.
    در مورد پارامتر intMondehKol میشه نمونه ارائه دهید؟
    در مورد نکته دوم اینکه به اون روش فقط تقاوت رکود مورد نظر بدست میاید که مورد نظر من نیست . زیرا تفاوت این رکورد با مانده رکورد قبل باید جمع شود.

  4. #4
    کاربر دائمی
    تاریخ عضویت
    دی 1387
    محل زندگی
    تهران
    پست
    106

    نقل قول: مانده گیری از طریق فیلد محاسباتی

    از SQL استفاده کن عزیزم! از SQL! و از ابداع راه های خلاقانه بپرهیز! این کار اصلا جواب نمیده چون هیچ تضمینی وجود نداره اونی که در intMandehKol ذخیره شده اونی هست که می خوایی!

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

    نقل قول: مانده گیری از طریق فیلد محاسباتی

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

  6. #6
    کاربر دائمی
    تاریخ عضویت
    دی 1387
    محل زندگی
    تهران
    پست
    106

    نقل قول: مانده گیری از طریق فیلد محاسباتی

    نقل قول نوشته شده توسط khoshblagh مشاهده تاپیک
    با تشکر از پاسختان
    ولی فیلد محاسباتی را برای همین موارد ساخته شده و قطعا هم روشی برای مانده گیری با فیلد محاسباتی وجود دارد.
    برای اینکاری که شما می خواهید ساخته نشده! برای محاسبه درجای یک فیلد بر پایه فیلدهای دیگر همان رکورد هست. اگر هم می خواهی چنین کاری کنی که مجموع یک فیلد رو بده باید یک کوئری با SQL بگیری و نتیجه اش رو به فیلد محاسباتی اختصاص بدی. برای چیزی که شما می خواهی به این صورت هیچ روشی وجود نداره یا بار بسیار زیادی رو به برنامه وارد میکنه بدون اینکه نتیجه درستی بده.
    اگر کوئری SQL بلد نیستی بنویسی برادرانه بهت توصیه می کنم نوشتن برنامه های پایگاه داده رو کلا بذار کنار یا برو یاد بگیر!

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

    نقل قول: مانده گیری از طریق فیلد محاسباتی

    نقل قول نوشته شده توسط a_mosavian مشاهده تاپیک
    برای اینکاری که شما می خواهید ساخته نشده! برای محاسبه درجای یک فیلد بر پایه فیلدهای دیگر همان رکورد هست. اگر هم می خواهی چنین کاری کنی که مجموع یک فیلد رو بده باید یک کوئری با SQL بگیری و نتیجه اش رو به فیلد محاسباتی اختصاص بدی. برای چیزی که شما می خواهی به این صورت هیچ روشی وجود نداره یا بار بسیار زیادی رو به برنامه وارد میکنه بدون اینکه نتیجه درستی بده.
    اگر کوئری SQL بلد نیستی بنویسی برادرانه بهت توصیه می کنم نوشتن برنامه های پایگاه داده رو کلا بذار کنار یا برو یاد بگیر!
    با سلام خدمت دوست گرامی
    من از کوئری در برنامه استفاده مینمایم. بحث سر این است که همیشه راه بهتری (یا روش دیگری) برای کار مشابه وجود دارد. متشکرم

  8. #8
    کاربر دائمی
    تاریخ عضویت
    دی 1387
    محل زندگی
    تهران
    پست
    106

    نقل قول: مانده گیری از طریق فیلد محاسباتی

    نقل قول نوشته شده توسط khoshblagh مشاهده تاپیک
    با سلام خدمت دوست گرامی
    من از کوئری در برنامه استفاده مینمایم. بحث سر این است که همیشه راه بهتری (یا روش دیگری) برای کار مشابه وجود دارد. متشکرم
    اگه بلدید کویری بنویسید این شامورتی بازیا چیه پس؟! بهترین راه همونه چون در پایین ترین لایه ای که شما بهش دسترسی دارید اجرا میشه.

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

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