PDA

View Full Version : search کردن چند ایتم داخل دیتا شیت



mahsa.admin
دوشنبه 23 آذر 1388, 08:32 صبح
سوالمو در داخل نمونه توضیح دادم

mahsa.admin
سه شنبه 24 آذر 1388, 07:17 صبح
از دوستان کسی نیست نگاهی به فایل ما بندازه

dadsara
چهارشنبه 25 آذر 1388, 08:43 صبح
سلام
کافی است شما منبع داده سابفرم خود را به شکل زیر تغییر دهید

SELECT n.id, n.nam, n.famil, n.tahsilat
FROM n
WHERE (((n.tahsilat)=[Forms]![m]![m]));

mahsa.admin
چهارشنبه 25 آذر 1388, 09:10 صبح
جناب dadsara
با سلام
فکر کنم منظورمو نتونستم برسونم کاری که شما انجام دادید فقط بر اساس مدرک سرچ میکند ولی انچه مد نظر من است بر اساس هر چهار ایتم ی که هست سرچ کند(هم اگر چهار ایتم پر شود وهم زمانی که یکی از آنها پر شود ) یعنی اگر از چهار ایتمی هست حتی یکی را هم پر کنیم نتیجه سرچ عمل کند ودقیقا هم همان چیز مورد نظر بیاید نه چیز دیگیری که مثلا یکی از حرفهای کلمه مورد نظر در آن هست (مثلا اگر 1 را سرچ میکنیم فقط 1 بیاد نه 15 که عدد 1 در آن هست )

dadsara
چهارشنبه 25 آذر 1388, 10:21 صبح
سلام
دوست عزیز من کد ارائه شده را بعنوان نمونه خدمت شما ارائه کردم
کافی است شما برای همه فیلدهای موجود در منبع داده ، شرط خود را مشابه نمونه ارائه شده اعمال کنید

mahsa.admin
چهارشنبه 25 آذر 1388, 10:46 صبح
بله درست میگویید ولی اگر به همه چهر ایتم اضافه شود لازمه عمل کردن سرچ پر کزدن هر چهار ایتم است در حالی که من هم با پر کردن هر ایتم میخوام جواب دهد هم با پر کردن تک تک ایتمها(این نمونه چیزی هست که شما می گویید)

dadsara
چهارشنبه 25 آذر 1388, 14:43 عصر
سلام
منبع داده خود را به شکل زیر تغییر دهید

SELECT a.id, a.nam, a.famil, a.tahsilat
FROM a
WHERE (((a.id)=[forms]![m]![p])) OR (((a.tahsilat)=[forms]![m]![m])) OR (((a.famil)=[forms]![m]![kh])) OR (((a.nam)=[forms]![m]![n]));

mahsa.admin
پنج شنبه 26 آذر 1388, 07:47 صبح
با عرض معذرت
جناب dadsara
مشکل سرچ کردن تک تک ایتمها حل شد ولی اگر ایتمی بیش از یکی از چهار ایتم پر شود(دو ایتم یا بیشتر )همزمان انتخاب شود اگر همه داده مربوط به یک شخص باشد درست عمل میکند ولی اگر داده برای دو شخص مختلف باشد هردور را سرچ میکندمثل عکس

dadsara
شنبه 28 آذر 1388, 07:57 صبح
سلام
بازهم طبیعی است چون بین شرطها از OR استفاده شده است

mahsa.admin
یک شنبه 29 آذر 1388, 09:28 صبح
فکر میکنید راه حل این مشکل چیست جناب dadsara

davood-ahmadi
یک شنبه 29 آذر 1388, 22:55 عصر
ببخشید که دخالت می کنم ولی فکر کنم روش زیر خیلی بهتر باشد

mahsa.admin
دوشنبه 30 آذر 1388, 07:21 صبح
جناب احمدی
با سلام
با تشکر از شما مشکل سرچ کردن ایتمها پشت سر هم حل شده یعنی با سرچ دو ایتم دیگر موارد سرچ شده در یک جا نمیایند ولی حالا این مشکل همچنا ن در جای خود هست که با سرچ کردن مثلا دیپلم علا وه بر امدن خود دیپلم کلمه فوق دیپلم هم می اید فکر میکنم به خاطرlike و حالتی کهand میباشد راه حلی به نظر تا ن نمی رسد که که هم دقیقا کلمه مورد نظر من سرچ شود واگر آن نبود مثلا پیغامی بیاید وهم با هر بار سرچ ،داخل دیتا شیت ابدیت شود نه اینکه مانند حالت بدونه like و حالت or به سرچ قبلی اضافه شود

davood-ahmadi
دوشنبه 30 آذر 1388, 17:42 عصر
از Like زمانی استفاده می شود که می خواهید بگویید شبیه به دیپلم هر چه بود بیاور ولی اگر نخواستید از این روش استفاده کنید بجای آن از مساوی می توانید استفاده کنید:
خط زیر را انتخاب کنید:


If Len(StrFilter) > 0 Then StrFilter = StrFilter & " And tahsilat like '*" & Me.m.Value & "*'" Else StrFilter = "tahsilat like '*" & Me.m.Value & "*'"


و خط زیر را جایگزین آن کنید:


If Len(StrFilter) > 0 Then StrFilter = StrFilter & " And tahsilat='" & Me.m.Value & "'" Else StrFilter = "tahsilat ='" & Me.m.Value & "'"

حتماً درست می شود

akbarkian
سه شنبه 01 دی 1388, 07:32 صبح
عالی بود آقا داوود
اگر موافقید این جستجو را قشنگ تر کنیم تا دوستان بیشتر استفاده کنند مثلا 1- دیتا شیت تا سرچ نکردن هیچ ایتمی را نشان ندهدیعنی خالی باشد (بر خلاف الان که همه افراد در ان نمایش داده می شود) 2 - اگر چهار کزینه خالی بود یا اشتباه انتخاب شد پیغامی مبنی بر نبودن ان اطلاعات در بانک ظاهر شود

davood-ahmadi
چهارشنبه 02 دی 1388, 18:14 عصر
ان شاء اله که این نمونه جواب کارتون رو بده