PDA

View Full Version : اصلاح Syntax جستجو در متغير رشته



hasanr
شنبه 11 تیر 1390, 14:45 عصر
سلام
یک فرم جستجو درست کرده ام حاوی چند تا تکست باکس است و یک دکمه جستجو
با کلیک روی دکمه جستجو مراحل زیر انجام می شود
رشته جستجوی خالی StrSql تعریف می شود
در صورت خالی نبودن تکست باکس اول دستور بررسی آن به رشته جستجو اضافه می شود
در صورت خالی نبودن تکست باکس دوم دستور بررسی آن به رشته جستجو اضافه می شود
....
در انتهای کار عبارت AND از انتهای رشته جستجو حذف می گردد و رشته به دست آمده به عنوان فیلتر ساب فرم که حاوی نتایج جستجوست عمل می کند

تمامی مراحل بالا درست هستند و برنامه درست کار می کند اما در اتصال رشته و متغیر دو تا مشکل دارم :ناراحت:
1- می خواهم برخی از نتایج دقیقا برابر مقدار باکس باشد یعنی Like را حذف کنم لطفا کد را اصلاح بفرمایید


StrStr = StrStr & "[NameKala] like'" & "*" & Me.TextBox1 & "*' AND"


2- برای جستجو در محدوده تاریخ ( مثلا فاکتورهایی که تاریخ صدور آنها از تاریخ 1 تا تاریخ 2 است) کد زیر را نوشته ام که در Syntax ایراد دارد :ناراحت:


StrStr = StrStr & "[Date] Between " & Me.textbox1 & " And " & Me.textbox2 & AND"



3- در صورت امکان یکی از دوستان لطف کنند و در بحث اتصال رشته ها ، نحوه استفاده از علامت (( ' )) رو بیان کنن

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

hasanr
شنبه 11 تیر 1390, 17:01 عصر
جواب سوال اول رو با جستجو. در سایتهای خارجی پیدا کردم


StrStr = StrStr & "([NameKala] = """ & Me.TextBox1 & """) AND "


همچنان منتظر جواب سوالهای دوم و سوم هستم

راستی یه سوال فرعی : کسی از دوستان درباره تابع BuildCriteria اطلاعاتی داره ؟؟

hasanr
یک شنبه 12 تیر 1390, 15:26 عصر
دوستان زیادی و بویژه مدیران محترم جواب سوالاتم رو می دونن
لطفا بذل توجه بفرمایین

یه سوال دیگه :
در داخل یک فرم به روش زیر به خاصیت فیلتر دسترسی داریم
Me.Form1.Subform2.Filter = StrFilt
حالا اگر بخواهیم به خاصیت فیلتر فرمی ( یا ساب فرمی) از طریق یک input box یا تکست باکس که در فرم دیگری قرار دارد دسترسی داشته باشیم دستور صحیح چیست ؟
این کدها کار نکردند :


Forms!Form1.Subform2.Filter = ""
Forms!Form1.Subform2.Form!Filter = ""

انگوران
دوشنبه 13 تیر 1390, 11:48 صبح
سلام، اگه مقدوره فايلتون رو اينجا قرار بدين تا دوستان راهنماييتون كنن.

hasanr
دوشنبه 13 تیر 1390, 13:46 عصر
سلام و ممنون
سوال دوم که ایراد Syntax داره
سوال سوم هم که درباره کابرد تک کوتیشن (') هست و نمونه نمیخاد

فرم کامل شده رو حتما در سایت قرار میدم تا ادای دین کرده باشم

hasanr
سه شنبه 14 تیر 1390, 10:10 صبح
خبری نیست ؟؟
اصلاح Syntax یک دستور برای دوستان باتجربه سایت خیلی ساده ست لطفا همکاری کنین

انگوران
سه شنبه 14 تیر 1390, 16:22 عصر
سلام، باور كنيد تا نمونه نباشه سخته جواب همچين سؤالي رو دادن مثلاً جواب سؤال اولي كه از سايت پيدا كردين و جواب گرفتين به نظر من اينجوريه و شايد هر دو روش جواب بده پس بايد حداقل يه نمونه فايل باشه .

StrStr = StrStr & "[NameKala] ='" & Me.TextBox1 & "'" & " AND

hasanr
چهارشنبه 15 تیر 1390, 12:53 عصر
سلام
دوست عزیز آقای انگوران
مشکل اصلی بنده چگونگی استفاده ار تک کوتیشن (') است این کد که نوشتین کاملا درسته لطفا مورد 2 رو هم اصلاح بفرمایید متاسفانه به علت وسواس بسیار زیاد درست کردن نمونه وقت خیلی زیادی از من می گیرد که در حال حاضر میسر نیست . بعد از اتمام کار حتما نمونه میزارم
حتی اگر ممکنه درباره چگونگی استفاده ار تک کوتیشن (') توضیح کوچکی یا منبعی ارایه بفرمایین ممنون میشم

انگوران
چهارشنبه 15 تیر 1390, 14:25 عصر
سلام، شايد اين كد جواب بده:

StrStr = StrStr & "Date Between [textbox1] And [textbox2]" & " AND

hasanr
چهارشنبه 15 تیر 1390, 21:17 عصر
با تشکر بسیار
کد صحیح :

StrStr = StrStr & "Date Between [textbox1] And [textbox2]" & " AND"
یک "بعد از AND جا افتاده بود که خود اکسس اضافه کرد

این کدها هم نتیجه جستجو تو اینترنته (با کمی تغییر) و کار میکنه


StrStr = StrStr & "Date between " & Me.textbox1 & " and " & Me.textbox2 & " and "

StrStr = StrStr & "[Date] Between [Forms]![FrmSearch]![textbox1] And [Forms]![FrmSearch]![textbox2] AND"

لطفا یکی از دوستان با تجربه تر یا مدیران اگر ممکنه لطف کنن و درباره چگونگی اتصال رشته و متغیر و لزوم استفاده از تک کوتیشن (') توضیح کوچکی یا منبعی حتی به انگلیسی ارایه بفرمایند