PDA

View Full Version : دستور Like



mgmreza
دوشنبه 15 بهمن 1386, 00:11 صبح
با سلام
من میخواهم با دستور select ، جستجویی بنویسم که به طور مثال تمام کلماتی را که با نام hasan شروع می شوند را در یک DataGrid نشان داد. به همین منظور از دستور زیر استفاده کردم و درست هم بود.
sq = "select * from daroo where subg like 'hasan%'"
Adodc1.RecordSource = sq
Set DataGrid1.DataSource = Adodc1
Adodc1.Refresh
اما من میخواهم به جای کلمه hasan در دستور فوق یک متغیر مانند s تعریف کنم که اگر کاربر نام دیگری را وارد کرد تمام کلماتی که با آن نام شروع میشوند را نشان داده شود. من برای این کار از دستور زیر استفاده کردم اما جواب نداد و مشکل دارد. اگر دوستان در مورد مشکل کد زیر راهنمایی بفرمایند ممنون میشوم.
s = InputBox("عبارت مورد نظر را برای جستجو وارد نمایید")
sq = "select * from daroo where name like 's%'"
Adodc1.RecordSource = sq
Set DataGrid1.DataSource = Adodc1
Adodc1.Refresh

* در ضمن command type در حالت adCmdText است.

davodsharif
دوشنبه 15 بهمن 1386, 00:40 صبح
شاید کد زیر بتواند مشکل شما را حل کند




Adodc1.CommandType = adCmdText
Adodc1.RecordSource = "select uname,ufamily,phone from TbPhone where phone like '%" & Txt_search.Text & "%'"
Adodc1.Refresh
Set DataGrid1.DataSource = Adodc1

alivafadarpour
دوشنبه 15 بهمن 1386, 06:34 صبح
Function serch_grid(fa As VSFlex7DAO.VSFlexGrid, rows1, cols1) As Boolean
Dim matn_box As String
Dim i As Integer
Dim j As Integer
Dim res As Integer
matn_box = InputBox(". ÚÈÇÑÊ ãæÑÏ ÌÓÊÌæ ÑÇ æÇÑÏ äãÇííÏ ", "äÌÑå ÌÓÊÌæ")
If matn_box = Empty Then
Exit Function
Else
For i = 4 To rows1 - 1
For j = 0 To cols1 - 1
If InStr(Replace(Trim(fa.TextMatrix(i, j)), ",", ""), Trim(matn_box)) <> 0 Then
fa.Select i, j
fa.ShowCell i, j
res = CreateSpecialMsgbox(".ÂíÇ ÌÓÊÌæ ÇÏÇãå íÏÇ ˜äÏ ", vbQuestion + 4, "ÌÓÊÌæ", -1, -1, -1, "", , 2, "Èáå,ÎíÑ", "&Yes,&No")
If res <> 6 Then
i = rows1
j = cols1
End If

End If
Next j
Next i
End If
End Function