PDA

View Full Version : جستجو در بانک اطلاعاتی



sajjad_india
جمعه 02 بهمن 1388, 19:51 عصر
سلام به همه شما دوستان عزیز

من یه سوال دارم
ببنید مثلا من دو تا فیلد دارم به نامهای ( نام و شماره )

و میخوام وقتی روی Command کلیک میکنم ببینید مثلا در فیلد نام چندتا نام علی مثل هم وجود داره ؟

کد من اینه نمی دنم مشکلش چیه !!!


Adodc1.Refresh
Dim recc
Dim res As Integer

res = 0

recc = Adodc1.Recordset.RecordCount

For i = 0 To recc - 1

Adodc1.Recordset.Find ("Namber='" & StrCh.Text & "'")

If StrCh.Text = FildName.Text Then

Else

res = res + 1

End If

i = i + 1
Next i

Label1.Caption = "Finded : " & resاگر امکان داره پاسخ بدید ممنون میشم مرسی از همه شما دوستان عزیز

لینک ندید به من امکان داره بگید مشکل من چیه و راهنمایی کنید

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

با تشکر از همه سجاد

mahmood_s
جمعه 02 بهمن 1388, 20:30 عصر
با سلام

به نظر من بهتره بجاي استفاده از دستور Find از دستورات اس كيو ال استفاده كن

Adodc1.ConnectionString = constr
Adodc1.RecordSource = "select * from mosh where name='ali'"
Adodc1.Refresh

MsgBox Adodc1.Recordset.RecordCount

sajjad_india
جمعه 02 بهمن 1388, 20:59 عصر
ممنون از جواب شما

عزضم به حضور گرامی بعد از استفاده از کد شما این پیغام رو به من داد

مشکل فکر میکنید چیه ؟
میشه یه سورس آماده کوچک به من بدید باهاش کار منم ممنون میشم از شما و همه دوستان عزیز
43035

polisoftco
جمعه 02 بهمن 1388, 21:19 عصر
عزیزم کدی که دوستمون اون بالا قرار دادن درست ولی ایشون به دیتابیس وصل نشدن پس خودت باید وصلیش کنی بدین صورت.



constr.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\db.mdb;Persist Security Info=False;" ' Jet OLEDB:Database Password=..."

Adodc1.ConnectionString = constr
Adodc1.RecordSource = "select * from mosh where name='ali'"
Adodc1.Refresh

MsgBox Adodc1.Recordset.RecordCount



اون علامتهای قرمز رو باتوجه به اطلاعات دیتابیس خودتون تغیر بدین.

این کد تمام اشخاصی که نامشون علی هسته رو پیدامیکنه، اگه بجای ali عبارت Trim(Text1.Text) رو بنویسین هراسمی که توی تکست باکس 1 نوشته بشه رو سرچ میکنه.
خط اول برای اتصال به دیتابیس
خط بعدی برای اتصال به جدولی با نام mosh و جستجوی شخصی بنام علی.
خط بعدیشم که رفرش میکنه.
خط بعدیش یک پیغام میده که تو متنش تعداد رکوردهای پیداشده تو جدول رو نشون میده.

موفق باشین.

sajjad_india
جمعه 02 بهمن 1388, 21:32 عصر
عزیزم کدی که دوستمون اون بالا قرار دادن درست ولی ایشون به دیتابیس وصل نشدن پس خودت باید وصلیش کنی بدین صورت.



constr.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\db.mdb;Persist Security Info=False;" ' Jet OLEDB:Database Password=..."

Adodc1.ConnectionString = constr
Adodc1.RecordSource = "select * from mosh where name='ali'"
Adodc1.Refresh

MsgBox Adodc1.Recordset.RecordCount

اون علامتهای قرمز رو باتوجه به اطلاعات دیتابیس خودتون تغیر بدین.

این کد تمام اشخاصی که نامشون علی هسته رو پیدامیکنه، اگه بجای ali عبارت Trim(Text1.Text) رو بنویسین هراسمی که توی تکست باکس 1 نوشته بشه رو سرچ میکنه.
خط اول برای اتصال به دیتابیس
خط بعدی برای اتصال به جدولی با نام mosh و جستجوی شخصی بنام علی.
خط بعدیشم که رفرش میکنه.
خط بعدیش یک پیغام میده که تو متنش تعداد رکوردهای پیداشده تو جدول رو نشون میده.

موفق باشین.


باز هم ممنون از شما

ببینید من کد رو زدم به این صورت

constr.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\MyTable.mdb;Persist Security Info=False;" ' Jet OLEDB:Database Password=..."

Adodc1.ConnectionString = constr
Adodc1.RecordSource = "select * from db where name='ali'"
Adodc1.Refresh

MsgBox Adodc1.Recordset.RecordCount

حالا ارور Object requred میده !!!

مشکلش از کجا هستش ؟؟؟؟

مرسی باز هم از شما بابت جواب و وقت گزاشتن برای من

ممنون

polisoftco
جمعه 02 بهمن 1388, 21:52 عصر
شما باید یک کنترل ADODC رو تو فرمتون قرار داده باشین تا بتونین از این کد استفاده کنین.
توی لیست کامپوننت های ویژوال هستش، بنام Microsoft ADO Data Control 6.0 (SP6 (OLED
یکی از این کنترلها بزار تو فرمت و اسمشم بزار ADODC1 (اسم پیشفرض خودشم همینه نیازی به تغییر نیست)