View Full Version : چگونه در بانک اطلاعاتی جستجو کنیم
mohammadS
سه شنبه 12 اردیبهشت 1385, 20:13 عصر
چگونه در بانک اطلاعاتی که با vb درست کرده ایم یک رکورد را جستجو کنیم.
mohammadS
چهارشنبه 13 اردیبهشت 1385, 16:38 عصر
کمککککککککککککککککککککککک ککککککککککککککککککککککککک کککککک
mahdi_farhani
چهارشنبه 13 اردیبهشت 1385, 18:13 عصر
دوست عزیز شما باید مشخص کنی از چه کامپوننتی استفاده می کنی .
بعد برو دنبال دستور Find
Hossein Bazyan
چهارشنبه 13 اردیبهشت 1385, 18:46 عصر
دوست عزیز
نمیدانم چه نوع جستجویی را میخوای و در چه حالتی میخوای چون بنا به حالت برنامه جستجو صورت میگیره اما به هر حال این کد را فعلا داشته باش ببین کارت را راه میندازه.
یک TextBox بنام Text1 و دو Label بنامهای L1 و L2 و یک کلید بنام cmdSearch و یک Data بنام Data1 روی فرمت قرار بده و کد زیر را در آنقرار بده
در ضمن بانکی بنام Test که دارای جدولی بنام Test و با سه عدد فیلد از نوع رشته ای بنامهای Name , Family , TelNo باشد را ایجاد و برای امتحان چند رکورد را ذخیره کن
امیدوارم بتوانی آنرا توسعه بدی .
Private Sub cmdSearch_Click()
Dim FindWord As String
Dim DB As Database
Dim RS As Recordset
Set DB = OpenDatabase(App.Path & "\Test.MDB")
Set RS = DB.OpenRecordset("Test", dbOpenDynaset)
FindWord = "Name='" & Trim(Text1.Text) & "'"
RS.FindFirst FindWord
If RS.NoMatch = False Then ' Found
L1.Caption = RS("Family")
L2.Caption = RS("TelNo")
Else ' Not Found
L1.Caption = ""
L2.Caption = ""
End If
End Sub
mohammadS
چهارشنبه 13 اردیبهشت 1385, 19:21 عصر
چگونه در بانک اطلاعاتی که با vb درست کرده ایم یک رکورد را جستجو کنیم.
fghjfgjhfgjfgjfgjfgj
mohammadS
چهارشنبه 13 اردیبهشت 1385, 19:29 عصر
من یک data1 یک جدول با سه فیلد و سه text box که هر یک فیلدی را نشان میدهد و میخاهم
با وارد کردن مورد جستجو در یک text وزدن کلید جستجو , جستجو انجام شود و رکورد مورد نظر
در text ها نشان داده شود.
Hossein Bazyan
چهارشنبه 13 اردیبهشت 1385, 22:09 عصر
خوب دوست عزیز
مگه کدی که من نوشتم غیر اینه فقط بجای Label ها از Textbox استفاده کن
در ضمن قرار بود فقط اشکال پرسیده شود اما شما دوست عزیز به خودت زحمت نمیدی که جای Label را با Textbox عوض کنی
یه خورده خلاقیت داشته باش برنامه نویسی فقط کدنویسی نیست بلکه کدنویسی قسمتی از برنامه نویسیه و یک قسمت هم خلاقیت است و .....
sohrab o
چهارشنبه 13 اردیبهشت 1385, 23:31 عصر
age t site jostejo koni hatman peyda miko ni
yeja hast ke neveshte jostejo ba 2 shart ke manam javab dadam
mohammadS
پنج شنبه 14 اردیبهشت 1385, 10:13 صبح
دست همه بچه ها درد نکنه که کمکم کردند مخصوصا Hossein Bazyan جان دوست عزیز برنامه درست
کار کرد ولی چند تا سوال داشتم
در دستور زیر set چه کار می کند.
Set DB = OpenDatabase(App.Path & "\Test.MDB
در دستور زیر dbOpenDynaset چه کار می کند
Set RS = DB.OpenRecordset("Test", dbOpenDynaset
در دستور زیر trim و "Name='"وRS.FindFirst FindWord چه کار می کند
FindWord = "Name='" & Trim(Text1.Text) RS.FindFirst FindWord
در دستور زیر RS.NoMatch چیست.
If RS.NoMatch = False Then ' Found
2000200
پنج شنبه 14 اردیبهشت 1385, 10:39 صبح
من مهرداد هستم عضو جدید تو را به خدا هر کس یه برنامه با مسطاب جدید داره بده متشکرم
Hossein Bazyan
پنج شنبه 14 اردیبهشت 1385, 12:41 عصر
آقای MohammadS
در مورد سوالاتی که پرسیده بودی :
در مورد کار با بانکهای اطلاعاتی :
ایجاد فایل ( توسط هر روشی که برات راحته که شامل ایجاد جداول، فیلدها و نوع فیلدهاست )
باز کردن بانک در محیط برنامه نویسی در اینجا VB که با دستور زیر ما آنرا باز میکنیم
Set DB = OpenDatabase(App.Path & "\Test.MDB)
که دراینجا Test.MDB نام بانک اطلاعاتی و App.Path مسیر جاری برنامه مان میباشد.
حال نوبت باز کردن جدول داخل بانک است که ما میخواهیم جدول Test را به شکل Dynaset باز کنیم و آنرا به یک Recordset نسبت میدهیم اینجا RS که در ابتدای برنامه ما Rs را از نوع Recordset انتخاب کرده بودیم
Set RS = DB.OpenRecordset("Test", dbOpenDynaset)
حال باید کلمه مورد نطر را در رکوردهای بانک جستجو کنیم یک نوع متغییر از نوع رشته تعریف میکنیم بنام indWord که در جمله زیر Name نام فیلد داخل بانک است و Text1.Text مقدار موجود در TextBox ما و تابع Trim فاصله های طرفین متن نوشته شده در TextBox را میگیرد ( برای جستجوی دقیقتر) در جستجوهای رشته ای باید متن مورد جستجو داخل دو علامت ' ' قرار بگیرد پس داریم
FindWord = "Name='" & Trim(Text1.Text) & "'"
در این مرحله عمل جستجو باید انجام بگیرد و دستور زیر عمل جستجو در بانک را انجام میدهد
RS.FindFirst FindWord
در این مرحله باید کنترل شود که متن مورد جستجو در بانک موجود بود یا نه که توسط دستور ساده If و NoMatch این عمل انجام میشود . که NoMatch خروجی منطقی تولید میکند که اگر خروجی آن False باشد یعنی رشته را پیدا کرده است و ما در TextBox ها یا Label ها آنرا مینویسیم در غیر اینصور Else اگر خروجی آن True باشد یعنی آنرا پیدا نکرده است .
If RS.NoMatch = False Then ' Found
L1.Caption = RS("Family")
L2.Caption = RS("TelNo")
Else ' Not Found
L1.Caption = ""
L2.Caption = ""
End If
امیدوارم تونسته باشم خوب توضیح بدم .
mohammadS
پنج شنبه 14 اردیبهشت 1385, 19:38 عصر
خیلی آقایی Hossein Bazyan جان دستت درد نکند .چاکریم
vb341
جمعه 15 اردیبهشت 1385, 10:56 صبح
آقای محمد خان : یه کتاب آموزش بانک اطلاعاتی در 21 روز هست . بگیر و مطالعه کن چیزهای خیلی خوبی داره . یه ebook هم به اسم Visual Basic 6 Database How-To (pdf) هست که ایونم خیلی توپه
riyahiyan
جمعه 15 اردیبهشت 1385, 12:16 عصر
یه مقاله واقعا کامل تو سایت هست در مورد ADO .
riyahiyan
جمعه 15 اردیبهشت 1385, 12:19 عصر
من مهرداد هستم عضو جدید تو را به خدا هر کس یه برنامه با مسطاب جدید داره بده متشکرم
ایی مسطاب که گفتی ینی چه؟
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.