PDA

View Full Version : dbgrid و فیلد محاسباتی



disiba
دوشنبه 02 شهریور 1394, 10:55 صبح
سلام
بانک اطلاعاتی شامل 3 جدول به نامهای customer و branch و sell دارم که از طریق یک فیلد (id) با یکدیگر ارتباط دارند . از طریق adoquery گزارش لازم را میگیرم و در dbgrid نمایش میدهم . علت استفاده از adoquery این است که از دستور join استفاده میکنم . تا اینجای کار مشکلی نیست و ترکیب 3 جدول در dbgrid نشان داده میشود . مشکل از انجایی شروع میشود که میخوام یک فیلد محاسباتی به گرید اضافه کنم در این حالت در بخش column اگر فیلدی اضافه کنم گزارش قبلی توسط گرید نشون داده نمیشه و فقط میتونم از یک جدول ستون اضافه کنم . سوال من اینه که چطوری در گرید هم ترکیب 3 تا جدول بانک رو داشته باشم و هم فیلد محاسباتی .
ممنون

hp1361
دوشنبه 02 شهریور 1394, 14:04 عصر
سلام

فیلد محاسبی رو باید در همون کوئری خودتون تولید کنید و در گرید فقط نشون بدید

موفق باشیم

disiba
دوشنبه 02 شهریور 1394, 14:24 عصر
میشه بیشتر توضیح بدید و یک مثال بزنید ؟

یوسف زالی
دوشنبه 02 شهریور 1394, 15:53 عصر
سلام.
شما وقتی در گرید فیلدی اد می کنید، به این معنیه که دیفالت رو دیگه لازم ندارید، یا باید همه رو با حلقه اضافه کنید، یا این که این کار رو نکنید!
راه اضافه کردن فیلد محاسباتی:
1- اضافه کردن در خود کوئری
2- اضافه کردن در دیتاست

مثال راه اول:
select a, b, a+b as c from TBL

مثال راه دوم:
روی دیتاست دوبار کلیک کنید، در فرم باز شده راست کلیک کرده و تمام فیلد ها رو انتخاب کنید تا اضافه شوند، باز روی فرم باز شده راست کلیک کنید و یک فیلد جدید بسازید. نوع اون رو محاسباتی بگذارید و سایر مشخصاتش رو ست کنید. روی دیتاست یک بار کلیک کنید تا انتخاب شود، در رویداد OnCalc دیتاست مقدار مربوط به این فیلد محاسباتی رو مشخص کنید.

موفق باشید.