View Full Version : ارتباط بین textbox ها
samira3
سه شنبه 05 خرداد 1388, 12:01 عصر
سلام
من دارم یه فرم طراحی می کنم که تووش چند تا Text box داره می خوام وقتی کاربر یه شماره رو وارد یکی از Textbox ها میکنه اطلاعات مربوط به اون شماره در بقیه textbox ها نمایش داده بشه!
بانک اطلاعتیمم Access هست.
میشه کمک کنید آیا؟
adinochestva
سه شنبه 05 خرداد 1388, 12:05 عصر
با sqlcommand و اطلاعات رو fill کن تو باقی tb ها
samira3
سه شنبه 05 خرداد 1388, 13:17 عصر
با sqlcommand و اطلاعات رو fill کن تو باقی tb ها
میشه یه مثال بزنی لطفا؟
Mani_rf
سه شنبه 05 خرداد 1388, 16:22 عصر
با سلام.
بهترین راه برای انجام این کار اینه که تو رخداد OnChange ،TextBox کدی بنویسی که برات فیلد های متناسب با TextBox ها را فراخوانی کنه
Private Sub Text1_OnChange(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles Text1.Change
Dim Connection As OleDbConnection = New OleDbConnection("آدرس کانکشنت")
Dim DataReader As OleDbDataReader
Dim Command As OleDbCommand = New OleDbCommand("Select فیلدها From نام جدول Where شرایط", Connection)
Command.CommandType = CommandType.Text
Connection.Open()
DataReader = Command.ExecuteReader(CommandBehavior.SingleResult )
While DataReader.Read()
Text1= DataReader(0).ToString.Trim
Text2= DataReader(1).ToString.Trim
Text3= DataReader(2).ToString.Trim
End While
end Sub
فقط نام جدول، نام فیلد ها ، شرط جستجو و آدرس کانکشن دیتا بیس را اضافا کن و کد را به نسبت برنامه ات تغییر بده.
من بیشنهاد می کنم به جای TextBox ازComboBoxبرای اولین آیتم یا آیتمی که قراره اطلاعات ثابت را بگیره استفاده کنی.
امید وارم کارت را راه بی اندازد.
samira3
سه شنبه 05 خرداد 1388, 18:11 عصر
با سلام.
بهترین راه برای انجام این کار اینه که تو رخداد OnChange ،TextBox کدی بنویسی که برات فیلد های متناسب با TextBox ها را فراخوانی کنه
[/RIGHT]
[/LEFT]
این error رو میده:عصبانی++::عصبانی++:
ExecuteReader: Connection property has not been initialized.
میشه یه برنامه برام بزارین ببینم اشکال کارم کجاست
adinochestva
سه شنبه 05 خرداد 1388, 18:21 عصر
این آدرس را مشاهده کنید :
http://www.homeandlearn.co.uk/NET/nets12p1.html
samira3
سه شنبه 05 خرداد 1388, 23:12 عصر
معذرت می خوام مشکل من سورس کد یه قسمت از برنامه هستش
می خوام بدونم چی کار کنم وقتی یه textboxo پر میکنم اطلاعات تو بقیه textbox ها نمایش داده بشه!
واسه همینم یه مثال می خوام که بفهمم کجای کارم اشتباه بوده:ناراحت:
Mani_rf
چهارشنبه 06 خرداد 1388, 16:32 عصر
کد SQL که به کار بردی کلا مشکل داره :
تو اسم جداول فاصله مجاز نیست ،اسم جدول را چک کن.
بعد از WHERE نیازی به نوشتن نام جدول نیست .
بعد از Kala= کتیشن را ببند ، یک کاراکتر & بگذار تا محتویات TExtBox را به کد SQL که نوشتی پیوند دهد
من اینطوری تغییرش دادم
Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
Dim cnn As OleDb.OleDbConnection
Dim Command As New OleDb.OleDbCommand
Dim DataReader As OleDb.OleDbDataReader
cnn = New OleDb.OleDbConnection("provider=Microsoft.Jet.OLEDB.4.0;Data Source=F:\Visual Studio 2005\Projects\Soft Eng Project\Soft Eng Project\project.mdb")
Dim SQL As String = "SELECT * FROM kala_info WHERE kala=" & Me.TextBox1.Text
Command = New OleDb.OleDbCommand(SQL, cnn)
Command.CommandType = CommandType.Text
Command.Parameters.Add("Name", Data.OleDb.OleDbType.VarChar, 10).Value = Me.TextBox1.Text()
cnn.Open()
DataReader = Command.ExecuteReader
If DataReader.HasRows Then
While DataReader.Read()
Me.TextBox3.Text = DataReader(0).ToString.Trim
Me.TextBox4.Text = DataReader(1).ToString.Trim
End While
Else
MsgBox("رکوردی پیدا نشد")
End If
DataReader.Close()
CNN.Close()
End Sub
(این کد بالا رو همینجوری تو VB.Net کپی کن ببینش، انجا بهم ریخته نشون میده.)
من در همه برنامه هام از این امکان استفاده می کنم. می تونی تو سایت Http://doostanshop.com/Restaurant بری برنامه را دانلود کنی نمونشو بیبینی . اگه موفق نشدی دیتا بیس و فرمی که می خوای توش ای کار رو بکونی را برام میل کن تا شنبه عصر برات درستش می کنم.
samira3
پنج شنبه 14 خرداد 1388, 16:18 عصر
سلا م
به این که سایت بود
vvill_smith@yahoo.com
اگه میل تون بدین ممنون میشم
Mani_rf
شنبه 16 خرداد 1388, 16:59 عصر
این کد را تو KeyPress تکس باکست کپی کن تا موقع فشرده شدن Enter بقیه اطلاعات را از دیتابیس بخونه. تو دیتابیس هم بجای همه کاراکتر فاصله آندرلاین بگذار.
If e.KeyChar = Chr(Keys.Enter) Then
If TextBox1.Text = String.Empty Then Exit Sub
Dim cnn As OleDb.OleDbConnection = New OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Application.StartupPath & "\Database.mdb")
Dim SQL As String = "SELECT name_kala,vahede_kala,gheimate_vahed FROM kala_info WHERE Id_kala=" & Val(TextBox1.Text)
Dim Command As OleDb.OleDbCommand = New OleDb.OleDbCommand(SQL, cnn)
cnn.Open()
Command.CommandType = CommandType.Text
Dim DataReader As OleDb.OleDbDataReader = Command.ExecuteReader(CommandBehavior.SingleRow)
If DataReader.HasRows Then
While DataReader.Read()
ComboBox1.Text = DataReader(0).ToString.Trim
TextBox3.Text = DataReader(1).ToString.Trim
TextBox4.Text = DataReader(2).ToString.Trim
End While
Else
MsgBox("رکوردی پیدا نشد")
End If
cnn.Close()
End If
:لبخند:
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.