PDA

View Full Version : کمک در جستجو



maskan_1361
شنبه 05 فروردین 1391, 12:35 عصر
سلام و خسته نباشید خدمت همه اساتید عزیز

من در ویژوال بیسیک 6 تازه کارم و می خواهم تکست باکسی داشته باشم که با وارد کردن قسمتی از کلمه

نام رکوردی را که فیلد name ان حاوی کلمات مورد نظر است در دیتاگرید نمایش بده برای همین بعد از تعریف
دیتاگرید و سایر قسمت ها از کد زیر برای جستجو استفاده می کنم


Private Sub Command1_Click()
Adodc1.RecordSource = "SELECT * from Publishers WHERE Name like '%" & Text1 & "%' "
Adodc1.Refresh


End Sub


کدها شاید درهم افتاده باشد لطفا فایل ضمیمه را هم ببینید ولی کد ها استاندارد است و از کتاب نوشته شده است



ولی پیغام خطای syntax error in form clause

runtime error -2147217900(80040e14)
method refresh of object idodc failed

دیتابسم اکسس می باشد
را می دهد لطفا کمک کنید دیگه واقعا مغزم نمیکشه ! من با my sql و php هم کار کردم ولی اینقدر اذیت نشدم

فایل مربوطه را هم ضمیمه کردم

نشدم

soduko021
شنبه 05 فروردین 1391, 13:16 عصر
سلام دوست عزیز خوبی منم تازه کار هستم این پروژه رو بگیر و کدهاشو استفاده کن جالب م خوندم باحال بود راستی اگه میشه آی دی تون رو بدین با هم کار کنیم هر چی یاد گرفتی یا من باهم تبادل کنیم

AbbasVB
شنبه 05 فروردین 1391, 13:40 عصر
dim sql as string
sql = "SELECT * FROM Publishers WHERE Left(Name," & Len(Text1) & ")='" & Trim(Text1) & "'"
Adodc1.RecordSource = sql
Adodc1.Refresh

برای جست جو از این کد استفاده کنید

maskan_1361
شنبه 05 فروردین 1391, 13:42 عصر
سلام دوست عزیز خوبی منم تازه کار هستم این پروژه رو بگیر و کدهاشو استفاده کن جالب م خوندم باحال بود راستی اگه میشه آی دی تون رو بدین با هم کار کنیم هر چی یاد گرفتی یا من باهم تبادل کنیم

حتما و ممنون از شما

maskan_1361
شنبه 05 فروردین 1391, 13:45 عصر
dim sql as string
sql = "SELECT * FROM Publishers WHERE Left(Name," & Len(Text1) & ")='" & Trim(Text1) & "'"
Adodc1.RecordSource = sql
Adodc1.Refresh

برای جست جو از این کد استفاده کنید

سلام

این کد را هم استفاده کردم ولی نشد و همان خطا را داد!

AbbasVB
شنبه 05 فروردین 1391, 13:55 عصر
آیا شما به بانک وصل هستید؟
برای وصل شدن به این صورت عمل کنید
در بنجره پروپرتیس Adodc1 روی قسمت Custom کلیک کنید به زبانه RecordSource بروید و مقدار Command Type را برابر adCmdUnknown قرار دهید بعد در فرم لود این کد را قرار دهید
Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\DataBase.mdb;"
Adodc1.RecordSource = "SELECT * FROM Publishers order by Name"
Adodc1.Refresh

ابته کد ها رو با نام های خود درست کنید

Javad-2010
شنبه 05 فروردین 1391, 14:11 عصر
من برنامه خودت رو اصلاح کردم :

soduko021
شنبه 05 فروردین 1391, 14:20 عصر
دوستان این دستورات به چه معناست
Adodc1.CommandType = adCmdText
Adodc1.RecordSource = "Select * From tblcode Where name ='" + Text5.Text + "'"
Adodc1.Refresh
If Adodc1.Recordset.RecordCount < 1 Then Adodc1.RecordSource = "Select * From Tblcode": Adodc1.Refresh
Adodc1.CommandType = adCmdTable

maskan_1361
شنبه 05 فروردین 1391, 15:29 عصر
سلام دوست عزیز و ممنون مشکل حل شد و دیگه اون پیعامو نمیده ولی یه پیغام دیگه میده

َadodc no recordsource specified- ado command text not set for the command object
تمام تنظیماتو انجام دادم و
در بنجره پروپرتیس Adodc1 روی قسمت Custom کلیک کنید به زبانه RecordSource بروید و مقدار Command Type را برابر adCmdUnknown قرار دهیدا
این کار را هم کردم البته الان برنامه اجرا میشه ولی نمیدونم چرا این پیغامو میده!

باز هم ممنون و تشکر از اینکه لطف دارید به تازه کارهایی مثل من

maskan_1361
شنبه 05 فروردین 1391, 15:30 عصر
من برنامه خودت رو اصلاح کردم :

سلام دوست عزیز و ممنون مشکل حل شد و دیگه اون پیعامو نمیده ولی یه پیغام دیگه میده

َadodc no recordsource specified- ado command text not set for the command object
تمام تنظیماتو انجام دادم و
در بنجره پروپرتیس Adodc1 روی قسمت Custom کلیک کنید به زبانه RecordSource بروید و مقدار Command Type را برابر adCmdUnknown قرار دهیدا
این کار را هم کردم البته الان برنامه اجرا میشه ولی نمیدونم چرا این پیغامو میده!

باز هم ممنون و تشکر از اینکه لطف دارید به تازه کارهایی مثل من

soduko021
شنبه 05 فروردین 1391, 15:32 عصر
باید با دستور connection string وصل بشوید

maskan_1361
شنبه 05 فروردین 1391, 15:44 عصر
باید با دستور connection string وصل بشوید

همان طور وصل شدم

maskan_1361
شنبه 05 فروردین 1391, 19:39 عصر
دوستان خطای بوجود امده از عدم وجود کد های لایت شده است که دوست عزیز AbbasVB (http://barnamenevis.org/member.php?205103-AbbasVB) راهنمایی کردند و ممنون از ایشان

Private Sub Form_Load()
Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=BIBLIO.MDB;Persist Security Info=False"
Adodc1.RecordSource = "SELECT * from Publishers"
Adodc1.Refresh
Set DataGrid1.DataSource = Adodc1
End Sub

ولی نمی دونم چرا دوبار باید recordsource تعریف شود! یکبار هم در
Private Sub Command1_Click()
Adodc1.RecordSource = "SELECT * from Publishers WHERE Name like '%" & Text1.Text & "%'"
Adodc1.Refresh
End Sub

Javad-2010
یک شنبه 06 فروردین 1391, 08:44 صبح
ولی نمی دونم چرا دوبار باید recordsource تعریف شود!

دومی برای جستجو استفاده میشه.