PDA

View Full Version : مشكل درهنگام استفاده از دستور NZ



mehdimdp
دوشنبه 21 اردیبهشت 1388, 23:39 عصر
سلام
من يك كوئري (اكسس)دارم كه توش از دستور NZ استفاده شده
وقتي اين كوئري رو ميارم توي دلفي، خطاي Undefined function 'nz' in expression رو به من نشون ميده
من حتما بهNZ نياز دارم.
اگه چيز جايگزين (در اكسس)سراغ دارين به من بگيد.

shervin farzin
سه شنبه 22 اردیبهشت 1388, 11:14 صبح
سلام
ميتونيد اين طور استفاده كنيد :

with ADOQuery1 do
begin
sql.Text:='select Field_1 , ISNULL (Field_2) as Exp1 from Table_Name';
Open;
end;

اگر Field_2 برابر Null باشه خروجي 1- در فيلد Exp1 قرار ميگيره ، در غير از اين صورت 0 بر ميگرده
موفق باشيد .

hp1361
شنبه 16 مهر 1390, 13:49 عصر
سلام

چون دنبال جواب برای این سوال بودم تاپیک رو مجددا فعال کردم.

دستور NZ در اکسس بصورت زیر میباشد

Nz(variant [, valueifnull ] )

اگر مقدار Variant به عنوان پاامتر اول NULL باشد مقدار Valueifnull برگردانده می شود.

این تابع همانن ISNULL در SQL می باشد.البته باید توجه داشت که ISNULL در اکسس هم هست اما فقط شرط NULL بودن رو چک میکنه و مقدار BOOLEAN برمیگردونه!

حلا سوال اینه:اگر از NZ از طریق دلفی استفاده کنیم همون پیغامی که در پست اول دوستمون اشاره کردن نمایش داده میشه.چکار باید کرد؟ ایا باید از تابعی دیگر استفاده کرد یا تغییراتی در دلفی داد؟

hp1361
شنبه 16 مهر 1390, 14:20 عصر
سلام

خودم جوابش رو یافتم

مثال:

دستوری که ارور "Undefined function 'nz' in expression " را نشان خواهد داد
SELECT DISTINCT ContestId, Hole, nz(Score,'MISSING')
FROM tblContestDetails

دستور بدون مشکل
SELECT DISTINCT ContestId, Hole, iif(isnull(Score),'MISSING', Score)
FROM tblContestDetails


منبع (http://www.delphifeeds.com/go/s/11832)

موفق باشیم