PDA

View Full Version : سوال: طریقه استفاده از دستور Nz و یا هر دستوری که بشه در کوئری یا گزارش مقدار Null رو به صفر تبدیل کنه!!!



1397mehrdad
پنج شنبه 27 فروردین 1394, 14:04 عصر
سلام دوستان
کسی می دونه که چطور میشه مقادیری که در یک Crosstab کوئری Null هست رو به صفر تبدیل کرد. من فکر می کنم با دستور NZ میشه ولی کارکردن باهاش رو بلد نیستم. پروژه من طوریه که یک سری آمار رو با استفاده از Crosstab Quary بدست میارم و در غالب یک گزارش به کاربر نمایش میدم. ولی مشکل من اینه که مقادیری که Null هست رو اصلا در گزارش نمایش نمیده . چطور میتونم این مشکل رو حل کنم . می خوام در گزارش مقادیر Null رو صفر بزنه تا بشه با مقادیر دیگه جمع بشه.

saeed1234n
پنج شنبه 27 فروردین 1394, 23:46 عصر
با سلام



Description

The Microsoft Access Nz function lets you return a value when a variant is null.
Syntax

The syntax for the Nz function in MS Access is:
Nz ( variant, [ value_if_null ] )


مثال : اگر تک باکس مورد نظر فاقد داده بود صفر منظور شود



nz(your_textbox,0)

1397mehrdad
شنبه 29 فروردین 1394, 00:05 صبح
با تشکر از شما دوست عزیز
این دستور رو کجا باید اعمال کنم . توی Report یا کوئری؟ میشه این دستور رو تو باکس های ریپورت بنویسم یا باید تو کوئری بنویسم. اگه یک نمونه کوچک برام بگذارید ممنون میشم.

1397mehrdad
دوشنبه 31 فروردین 1394, 14:10 عصر
كسي نبود جواب بده ؟؟؟!!!!!!!!

mosaArabi
دوشنبه 31 فروردین 1394, 15:02 عصر
دوست گرامی میشه در کوری - فرم و ریپورت استفاده کنید . لازمه در تکسی که میخواهید عملیات ریاضی انجام شود به پروپرتیسش بروید و در قسمت دیتا اولین سطر کنترل سورس وارد کنید

1397mehrdad
چهارشنبه 02 اردیبهشت 1394, 00:04 صبح
[QUOTE=mosaArabi

1397mehrdad
چهارشنبه 02 اردیبهشت 1394, 00:14 صبح
سلام دوست عزيز
ميشه نمونه اي كه من گذاشتم رو با استفاده از دستور NZ اصلاح كنيد . مي خوام مقاديري كه در Report خالي هست به صفر تبديل بشه

130534

mosaArabi
چهارشنبه 02 اردیبهشت 1394, 08:27 صبح
سلام
نمونه اصلاح شد . البته تا 9 تا nz را جواب میدهد

1397mehrdad
یک شنبه 06 اردیبهشت 1394, 00:14 صبح
سلام
نمونه اصلاح شد . البته تا 9 تا nz را جواب میدهد
با تشکر از شما دوست عزیز.
من نمونه اصلاح شده شما رو مشاهده کردم. ولی متوجه نشدم برنامه چه تغییری کرده. گزارش همون شکل قبل رو داشت . میخواستم فیلدهایی که بصورت Null در گزارش نمایش داده میشه به جای اون عدد صفر جایگزین بشه . مثلا در قسمت مالی اگه مثلا کارمند رتبه 7 نداریم به جای خالی نشان دادن عدد صفر رو جایگزین کنه . ممنون میشهم اگه کمکم کنید

1397mehrdad
جمعه 18 اردیبهشت 1394, 23:13 عصر
کمک !!!!!!!!!!!!!!!!!!!!11

Ali_Fallah
شنبه 19 اردیبهشت 1394, 19:00 عصر
با سلام
1- ابتدا همه رتبه ها رو در کوئری کروس تب مشخص کن
2- کوئری جدید بساز و کوئری کروس تب رو تو اون وارد کن
3- مانند شکل زیر عمل کن و کدها رو برای تک تک رتبه ها بنویس

*****


131048

Ali_Fallah
شنبه 19 اردیبهشت 1394, 19:02 عصر
نتیجه اش هم میشه این ...

***

131049

Ali_Fallah
شنبه 19 اردیبهشت 1394, 19:04 عصر
اسم مجازی رتبه 2 رو من e گذاشتم ، حالا شما باید طوری اسم گذاری کنی که در گزارشگیری اشتباه نکنی

1397mehrdad
یک شنبه 20 اردیبهشت 1394, 00:02 صبح
اسم مجازی رتبه 2 رو من e گذاشتم ، حالا شما باید طوری اسم گذاری کنی که در گزارشگیری اشتباه نکنی
با تشکر از شما دوست گرامی
اگه امکان داره نمونه ای رو که در پست های قبلی گذاشتم رو با روش خودتون اصلاح کنید و بگذارید

Ali_Fallah
یک شنبه 20 اردیبهشت 1394, 19:38 عصر
ازین راحت تر دیگه نمیتونستم توضیح بدم ...
یه مقدار خودتون تلاش کنین به مشکلی بر خوردید ، همینجا اعلام کنین

1397mehrdad
سه شنبه 29 اردیبهشت 1394, 00:10 صبح
با تشکر از آقای فلاح
ی سوال دیگه دارم. رتبه هایی که در فایل فاقد کارمند می باشند در کوئری کراس تب نمایش داده نمیشوند. در نتیجه در هنگام طراحی گزارش اون رتبه هایی که فاقد کارمند بودند قابلیت طراحی در گزارش رو ندازند . باید چیکار کرد که در کوئری و گزارش همه رتبه ها رو نمایش بده تا بشه در گزارش از اونها استفاده کرد .
برای روشن شدن موضوع مثال به مثال زیر توجه کنید .
فرضی کنید این اداره فعلا فاقد کارمند رتبه 10 است . در نتیجه کارمند رتبه 10 در کوئر کراس تب نمایش داده نمی شه و در طراحی گزارش نمیشه کارمند رتبه 10 رو در گزارش اعمال کرد .و اگر بعدا یک کارمند به رتبه 10 ارتقاء پیدا کنه در کزارش نمایش داده نمی شه . باید چیکار کرد که همه رتبه ها ( حتی اونهایی که فعلا کارمندی ندارند ) در گزارش نمایش داده بشه . امیدوارم منظورم رو توانسته باشم برسونم .

Ali_Fallah
سه شنبه 29 اردیبهشت 1394, 20:06 عصر
همانطور که در بالا گفتم شما باید تک تک رتبه ها رو در کوئری طراحی کنی (حتی رتبه هایی که فعلا کارمندی نتونسته اون رو احراز کنه)
سپس در گزارش هم اون فیلدها رو اضافه کن ...

Ali_Fallah
سه شنبه 29 اردیبهشت 1394, 20:48 عصر
برای اضافه کردن رتبه به کوئری کروس تب بروش زیر عمل کن ..

..
...
..
131424

Ali_Fallah
سه شنبه 29 اردیبهشت 1394, 20:55 عصر
کوئری کروس تب رو در حالت کد نویسی باز کن و خط آخر رو (جائیکه زیرش خط قرمز کشیدم) رتبه ها رو بنویس و تغییرات رو انجام بده

دقت کن که به لحاظ نوشتاری ، کلمات در قسمت کد نویسی کوئری و جدول رتبه ،تفاوتی نداشته باشن
مثال : رتبــه1 با رتبه1 تفاوت دارد...

1397mehrdad
چهارشنبه 30 اردیبهشت 1394, 22:48 عصر
کوئری کروس تب رو در حالت کد نویسی باز کن و خط آخر رو (جائیکه زیرش خط قرمز کشیدم) رتبه ها رو بنویس و تغییرات رو انجام بده

دقت کن که به لحاظ نوشتاری ، کلمات در قسمت کد نویسی کوئری و جدول رتبه ،تفاوتی نداشته باشن
مثال : رتبــه1 با رتبه1 تفاوت دارد...
خیلی متشکرم از شما آقای فلاح. یکی از بزرگترین مشکلات من رو حل کردید

Ali_Fallah
پنج شنبه 31 اردیبهشت 1394, 15:07 عصر
خدا رو شکر...

فقط برای من دعا کن...:ناراحت::ناراحت::ناراحت: