PDA

View Full Version : اشکال در جستجو



adhami
سه شنبه 22 فروردین 1385, 14:51 عصر
با سلام خدمت دوستان
این سوال در تاپیکهای مختلف مطرح شده بود من بیشتر آنها را مطالعه کردم
من یک مشکل دارم
شرح مشکل ) می خواهم جستجوی بنویسم که با زدن نصف کلمه تمامی کلمات مشابه را برای من نشان دهد مثلا با نوشتن کلمه (نری) در یک text box ههمه کلماتی که دارای این 3 حرف هستند را در یک data gride به من نشان دهد من از این sql استفاده کردم
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
r = Trim(Text1.Text)
cn.Open "provider=Microsoft.jet.OLEDB.4.0;Data Source=" & App.Path & "\frosh.mdb"
cn.CursorLocation = adUseClient
rs.Open "select * from frosh where name_customer Like '*" & r & "*', cn"
Set Me.dg1.DataSource = rs.DataSource
ولی پیغام خطای زیر را به من نشان می دهد
the connection can not be used to perform theis operation . it is either closed or invalid in this context.

من اول فکر کردم ممکنه از نوع اتصال باشه ولی با تغییر آن هم به جایی نرسیدم .:گیج:

ممنون از کمک شما .

hadi2345
سه شنبه 22 فروردین 1385, 15:48 عصر
با سلام .

دوست عزیز برای استفاده از Like ، شما باید از % استفاده کنید نه * .

موفق باشید .

adhami
چهارشنبه 23 فروردین 1385, 07:04 صبح
باز هم همان خطا را می گیرد حتی وقتی که از % استفاده کردم

این خطا را درست در همان خطی می گیرد که پرس و جو را نوشته ام

ممنون

hamid2002ir
چهارشنبه 23 فروردین 1385, 08:40 صبح
من فکر می کنم Like با فارسی مشکل داشته باشه با حروف انگلیسی امتحان کن اگر موفق نشدی همچین برنامه ای بنویسی بگو تا برات بنویسم

hadi2345
چهارشنبه 23 فروردین 1385, 11:50 صبح
باز هم همان خطا را می گیرد حتی وقتی که از % استفاده کردم

این خطا را درست در همان خطی می گیرد که پرس و جو را نوشته ام

ممنون

با سلام مجدد .
شما ببین بدون Like ، جستجو رو انجام میده یا نه . چون من از دستور Like خیلی جاها استفاده میکنم و هیچ مشکلی هم پیش نمیاد .

موفق باشید .

hamid2002ir
چهارشنبه 23 فروردین 1385, 12:01 عصر
یک برنامه برات می نویسم

Amir_Sharif
پنج شنبه 24 فروردین 1385, 22:54 عصر
دوست عزیز شما در پرکردم رکوردست باید نوع کرسر و نوع قفل رکوردست را هم مشخص کنی.امتحان کن حتما درست میشه
rs.Open "select * from frosh where name_customer Like '*" & r & "*'", cn, adOpenDynamic, adLockBatchOptimistic

Amir_Sharif
پنج شنبه 24 فروردین 1385, 22:55 عصر
در ضمن به جای * از % استفاده کن

adhami
شنبه 26 فروردین 1385, 08:20 صبح
با سلام
دست شما درد نکنه امیدوارم من هم یه روزی بدرد شما بخورم هرچند که در مقابل شما آماتور هستم .
بدون like هم جستجو جواب می ده . ولی با like خطا می گیره (منو که حسابی گیج کرده )
و با adOpenDynamic, adLockBatchOptimistic هم همان خطای قبلی را می گیره (چقدر خطای سیریشه)
باز هم از راهنمایی شما دوستان تشکر می کنم.

hamid2002ir
شنبه 26 فروردین 1385, 11:55 صبح
سلام
ببخشید من قول دادم یک برنامه بنویسم که مشکل دوستمون حل بشه ولی متاسفانه وقت اجازه نمی ده .
عزیزم شما بدون query امتحان کن ببین بازم پیغام خطا می ده یا نه مثلا
Select * from Table

adhami
سه شنبه 05 اردیبهشت 1385, 10:18 صبح
سلام آقا حمید بالاخره برای ما نوشتی یا نه

saman2006
سه شنبه 05 اردیبهشت 1385, 11:52 صبح
سلام دوست عزیز. من با charindex تونستم این مشکل رو حل کنم. البته اضافه کنم که بانک من sql server هست. نمیدونم به کارت میاد یا نه :
تو قسمت شرط دستور sql این رو اضافه کن: (البته نه دقیقاً با این فرمت )
('"& charindex(Title,'" & text1.text که Title فیلد شما در بانک می باشد. امیدوارم به دردت بخوره.

vb341
سه شنبه 05 اردیبهشت 1385, 12:32 عصر
شما با کلمات انگلیسی و همون دستور LIKE و علامت % یکبار دیگه چک کن اگر جواب نداد مشکل تو کاراکترهای فارسیت باید باشه . چون من با دستور LIKE و علامت % کلی جستجو تو یه برنامه دارم و هیچ مشکلی نداره .

adhami
چهارشنبه 06 اردیبهشت 1385, 10:18 صبح
با سلام خدمت دوستان گرامی
من یک بار دیگر مشکلم را شرح می دهم :
وقتی اتصال را برقرار می کنم و کد جستجو را می نویسم بدون شرط جواب می ده و لی وقتی از where استفاده می کنم دیگه جواب نمی ده چه با like باشه چه با مساوی .
هم با انگلیسی امتحان کردم و هم با فارسی به نظر شما ممکنه مشکله از نوع تعریفی که برای اتصال به دیتاگرید می کنم باشه ؟
Set Me.dg1.DataSource = rs.DataSource یعنی این نوع اتصال رو قبول نکنه ؟

Hossein Bazyan
یک شنبه 10 اردیبهشت 1385, 14:00 عصر
دوست عزیز سلام
من یک کد برات نوشتم و اینجا گذاشتم
در TexrBox با نوشتن هر حرف کلماتی از فیلد strName که دارای همان حرف هستند در Grid نوشته میشود ( البته میتوانی کلماتی را جستجو کنی که با آن حرف شروع میشود آنوقت لازم است از Left استفاده کنی ) به هر حال با تایپ هر حرف کلماتی که دارای آن حروف باشند و در فیلد strName قرار داشته باشند در Grid نوشته میشود و اگر TextBox

adhami
دوشنبه 11 اردیبهشت 1385, 13:17 عصر
با سلام
از برنامه بسیار خوبتون ممنون
1سوال) وقتی که خواستم از کد شما در برنامه خودم استفاده کنم به بانک اطلاعاتی ایراد گرفت شما از اکسس 95 استفاده کرده اید یا در جایی از برنامه به این موضوع اشاره کرده اید که نوع بانک چه باشد من هر چی گشتم جیزی ندیدم
ممنون

Hossein Bazyan
دوشنبه 11 اردیبهشت 1385, 14:30 عصر
سلام دوست عزیز
من بانک را در Visual data manager خود VB ساخته ام البته میتوانی در Access هم بسازی هیچ فرقی نمیکند شما پیغام خطایی را که میگیری بنویس تا راهنمائیت کنم

adhami
دوشنبه 11 اردیبهشت 1385, 14:38 عصر
پیغام خطا
unrecognized database format ("مسیر فایل اکسس ")
حالا دربقیه فرمهای برنامه به آدرس دهی ایراد نمی گیره
ممنون از شما دوست عزیز

Hossein Bazyan
دوشنبه 11 اردیبهشت 1385, 15:40 عصر
این پیغام موقع باز شدن DataBase داده میشه ؟
اگه اینطوره خوب شما فایل را با دستوراتی که در فرمهای دیگه باز کرده اید باز کنید ولی برای محدود کردن کد وجود در برنامه مرا بذارید
امیدوارم که منظورم را تونسته باشم بیان کرده باشم .

adhami
شنبه 16 اردیبهشت 1385, 14:32 عصر
با تشکر از شما
بالاخره تونستم مشکلم رو حل کنم
ممنون