ورود

View Full Version : مشکل با فیلتر کردن بانک اطلاعاتی



vahid_d_0101
پنج شنبه 19 اسفند 1389, 11:01 صبح
با سلام بچه ها من بانک را به روش زیر فیلتر میکنم ولی اگر مثلا تکست را خالی بزاریم و چیزی داخلش ننویسیم بانک فیلتر میشه و از 1000 تا رکورد 950 تا را میاره


Adodc1.RecordSource = "Select * From sanad Where re like '%" & text1.text & "%'"


مشکل از کجاست

ali190
پنج شنبه 19 اسفند 1389, 16:36 عصر
سلام
شرط بذار اگز text ات خالی بود عملیاتی انجام نشه و اگر پر بود فیلترت اعمال بشه.
یاعلی

vahid_d_0101
پنج شنبه 19 اسفند 1389, 17:00 عصر
نمیشه باید حتما این دستور اجرا بشه
چون این دستور با چند تا دیگه AND هنوز عملیات فیلتر را ادامه میده نمیشه برای همه اون دستورات شرط بزارم

kiss_my_l0ve
پنج شنبه 19 اسفند 1389, 22:07 عصر
be jaie text1.text ye function dorst kon shart ro to on bezar
يه چيزي تو اين مايه ها

function abc()
if text1.text<>"" then
abc=text1.text
end function
البته فكر كنم لغمه رو دور دهن ژيچوندن شايد راه ديگه اي هم باشه
و البته مشكل صد در صد تو اطلاعاتي كه وارد كردي هستش

vahid_d_0101
شنبه 21 اسفند 1389, 16:41 عصر
ببینید کل کامل به این صورته چه طوری فیلتر را انجام بدم که اون مشکل پیش نیاید

Adodc1.RecordSource = "Select * From sanad Where re like '%" & text1.text & "%' AND mr like '%" & text2.text & "%' AND mw like '%" & text3.text & "%'"

و این تا اخر اادمه دارد

kiss_my_l0ve
شنبه 21 اسفند 1389, 21:26 عصر
روشي كه من گفتم هنوزم جواب ميده

vahid_d_0101
یک شنبه 22 اسفند 1389, 16:35 عصر
میتونی کد کاملشو برام بزاری
یه نمونه برنامه میتونید برام بزارید

vahid_d_0101
دوشنبه 23 اسفند 1389, 18:13 عصر
کار نکرد امتحان کردم

kiss_my_l0ve
جمعه 27 اسفند 1389, 11:54 صبح
شايد بهتره از يه دستور ديگه استفاده كني اين دستور هر ركوردي كه دلش بخواد رو نمايش ميده نميدونم چرا

ali190
جمعه 27 اسفند 1389, 12:14 عصر
سلام
امکانش هست برنامه ات (یا اون تیکه مشکل دار )رو آپلود کنی
زودتر به جوابت میرسی
یاعلی

vahid_d_0101
جمعه 27 اسفند 1389, 16:18 عصر
ببین من تعدادی کتاب که از قبل از یه کامپیوتر دیگه انقال دادم داخل کامپیوترم را استفاده میکنم
ولی وقتی از دستور فیلتر کردن استفاده میکنم مثلا وقتی یه تکست را خالی میزاریم تعداد کتاب ها کم میشه
یعنی هیچی را فیلتر میکنیم ولی تعداد کتاب ها از 1000 تا میشه 120 تا
به خاطر این که از دستور AND هم وسط فیلتر کردن استفاده کردم ( فیلتر کردن همزمان چند رکرود) نمیشه دستوری نوشت که اگه متن خالی بود جستجو انجام نده به هر حال شاید یکی دیگه از تکست ها پر باشه و عمل فیلتر انجام نمیشه
نمیدونم چه کار کنم

M_Maskout
یک شنبه 29 اسفند 1389, 11:31 صبح
وقتی یه تکست را خالی میزاریم تعداد کتاب ها کم میشه
یعنی هیچی را فیلتر میکنیم ولی تعداد کتاب ها از 1000 تا میشه 120 تا


فیلدهای کارکتری خالی می‌تونن دو جور باشن: یا رشته خالی یعنی ''، یا null. اولی وقتی درست می‌شه که شما محتویات داخل یه فیلد که قبلاً چیزی وارد شده است رو پاک کنید. و دومی وقتی درست می‌شه که شما در زمان ایجاد رکورد، هیچ چیزی داخل اون فیلد ننویسین.
وقتی تکست باکس رو خالی می‌ذارین، عملاً یه رشته تهی برمی‌گرده ("")، و بخاطر همین هم رکوردهایی فیلتر می‌شن که فیلد مورد نظر حاوی رشته خالی هست.
برای فیلدهای Null از عبارت IS Null در فیلتر استفاده کنید.

vahid_d_0101
شنبه 06 فروردین 1390, 09:55 صبح
چه طوری از این دستور استفاده کنم

kiss_my_l0ve
شنبه 06 فروردین 1390, 12:02 عصر
خوب اين مشكل زماني كه بخوايي جستجو كني هم ممكنه پيش بياد واسه من اتفاق افتاده از 5 تا ركورد 2 تا رو اورد

Restlesa
شنبه 06 فروردین 1390, 17:00 عصر
خوب دوست عزيز چرا از دستو IF استفاده نمي كني ؟؟؟
اگر ابتدا با استفاده از اين دستور تمامي تكست باكس هاي مورد نظرت رو چك كني كه هيچ كدام خالي نباشن و بعد از دوستور فيلتر استفاده كني فكر كنم مشكلت حل بشه

M_Maskout
سه شنبه 09 فروردین 1390, 19:04 عصر
چه طوری از این دستور استفاده کنم
سلام
بر اساس چیزایی که تو پست‌های قبل نوشتین، می‌تونین IS Null رو به صورت زیر استفاده کنین:


Adodc1.RecordSource = "Select * From sanad
Where (re like '%" & text1.text & "%') OR (re IS Null)
AND (mr like '%" & text2.text & "%') OR (re IS Null)
AND (mw like '%" & text3.text & "%'") OR (re IS Null)


البته از اپراتور NOT هم در صورت نیاز می‌شه استفاده کرد (IS NOT Null)

M_Maskout
یک شنبه 14 فروردین 1390, 11:00 صبح
دوست عزیز در صورتیکه پاسخی که به شما داده شده، مشکل شما رو حل کرده بهتره گزینه "تشکر کردن" در انتهای پست مربوطه رو بزنید، تا مشخص بشه به جواب رسیدین و یا اگر خودتون مشکل رو حل کردین، راه حل اون رو بنویسین و در غیر اینصورت با زدن پست جدید بیشتر توضیح بدین تا سایر دوستان بتونند بهتون کمک کنن.

vahid_d_0101
دوشنبه 15 فروردین 1390, 10:55 صبح
نه هنوز درست نشده
من فکر کنم به خاطر این که اطلاعات را با یه سیستم دیگه وارد بانک کردیم اینجوری میشه
یعنی اونجا کیبوردش ی و ک فارسی داشته و لی روی این سیستم ی و ک فارسی نداره من فکر کنم مشکلش همینه بازم دارم جستجو میکنم

kiss_my_l0ve
دوشنبه 15 فروردین 1390, 14:45 عصر
منت كه بهت گفتم مشكل دستوري كه نوشتي نيست اين مشكل زماني كه ميخوايي يه عبارتي رو سرچ كني هم ممكنه رخ بده مثلا اگر بخوايي a رو سرچ كني از 10 مورد 2 رو مياره حالا مشكل از كجاست من نميدونم ولي تو برنامه اي كه من نوشتم اينجوري شده 2 تا عكس ميزارم برات يه نگاه كن
http://up.iranblog.com/images/ecafjndy5nzclqjo9gd3.jpg
http://up.iranblog.com/images/7jvx2loqst07oaop6sh.jpg

M_Maskout
پنج شنبه 18 فروردین 1390, 00:03 صبح
ببین من تعدادی کتاب که از قبل از یه کامپیوتر دیگه انقال دادم داخل کامپیوترم را استفاده میکنم
ولی وقتی از دستور فیلتر کردن استفاده میکنم مثلا وقتی یه تکست را خالی میزاریم تعداد کتاب ها کم میشه
یعنی هیچی را فیلتر میکنیم ولی تعداد کتاب ها از 1000 تا میشه 120 تا
به خاطر این که از دستور AND هم وسط فیلتر کردن استفاده کردم ( فیلتر کردن همزمان چند رکرود) نمیشه دستوری نوشت که اگه متن خالی بود جستجو انجام نده به هر حال شاید یکی دیگه از تکست ها پر باشه و عمل فیلتر انجام نمیشه
نمیدونم چه کار کنم


نه هنوز درست نشده
من فکر کنم به خاطر این که اطلاعات را با یه سیستم دیگه وارد بانک کردیم اینجوری میشه
یعنی اونجا کیبوردش ی و ک فارسی داشته و لی روی این سیستم ی و ک فارسی نداره من فکر کنم مشکلش همینه بازم دارم جستجو میکنم

دوست عزیز بالاخره مشکل شما از خالی گذاشتن تکست باکس هست یا از "ی" و "ک"! :متعجب: