PDA

View Full Version : سوال: نمایش آنلان رکوردها



Juventus FC
دوشنبه 20 مرداد 1393, 18:58 عصر
سلام

به عکس زیر دقت کنید :

http://www.shiaupload.ir/images/28700778211324787988.jpg

من میخواهم که وقتی عددی در Text اول نوشته میشه وقتی مثلا TAB روی کیبورد که میزنم اطلاعاتی از پایگاه داده برابر با اون عدد (مثلا نامش) در Text دوم نمایش داده بشه . به عبارتی دیگه میخوام اطلاعاتی آنلاین از DB توسط Text دوم خوانده باشه، مثلا اگر عدد 2 رو تو Text اول وارد کردم با زدن TAB نمایشگر به Text سوم بره و در Text دوم کلمه "سلام" چاپ بشه

امیدوارم دوستان گیج نکرده باشم، البته اینقدر ناشی نیستم که مثلا ندونم اطلاعات باید در DB وجود داشته باشه ، من خودم اطلاعات و کد مربوط به هر رکورد در DB به صورت دستی وارد میکنم و روش اتصال پایگاه داده به برنامه رو هم خوب بلدم ! منتها همچین یه خورده تو نمایش آنلاین گیج میزنم.. شاید یه خورده بیشتر فکر کنم به نتیجه برسم منتها دوستان اگر به این مقوله خیلی بیشتر از من وارد هستند کمکشون از من دریغ نفرمایند. با تشکر.

ahmad abdoli
دوشنبه 20 مرداد 1393, 21:18 عصر
سلام
دوست عزیز اگر از شئ Adodc استفاده می کنید می تونی از اکد زیر استفاده کنی.

Private Sub Text1_KeyPress(KeyAscii As Integer)
On Error Resume Next
If KeyAscii = 13 Then
Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + App.Path + "\dbase.mdb"
Adodc1.RecordSource = "SELECT * FROM Table where Number=" & Val(Text1.Text)
Adodc1.Refresh
If Adodc1.Recordset.RecordCount = 0 Then
FrmSearchMosh.Show 1 'فرمی که جهت جستو جو باید درست کنید.
Else
Text2.text= Adodc1.Recordset.Fields("Name")
SendKeys "{tab}"
End If

End If
End Sub


بعد توی فرمی که جهت جستو جو طراحی می کنید یه Button قرار می دهید و تو رویداد کلیک اون یه همچین کدی می نویسید:

Form1.Text1.Text=Adodc1.RecordSet.Fields("Number")
Unload Me


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

Juventus FC
چهارشنبه 22 مرداد 1393, 19:29 عصر
ممنون از راهنماییتون دوست من.

بگذارید یه بار دیگه با مثال های برنامه نویسی توضیح بدم.

شما فرض کنید که یه پایگاه داده ای دارید که یک جدول داره به نام "sabt" این جدول دو تا ستون داره یک ستون "code" و یک ستون "name" . ما می آییم به صورت دستی 5 تا رکورد وارد میکنیم به شکل زیر :



code
name


1
ali


2
sepehr


3
pouria


4
mohsen


5
alex




حالا ما در برنامه خودمون در VB6 دو تا TEXT داریم به نام Text1 و Text2 حالا Text 1 مربوط به فیلد Code و Text2 مربوط به فیلد Name . من میخوام وقتی که در Text1 عدد 1 وارد میکنم تا TAB روی کیبورد میزنم یا اینکه به Text2 اشاره میکنم کلمه "ali" از فیلد name رو از پایگاه داده بخونه و سریع نمایش بده ، بدون اینکه من button فشار بدم.

ahmad abdoli
پنج شنبه 23 مرداد 1393, 00:18 صبح
buttonی قرار نیست فشار بدید Enter باید بزنید.
خوب دوست عزیز کدی که براتون قرار دادم رو به دقت نگاه کنید. فقط به جای کلید tab از Enter استفاده می شه.
و اون buttonی که گفتم مال زمانیه که شما بخواهید برای جدولتون یه فرم جستجو( یه کنترل adodc و datagridview و یه button توی کد نویسی دستور اتصال به جدول) در صورتی که عدد مربوط در جدول نبود یا
نمی دونستید چنده یه Enter می زنید و فرم ظاهر می شود. اگر هم نمی خواستید که فرم جستجو درست کنید، به جای این قسمت از کد:

If Adodc1.Recordset.RecordCount = 0 Then
FrmSearchMosh.Show 1 'فرمی که جهت جستو جو باید درست کنید.
Else


یه مسیج باکس (msgBox) رو قرار بدید مبنی بر این که عدد مورد نظر وجود ندارد.

Juventus FC
پنج شنبه 23 مرداد 1393, 16:21 عصر
برنامه شما ظاهرا درسته ولی چرا برای من هیچ عکس العملی نشون نمیده !؟ میشه خواهش کنم یک برنامه کوتاه با پایگاه داده access بسازید و آپلود کنید تا ببینم دقیقا روند به چه ترتیب هست

ahmad abdoli
پنج شنبه 23 مرداد 1393, 16:54 عصر
بفرما این هم یه نمونه

Juventus FC
پنج شنبه 23 مرداد 1393, 17:00 عصر
خیلی ممنونم بسیار لطف کردید، برای من یه مشکلی وجود داشت که تا برنامه اجرا میشد قبل از اینکه از شما عدد بخواهد خودش عدد و نام و در تکست قرار داده بود که فهمیدم مشکل کجاست، الآن اگر بخواهم که بجای کلید Enter با استفاده از Tab این اتفاق بیفته باید چه کار بکنم ؟

ahmad abdoli
پنج شنبه 23 مرداد 1393, 18:43 عصر
خوب بجای این توی کدی که واست گذاشتم
keyAscii=13
اینو بنویس
KeyAscii=9

Juventus FC
دوشنبه 03 شهریور 1393, 18:15 عصر
آقا کد 9 کار نمیکنه ! نمیدونم چرا کد 32 که ماله Space میزنم کار میکنه یا هر کد دیگه ولی برای 9 هیچ اتفاقی نمی افته !

vbhamed
سه شنبه 04 شهریور 1393, 09:06 صبح
سلام

براي اينكه كليد Tab براي حركت بين كنترلهاي روي فرم در نظر گرفته شده و خود ويژوال بيسيك از اون استفاده مي‌كنه، اگر خاصيت Tabstop همه اشياء روي فرم رو False كنيد ممكنه جواب بده، اما اگر جواب نداد كدتون رو در متد Text1_Validate بنويسيد، نياز هم نيست ديگه چك كنيد چه كليدي زده شده، به محض خارج شدن از تكست باكس حالا با تب يا ماوس و ... اين رويداد اجرا ميشه