PDA

View Full Version : نیاز به راه حل برای رفع مشکل



rahil_2007
شنبه 29 تیر 1387, 12:58 عصر
با سلام
من میخواهم در یکی از صفحه هایم اطلاعات را از چها ر تا کمبوباکس بگیرم و اطلاعات مرتبط
با آنها رانمایش دهم.
دراین کدکه رکورد(های) موردنظر را شناسایی میکندبه چه صورتی باید آن رانمایش داد.
اگر کدی دارید برایم بگذارید.




Dim cmd As New SqlClient.SqlCommand
If ComboBox4.Text = "" Then

MsgBox("êëلçى êي©§ëâ© ©ں يں©§ کëی§")
Else

If ComboBox4.SelectedIndex = 0 Then

str1 = "SELECT * FROM [sanaatekhodro] WHERE ([nkhadamat] =@nkhadamat) AND ([nostan]=@nostan )and ([nshahr]=@nshahr )"

cmd = New SqlClient.SqlCommand(str1, connect)
cmd.Parameters.Add("@nkhadamat", SqlDbType.NVarChar).Value = ComboBox1.Text
cmd.Parameters.Add("@nostan", SqlDbType.NVarChar).Value = ComboBox2.Text
cmd.Parameters.Add("@nshahr", SqlDbType.NVarChar).Value = ComboBox3.Text
Try

Dim dr1 As SqlClient.SqlDataReader
connect.Open()
dr1 = cmd.ExecuteReader()
Do While dr1.Read
l2.Visible = False

If dr1.HasRows Then

MsgBox("ok ,find1")



Else

l2.Visible = True

End If

Loop

dr1.Close()
connect.Close()
Catch ex As Exception
MsgBox("ں¢­ںé ى پںیگںى §ں§ى §© ­ه¥ى ¤«¢¤ي ©ç©ں© ëی«¢")
End Try

Else

str1 = "SELECT * FROM [sanaatekhodro] WHERE ([nkhadamat] =@nkhadamat) AND ([nostan]=@nostan )and ([nshahr]=@nshahr )and ([mantaghe]=@mantaghe )"

cmd = New SqlClient.SqlCommand(str1, connect)
cmd.Parameters.Add("@mantaghe", SqlDbType.Int).Value = ComboBox4.SelectedItem
cmd.Parameters.Add("@nkhadamat", SqlDbType.NVarChar).Value = ComboBox1.Text
cmd.Parameters.Add("@nostan", SqlDbType.NVarChar).Value = ComboBox2.Text
cmd.Parameters.Add("@nshahr", SqlDbType.NVarChar).Value = ComboBox3.Text

Dim i As New Integer

Dim dt As New DataTable("sanaatekhodro")
Dim str2 As String = "select * FROM [sanaatekhodro] WHERE ([nkhadamat] =@nkhadamat) AND ([nostan]=@nostan )and ([nshahr]=@nshahr )"

Dim dr2 As SqlClient.SqlDataReader
Try

connect.Open()
dr2 = cmd.ExecuteReader()
Do While dr2.Read
l2.Visible = False

If dr2.HasRows Then

MsgBox("ok ,find2")



Else

l2.Visible = True

End If

Loop

dr2.Close()
connect.Close()
Catch ex As Exception
MsgBox("ں¢­ںé ى پںیگںى §ں§ى §© ­ه¥ى ¤«¢¤ي ©ç©ں© ëی«¢")
End Try

End If

End If

ali_md110
یک شنبه 30 تیر 1387, 01:16 صبح
شما اگه ممکنه جدول بانک برنامتون و فیلدهاش رو که میخواهید و شرطهای اونو و همچنین توی چه کنترلی نمایش داده بشه رو ذکر کنید تا کدش رو براتون بفرستم
در ضمن اگر خواستید تکه کدی رو بفرستید از علامت# بالای صفحه پاسخ سریع جهت اینکار استفاده کنید
کد مورد نظر را بین تگ [code] قرار دهید

rahil_2007
یک شنبه 30 تیر 1387, 08:40 صبح
1- جدول اول مربوط به نوع خدمات است که شامل فیلدهای(id, nkhadamat) است.
2- جدول دوم مربوط به استانها است که شامل فیلدهای(id, ostancode,nostan) است.
3- جدول سوم مربوط به شهرها است که شامل فیلدهای(id,ostancode,nshahr) است.
اسامی خدمات به کمبوباکس اول و اسامی استانها به کمبوباکس دوم و اسامی شهرها به کمبوباکس سوم بایند شده است . کمبو چهارم هم برای مناطق در نظر گرفته شده است.
حالا میخواهم با توجه به نوع خدمات و استان وشهر مربوطه اطلاعات مربوط به مکانهایی که آن خدمات را ارائه میدهد نشان دهد. البته قبل از آن اگر گزینه سایر مناطق انتخاب شود شرط
چک کردن شماره منطقه برداشته میشود.
اطلاعاتی که نمایش داده میشود در یک table یا چیز دیگری نمایش داده شود.


Dim cmd AsNew SqlClient.SqlCommand
If ComboBox4.Text = ""Then

MsgBox(
"êëلçى êي©§ëâ© ©ں يں©§ کëی§")
Else

If ComboBox4.SelectedIndex = 0 Then

str1 =
"SELECT * FROM [sanaatekhodro] WHERE ([nkhadamat] =@nkhadamat) AND ([nostan]=@nostan )and ([nshahr]=@nshahr )"

cmd =
New SqlClient.SqlCommand(str1, connect)
cmd.Parameters.Add("@nkhadamat", SqlDbType.NVarChar).Value = ComboBox1.Text
cmd.Parameters.Add("@nostan", SqlDbType.NVarChar).Value = ComboBox2.Text
cmd.Parameters.Add("@nshahr", SqlDbType.NVarChar).Value = ComboBox3.Text
Try

Dim dr1 As SqlClient.SqlDataReader
connect.Open()
dr1 = cmd.ExecuteReader()
DoWhile dr1.Read
l2.Visible = False

If dr1.HasRows Then

MsgBox(
"ok ,find1")


Else

l2.Visible =
True

EndIf

Loop

dr1.Close()
connect.Close()
Catch ex As Exception
MsgBox("ں¢­ںé ى پںیگںى §ں§ى §© ­ه¥ى ¤«¢¤ي ©ç©ں© ëی«¢")
EndTry

Else

str1 =
"SELECT * FROM [sanaatekhodro] WHERE ([nkhadamat] =@nkhadamat) AND ([nostan]=@nostan )and ([nshahr]=@nshahr )and ([mantaghe]=@mantaghe )"

cmd =
New SqlClient.SqlCommand(str1, connect)
cmd.Parameters.Add("@mantaghe", SqlDbType.Int).Value = ComboBox4.SelectedItem
cmd.Parameters.Add("@nkhadamat", SqlDbType.NVarChar).Value = ComboBox1.Text
cmd.Parameters.Add("@nostan", SqlDbType.NVarChar).Value = ComboBox2.Text
cmd.Parameters.Add("@nshahr", SqlDbType.NVarChar).Value = ComboBox3.Text
Dim i AsNewInteger

Dim dt AsNew DataTable("sanaatekhodro")
Dim str2 AsString = "select * FROM [sanaatekhodro] WHERE ([nkhadamat] =@nkhadamat) AND ([nostan]=@nostan )and ([nshahr]=@nshahr )"

Dim dr2 As SqlClient.SqlDataReader
Try

connect.Open()
dr2 = cmd.ExecuteReader()
DoWhile dr2.Read
l2.Visible = False

If dr2.HasRows Then

MsgBox(
"ok ,find2")

Else

l2.Visible =
True

EndIf

Loop

dr2.Close()
connect.Close()
Catch ex As Exception
MsgBox("ں¢­ںé ى پںیگںى §ں§ى §© ­ه¥ى ¤«¢¤ي ©ç©ں© ëی«¢")
EndTry

EndIf

EndIf

rahil_2007
یک شنبه 30 تیر 1387, 12:33 عصر
باورکنید اورزانسیه
کسی نیست از اهل فن جواب ماروبده

ali_md110
یک شنبه 30 تیر 1387, 15:21 عصر
یک مثال براتون نوشتم شاید راضی کننده باشه با اکسسه ممکنه راهنمایی تون کنه
شما توی برنامتون یک جدول دیگه بنام ثبت باید داشته باشید تا بتونید از طریق اون تلفیق جداول رو انجام بدید
من تا اونجایی که جا داشت براتون بانک رو نرمال کردم توی جدول ثبت شما نیاز به ثبت کردن کد منطقه کد خدمات و کد شناسه برای خود جدول ثبت دارید
یه فیلد هم در جدول sabt گزاشتم برا شناسایی شماره مناطق مختلف یک شهر بنام code_manategh بدین خاطر که ممکنه مثلاهم تهران و هم شیراز دارای منطقه2 باشند اینکار رو کردم میتونید توی شرطهاتون از این فیلد بجای فیلد ID_manategh هم استفاده کنید
دقت کنید که ID_manategh در جدول مناطق یک رکورد یکتا برا ی رابطه با کلید غیر اصلی در جدول sabt هستش و این کد گویای یک نقطه از شهر در یک استان هستش
رابطه بین جداول هم توی برنامه هست با انتخاب یک استان شهرهای اون رو تو کومبو شهر نشون میده
خودتون ببریدش به اسکیول سرور

اگر مشکلی بود در خدمتم