ورود

View Full Version : سوال: عدم نمایش فیلدهای خالی در کوئری



میلاد بهادیوند
جمعه 26 شهریور 1400, 03:36 صبح
سلام دوستان
من در اکسس یک جدول دارم که تعداد فیلدهاش زیاده، میخوام وقتی در کوئری رکوردی رو پیدا میکنم فقط فیلدهای پر اون رکورد رو نشون بده، فیلدهای خالی اون رکورد رو نمایش نده
لطفا در صورتی که راه حلی برای این موضوع دارید، بنده رو راهنمایی کنید.
با سپاس

محمد رضا بهبودی
شنبه 27 شهریور 1400, 12:08 عصر
سلام
درقسمت شرط آن فیلد در کوئری بنویسید
is not null

میلاد بهادیوند
یک شنبه 28 شهریور 1400, 03:49 صبح
سلام
درقسمت شرط آن فیلد در کوئری بنویسید
is not null
سلام
این دستور رکوردهایی رو به ما نشان میده که در اون سلول از فیلد متناظر شرط، عبارتی داشه باشیم
من میخوام در عین حال که رکورد نمایش داده شود، ستون هایی که خالی هستند، فیلد متناظرشان به طور خودکار از حالت نمایش در کوئری خارج شود

میلاد بهادیوند
یک شنبه 28 شهریور 1400, 03:54 صبح
سلام دوستان
من در اکسس یک جدول دارم که تعداد فیلدهاش زیاده، میخوام وقتی در کوئری رکوردی رو پیدا میکنم فقط فیلدهای پر اون رکورد رو نشون بده، فیلدهای خالی اون رکورد رو نمایش نده
لطفا در صورتی که راه حلی برای این موضوع دارید، بنده رو راهنمایی کنید.
با سپاس
به عبارتی دیگر در کوئری هر فیلدی که خالی است تیک حالت نمایش به صورت خودکار برداشته شود
به نظرم از طریق vba شدنی است
کسی از دوستان دستور vba مربوط به حالت نمایش فیلد در کوئری را میدونه؟

mazoolagh
دوشنبه 29 شهریور 1400, 12:40 عصر
پاسخ آقای بهبودی (پست شماره 2) در حالت کلی درست هست.

ولی گویا شما منظورتون رو واضح بیان نکردین،
یک نمونه یا اسکرین شات از دیتا جدول و خروجی مورد نظرتون بگذارین تا ابهام برطرف بشه.

میلاد بهادیوند
سه شنبه 30 شهریور 1400, 06:44 صبح
میخوام ستون های خالی کوئری به طور اتومات نشون داده نشه
از این ساده تر نمیشه توضیح داد:افسرده:

میلاد بهادیوند
سه شنبه 30 شهریور 1400, 06:52 صبح
اگر همچنان توضیحاتم مبهم هست، سوال رو به شکل زیر عوض میکنم:
چطور میشه تیک های مشخص شده در عکس رو با کدنویسی فعال یا غیرفعالشون کرد؟
153491

mazoolagh
سه شنبه 30 شهریور 1400, 12:55 عصر
خب شما در مقدمات مشکل دارین و نیاز هست که بیشتر مطالعه و تمرین کنین.

1- اینجا محیط طراحی کوئری هست و ارتباطی با vba نداره که از اون طریق بخواهید چیزی رو کنترل کنین.
شما با کد میتونین یک کوئری از پیش ساخته شده رو اجرا کنین و یا این که با کد کوئری رو بسازین و بعد اجرا کنین، ولی در نتیجه تفاوتی ندارن.

2- هر فیلدی که تیک show میخوره یعنی در select میاد و در خروجی نمایش داده میشه:
SELECT ID,FIELD1,FIELD2 FROM TABLE1
خب این کوئری نتیجه اش اینه که سه فیلد مشخص شده از همه رکوردها رو نمایش میده بدون توجه به مقدار اون ها.

3- اگر برای فیلدی شرط مشخص کنین (criteria) معنیش این هست که فقط رکوردهایی رو نمایش بده که این شرط رو دارن - حالا اگر تیک show هم داشته باشه این فیلد در خروجی میاد وگرنه فقط criteria اون بررسی میشه:
SELECT ID,FIELD1,FIELD2 WHERE (FIELD1 IS NOT NULL AND FIELD2 IS NOT NULL)
هر سه فیلد در خروجی میان ولی فقط رکوردهایی که هیچ کدوم از دو فیلد مشخص شده NULL نباشن.
در محیط طراحی معادل این هست که هر سه فیلد تیک show دارن و فیلدهای FIELD1,FIELD2 در قسمت criteria عبارت IS NOT NULL دارن.

SELECT ID,FIELD1 WHERE FIELD2 IS NOT NULL
نمایش ID,FIELD1 همه رکوردهایی که FIELD2 اونها NULL نیست.
در محیط طراحی معادل این هست که FIELD1 و ID تیک show دارن بدون criteria و FIELD2 تیک show نداره ولی criteria داره.

حالا با این مقدمات میتونین کوئری خودتون رو بنویسین.

میلاد بهادیوند
پنج شنبه 01 مهر 1400, 13:33 عصر
با سپاس از دوستان بابت راهنمایی:قلب: