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

نام تاپیک: ضرب دو ستون dbgrid و حاصل آن در ستون دیگر

  1. #1

    ضرب دو ستون dbgrid و حاصل آن در ستون دیگر

    من یک dbgrid دارم که سه تا از ستونهای آن 'فی' و تعداد و جمع کل به ریال است.
    میخواهم وقتی که موقع وارد کردن اطلاعات به سطر بعدی می روم ضرب دو ستون فی و تعداد در ستون جمع کل ... قرار بگیرد . اماخطای زیر را می دهد.

  2. #2
    درود
    لطفا بگید که از چه دستوری و از کدوم Event برای محاسبه و ذخیره محاسبات استفاده میکنید.

  3. #3
    از رویداد onNewRecord در adotable استفاده می کنم . و از دستور ضرب عادی

  4. #4
    تا حالا چک کردی ببینی فیلدهایی که تو محاسبه ازشون استفاده میکنی چه مقادیری دارند؟ یکبار این کار رو بکن و
    و این Event رو هم امتحان کن:

    BeforePost


    procedure TForm1.ADOTable1BeforePost(DataSet: TDataSet);
    begin
    ADOTable1.FieldByName('sum').AsInteger := ADOTable1.FieldByName('Price').AsInteger * ADOTable1.FieldByName('amount').AsInteger
    end;

  5. #5
    VIP آواتار hr110
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    ایران - تهران
    پست
    1,460
    شما بجای استفاده از asInteger از Value برای گرفتن مقادیر فیلدها استفاده میکنید.
    ... چه بگویم که غم از دل برود چون تو بیایی

  6. #6
    سلام
    من ایندفعه از asinteger به جای value استفاده کردم اما خطای زیر را می دهد

  7. #7
    کاربر دائمی آواتار Touska
    تاریخ عضویت
    مرداد 1383
    محل زندگی
    ایران زمین
    سن
    39
    پست
    1,988
    شما هنوز از FieldByName استفاده می کنید. :flower:

  8. #8
    دوست عزیز ،
    اون چند خطی که وقتی اجرا میشه Error میده رو بنویسید.

  9. #9
    این کدیه که می نویسم

  10. #10
    البته این رو هم بگم که نوع فیلد فی ازنوع bigint فیلد تعداد smallint و فیلد جمع کل به ریال bigint است.

  11. #11
    نه، این مربوط به نوع فیلدهای شما نیست.

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

  13. #13
    [quote="parhizkar2000"]فکر کنم اگه شما از فیلدهای محاسباتی استفاده کنید مشکلتون حل بشه .
    منظور شما از فیلدهای محاسباتی چیست؟

  14. #14
    منظور شما از فیلدهای محاسباتی چیست؟
    فیلد محاسباتی(Calculated Field) فیلدی هست که مقدار آن از پردازش بر روی مقادیر فیلد(یا فیلدها)ی دیگه بدست میاد. چون می توان مقدار این نوع فیلد رو از طریق مقادیر فیلدهای دیگه بدست آورد، نیازی به ذخیره کردن این نوع فیلد در بانک اطلاعاتی نیست.
    در برنامه شما، نیازی به ذخیره کردن فیلد 'جمع کل به ریال' در بانک اطلاعاتی نیست. می تونید این فیلد رو در دلفی از نوع محاسباتی تعریف کنید:
    بر روی شی DataSet مربوطه (TTable,TQuery,ADOTable,ADOQuery و...) دابل کلیک کنید.
    پنجره Field Editor باز می شود. بر روی آن راست کلیک کنید و گزینه Add All Fields را انتخاب کنید تا تمامی فیلدهای جدول یا query مربوطه لیست شوند.
    دوباره بر روی پنجره فوق راست کلیک کرده و این بار گزینه New Field را انتخاب کنید.
    مشخصات فیلد مورد نظر خود را (در برنامه شما: 'جمع کل به ریال') را در پنجره New Field وارد کرده و Field Type را بر روی Calculated تنظیم کنید. دکمه OK را کلیک کنید.

    با انجام مراحل فوق یک فیلد محاسباتی ایجاد می شود. برای محاسبه مقدار فیلد مربوطه از رویداد OnCalcFields استفاده کنید:

    procedure TForm1.ADOTable1CalcFields(DataSet: TDataSet);
    begin
    DataSet.FieldValues['جمع کل به ریال'] :=
    DataSet.FieldValues['فی'] * DataSet.FieldValues['تعداد'];
    end;

  15. #15
    کاربر دائمی
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    اصفهان - ایران
    پست
    292
    با sql هم آیا می شه؟

  16. #16
    با sql هم آیا می شه؟
    در مورد Sql اگه منظورتون Query بله میشه .همون روشی که آقای کشاورز دقیقا توضیح دادند

  17. #17
    اسم فیلدات رو انگلیسی یا فینگلیش کن مشکلت حل می شه

    بای

تاپیک های مشابه

  1. export dbgrid to excel وپرینت اطلاعات یک dbgrid
    نوشته شده توسط amir_rahimi در بخش برنامه نویسی در 6 VB
    پاسخ: 3
    آخرین پست: چهارشنبه 05 دی 1386, 08:37 صبح
  2. چگونگی استفاده از DBgrid به عنوان ورودی
    نوشته شده توسط zarin_web در بخش برنامه نویسی در 6 VB
    پاسخ: 0
    آخرین پست: سه شنبه 30 آبان 1385, 09:11 صبح
  3. کمک در باره dbgrid
    نوشته شده توسط babataher در بخش بانک های اطلاعاتی در Delphi
    پاسخ: 2
    آخرین پست: پنج شنبه 28 اردیبهشت 1385, 18:04 عصر
  4. کمک فوری درباره DbGrid
    نوشته شده توسط babataher در بخش برنامه نویسی در Delphi
    پاسخ: 1
    آخرین پست: پنج شنبه 28 اردیبهشت 1385, 07:38 صبح
  5. افزودن سطر به dbgrid
    نوشته شده توسط parisa2002 در بخش بانک های اطلاعاتی در Delphi
    پاسخ: 4
    آخرین پست: سه شنبه 26 اردیبهشت 1385, 18:12 عصر

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

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