PDA

View Full Version : اضافه کردن عناوین مختلف موجود در بانک برای جستجو



aknj56
چهارشنبه 16 فروردین 1391, 10:56 صبح
با سلام خدمت دوستان
چه طوری میشه به این کد موارد دیگه برای سرچ رو اضافه کرد که هر کدام رو بزنیم پیدا کنه
مثلا مورد ما در این کد موضوع هست بخاهیم موارد دیگر مثل خطاب نامه و غیره رو اضافه کنیم که هر کدام رو که زد آن را بیاورد
منظورم توی دستور select هست که نوشتم mozo حالا بخاهیم اضافه کنیم خطاب نامه و غیره

Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
If TextBox1.Text.Trim() = String.Empty Then

serch_Load(Nothing, Nothing)

Else

If ComboBox1.SelectedIndex = 0 Then
DataGridView1.DataSource = Search("mozo", TextBox1.Text.Trim(), "نامه های صادره")
ElseIf ComboBox1.SelectedIndex = 1 Then
DataGridView1.DataSource = Search("mozo", TextBox1.Text.Trim(), "نامه های وارده")
End If

End If

End Sub

End Class

Hybrid
چهارشنبه 16 فروردین 1391, 11:40 صبح
سلام دوست عزیز امیدوارم حالت خوب باشه ،

خوب شما به جای پارامتر اول موجود در تابع Search یعنی "mozo اسم فیلد خطاب نامه که در بانک هست رو وارد کن تا جستجو بر اساسه اون فیلد انجام بشه ، مثلا اسم فیلد خطاب نامه در بانک Khetabname هست باید به صورت زیر بنویسید :


DataGridView1.DataSource = Search("Khetabname", TextBox1.Text.Trim(), "نامه های وارده")

aknj56
چهارشنبه 16 فروردین 1391, 13:58 عصر
باسلام
این درست ولی میخام یه جوری بشه که علاوه بر موضوع مثلا خطاب نامه هم کنار دستور اس کیو ال بیارم یعنی اگر بر مبنای موضوع سرچ کنم نامه رو بیاره و اگر بر مبنای خطاب نامه هم سرچ کنم باز هم بیاره یعنی یک نامه داریم موضوعش هست بودجه و خطاب نام هم هست رضا وقتی سرچ کردیم بیاره نه اینکه فقط ما چون توی دستور اس کیو ال نوشتیم موضوع باید موضوع را برای سرچ بنویسیم و اگر عنوان خطاب نامه را تایپ کنیم چیزی پیدا نکنه
امیدوارم مطلب رو رسونده باشم در کل یک دستور اس کیو ال چند تایی میخام

aknj56
چهارشنبه 16 فروردین 1391, 19:10 عصر
با سلام
کسی نبود جواب بده

aknj56
پنج شنبه 17 فروردین 1391, 19:31 عصر
دوستان کسی نیست مشکل ما رو حل کنه

aknj56
جمعه 18 فروردین 1391, 22:14 عصر
سلام خدمت دوستان
اگر دوستان لطف کنند مشکل من رو حل کنند خیلی ممنون میشم

sehm67
شنبه 19 فروردین 1391, 23:01 عصر
با سلام خدمت دوستان
چه طوری میشه به این کد موارد دیگه برای سرچ رو اضافه کرد که هر کدام رو بزنیم پیدا کنه
مثلا مورد ما در این کد موضوع هست بخاهیم موارد دیگر مثل خطاب نامه و غیره رو اضافه کنیم که هر کدام رو که زد آن را بیاورد
منظورم توی دستور select هست که نوشتم mozo حالا بخاهیم اضافه کنیم خطاب نامه و غیره

کد زیر رو تو یه ماژول بنویس:


Function Search(ByVal FieldName As String, ByVal SearchFor As String) As DataTable
Dim oledbDataAdapter1 As New OleDbDataAdapter
With oledbDataAdapter1
.SelectCommand = New OleDbCommand
.SelectCommand.Connection = oledbConnection1
.SelectCommand.CommandType = CommandType.Text
.SelectCommand.CommandText = "Select * from table2 Where " & FieldName & " like '%" & SearchFor & "%' order by code"
If .SelectCommand.Connection.State <> ConnectionState.Open Then
.SelectCommand.Connection.Open()
End If
.SelectCommand.ExecuteNonQuery()
Dim ds As New DataSet
oledbDataAdapter1.Fill(ds, "table1")
Return ds.Tables("table1")
End With

End Function

به فرم یه کنترل تکست باکس و کمبو باکس اضافه نمایید:
Dim obj As New نام ماژول

If ComboBox1.SelectedIndex = 0 Then DataGridView.DataSource = obj.Search("name", Trim(TextBox1.Text))
If ComboBox1.SelectedIndex = 1 Then DataGridView.DataSource = obj.Search("code", Trim(TextBox1.Text))

Hybrid
شنبه 19 فروردین 1391, 23:31 عصر
کد زیر رو تو یه ماژول بنویس:

نه اینجوری جواب نمیده و کدتون دارای اشکالاتی هست و بازهم بر اساسه یک فیلد جستجو رو انجام میده ، اگه میخوای بر اساسه فیلد های دیگه هم جستجو رو انجام بدی داخل یک ستور sql باید از or استفاده کنی مثل قطعه کد زیر :

.SelectCommand.CommandText = "Select * from table1 Where " & FieldName & " like '%" & SearchFor & "%' or Fieldname2 like '%" & TextBox1.Text.Trim() & "%'"
در کد بالا شما به جای Fieldname2 میتونین نام یک فیلد دیگه در جدول را وارد کنید ،

میتونین تعدا بیشماری فیلد رو هم بهش اضافه کنید.

موفق باشید./

viper2009
یک شنبه 20 فروردین 1391, 04:37 صبح
سلام

چرا گرید جانوس استفاده نمی کنی؟
برای هر ستون یک فیلد جستجو براساس شرایط مختلف داره که کاربر با توجه به آن جستجو می کنه
مثلاً اگر کاربر در ستونی کلمه "برنامه" را جستجو کند، نتیجه آن تمام فیلدهایی که در آن کلمه "برنامه" وجود دارد را فیلتر می کند.