PDA

View Full Version : معرفي فيلد پايدار محاسباتي(calcfield) با دستورات sql به query



سعید صابری
دوشنبه 09 آذر 1388, 10:02 صبح
سلام دوستان

نميدونم عنوان خوبي انتخاب كرده‌ام يا نه!

من 1 فيلد پايدار(از طريق راست كليك روي adoquery و newfield ) ايجاد كرده‌ام. مي خوام با دستور select اونو در query معرفي كنم. ولي نميدونم چگونه؟
اگه دوستان كسي راهنمايي كنه ممنون ميشم

حسین شهریاری
دوشنبه 09 آذر 1388, 11:11 صبح
سلام
دوست عزیزم البته بهتر بود شما این سوال را در قسمت "بانکهای اطلاعاتی در دلفی" مطرح میکردید!

ولی به عرض برسونم که شما نمیتونین فیلد محاسباتی که در Query دلفی ایجاد کردید را در Select ازش اسمی ببرید و فقط میتونین از اون توی امور مختلف (مثل گزارشگیری و غیره...) استفاده کنین.
اگه براتون امکان داره و مقدار فیلد محاسباتی شما از محاسبه و ترکیب فیلدهای یک یا چند جدول پایدار درSQL بدست میاد میتونین هنگام Select کردن این کارا بکنین مثل:


select code,name,price,tedad,(tedad*price/10) as QTY from orders

سعید صابری
دوشنبه 09 آذر 1388, 11:35 صبح
سلام
دوست عزیزم البته بهتر بود شما این سوال را در قسمت "بانکهای اطلاعاتی در دلفی" مطرح میکردید!

ممنون دوست عزيز
من از يكي مديران در مورد سوالم پرسيدم فرمودند اينجا مطرح كنم بهتره!

راستش من ميخوام از فيلدم به عنوان يك شماره رديف ثابت استفاده كنم براي نمايش در grid در حالت عادي مثل اينكه نميشه در query استفاده كرد.(فكر كنم من بلد نيستم). حالا دست به دامن دستورات sql شدم شايد بتونم اينكار بكنم.

لطفا راهنمايي كنيد

حسین شهریاری
دوشنبه 09 آذر 1388, 12:26 عصر
سلام

اگه مقصود شما ایجاد فیلد معروف ردیفه اینطوری عمل کنید.النته قبلا هم این مورد را نوشته بودیم:
1-یه فیلد محاسباتی ایجاد کنید
2-کد زیر را توی رویداد OnCalcField کوئری بنویسید

Adoquery1.fieldbyname('Radif').asinteger:=Adoquery 1.RecNo
if Adoquery1.fieldbyname('Radif').asinteger <0 then
Adoquery1.fieldbyname('Radif').asinteger:= Adoquery1.fieldbyname('Radif').asinteger*(-1)

من خودم هم از همین روش برای ردیف توی نرم افزارام استفاده میکنم.
امیدوارم تونسته باشم کمکی بکنم.
موفق باشید

سعید صابری
دوشنبه 09 آذر 1388, 12:36 عصر
مشكلم در ايجاد فيلده محاسباتيه. فيلد موقع ساختن پيغام ميده شما نمي تونيد از calcfield استفاده كنيد

حسین شهریاری
دوشنبه 09 آذر 1388, 15:05 عصر
میشه متن خطا را بنویسید؟

سعید صابری
سه شنبه 10 آذر 1388, 15:18 عصر
میشه متن خطا را بنویسید؟

مشكل خطا را كه به كمك خود شما حل كرديم. ولي در حالت استاتيك براي حالت ديناميك فعلا مشكل داريم