PDA

View Full Version : سوال: محدود کردن جستجو



nazanin0
دوشنبه 01 آذر 1389, 08:39 صبح
سلام

قبل از هرچیزی باید بگم که در این مورد جستجو کردم و مطلبی در این رابطه پیدا نکرد
لطفاً راهنماییم کنید.:تشویق:

2 تا textbox برای جستجو دارم که می خوام با استفاده از آنها جستجو محدود بشه مثلاً جستجو بر اساس تاریخ باشه و بتونه از تاریخی تا تاریخ دیگه ای جستجو بشه.

با تشکر

yekta64
دوشنبه 01 آذر 1389, 09:38 صبح
سلام

قبل از هرچیزی باید بگم که در این مورد جستجو کردم و مطلبی در این رابطه پیدا نکرد
لطفاً راهنماییم کنید.:تشویق:

2 تا textbox برای جستجو دارم که می خوام با استفاده از آنها جستجو محدود بشه مثلاً جستجو بر اساس تاریخ باشه و بتونه از تاریخی تا تاریخ دیگه ای جستجو بشه.

با تشکر

اگر فیلدهای در دیتابیس شما از نوع date هستش مقادیر نوشته شده در textbox ها که بنا به گفته ی شما تاریخ هستش رو در ابتدا به نوع date تبدیل می کنید و در کوری به صورت زیر عمل می کنید




select * from tblname where Fdate Between "& textbox1.text &" AND "& textbox2.text &"


به این صورت رکودهایبین این دو تاریخ بازگردونده میشن

موفق یاشید.

nazanin0
دوشنبه 01 آذر 1389, 09:57 صبح
دوست عزیز از اینکه راهنماییم می کنید ممنون

1. نوع فیلد تاریخ nchar(10
2.این کد رو باید در رویداد TextChanging بنویسم؟

ممنون

yekta64
دوشنبه 01 آذر 1389, 10:25 صبح
دوست عزیز از اینکه راهنماییم می کنید ممنون

1. نوع فیلد تاریخ nchar(10
2.این کد رو باید در رویداد TextChanging بنویسم؟

ممنون




دوست عزیز
در مورد سوال دوموتون باید بگم این بستگی به خودتون داره می خواید عمل سرچ با زدن یه دکمه صورت بگیره یا با فشردن کلید اینتر در تکس باکس

در مورد سوال اول هم باید بگم

بر فرض فیلد تاریخ شما در جدول به نام Fdate هستش و همنطور که خودتون گفتید از نوع رشته

شما یه تابع به صورت زیر می نویسد که پارامترهای ورودی این تابع مقادیر دو تکس باکس هستن

به این صورت:



Public Function xx(ByVal Date1 As String, ByVal Date2 As String) As DataTable
Dim Da As New OleDbDataAdapter
Dim ds As New DataSet
Dim StrSql As String
ds.Clear()
OpenConnection()
StrSql = "SELECT * FROM tblName WHERE FDate BETWEEN '" & Date1 & "' AND '" & Date2 & "';"
Dim Command As New OleDbCommand(StrSql, Con)
Da = New OleDbDataAdapter(Command)
Da.Fill(ds, "tbl")
Con.Close()
Return ds.Tables(0)
End Function


حالا شما می یاد این تابع رو در هر ریدادی که می خواید یا دکمه یا تکس چنچ تکس باکس به این صورت فراخوانی می کنید و اگه خواستید در گرید ویو نمایش می دید:



Dim dt As New DataTable
dt = xx(TextBox1.Text, TextBox2.Text)
DataGridView1.DataSource = dt


لازم به ذکر هستش در تابعی که من نوشتم خروجی یه دیتاتیبل هستش

بازم اگه سوال بود در خدمت هستم
موفق باشید.

mansourii
دوشنبه 01 آذر 1389, 11:45 صبح
اين سوالات از قبل جواب داده شده . بگردي پيدا ميكني
:افسرده: چرا قبلش جستجو نميكنيد؟:ناراحت: