Office中国论坛/Access中国论坛

标题: 求助:用ADO显示模糊查询数据问题 [打印本页]

作者: 高处不胜寒    时间: 2004-12-7 21:31
标题: 求助:用ADO显示模糊查询数据问题
请问ADO能否进行模糊查询。如在收货人地址文本框中输入“浙”,点查询按钮后LISTVIEW显示全部包含“浙”的字段。

麻烦帮忙修改一下,谢谢。[attach]7990[/attach]

[attach]7991[/attach]

[em04]
作者: 高处不胜寒    时间: 2004-12-7 23:15
请高手帮忙,谢谢。
作者: 高处不胜寒    时间: 2004-12-8 00:45
站长、郑版主、王版主能指点迷津吗?[em06]
作者: yangzn    时间: 2004-12-8 01:13
用SQL语句里用LIKE关键字 匹配符用 %  (DAO是用*和?,ADO我用得少,记不清了,你查查书吧)

[此贴子已经被作者于2004-12-7 17:13:45编辑过]


作者: 高处不胜寒    时间: 2004-12-8 16:10
YANGZN兄,能详细说说吗?或帮忙找找资料。我在VB书籍中看到过,也套用了,但不对。再次感谢了。
作者: zhengjialon    时间: 2004-12-8 16:25
方法思路:1.按查询按钮时把所有的LISTVIEW记录清空,相关方法可以参考MSDN,2.把SQL语句加上条件,如:SELECT * FROM TBANAME WHERE 字段名 like '*" & me.文本1 & "*';"3.然扣根据这个语句的记录集再重新加载整个LISTVIEW另:不能用于对整个表所有字段的搜索,除非用ACCESS内置的查找命令不建议用LISTVIEW,因为加载速度太慢.
作者: 高处不胜寒    时间: 2004-12-8 21:33
谢谢郑版主。

可能是我天资愚钝领会错误。总提示:”RUNSQL操作需要SQL语句组成的参数“,还请再帮我看看。再次感谢。[attach]8014[/attach]


作者: 情比金坚    时间: 2004-12-8 22:46
标题: 不用sql的我倒会
[attach]8016[/attach]


作者: 高处不胜寒    时间: 2004-12-8 23:17
哈,方法确实不错,MM不单漂亮而且聪明哦。再次谢过了。[em17]
作者: yangzn    时间: 2004-12-9 04:59
这是我曾经写过的代码(把用户输入的*和?号换成ADO的(毕竟用户习惯*和?的匹配符)Private Sub cmdFind_Click()

    Dim rst As New ADODB.Recordset

    Dim strFind As String

    Dim strSQL As String

On Error GoTo nErr

    txtName.Text = Trim(txtName.Text)

    If Left(txtName.Text, 1) = "*" Then

        txtName = Mid(txtName, 2)

    End If

    If Right(txtName, 1) = "*" Then

        txtName = Left(txtName, Len(txtName.Text) - 1)

    End If

   

    If Len(txtName.Text) = 0 Then

        strFind = Chr(34) & "%" & Chr(34)

    Else

        strFind = Chr(34) & "%" & Trim(txtName.Text) & "%" & Chr(34)

    End If

    strFind = Replace(strFind, "*", "%")

    strFind = Replace(strFind, "?", "_")

    strFind = Replace(strFind, "?", "_")

   

   

   

    strSQL = "select * from 菜品 where 菜品名称 like " & strFind

    strSQL = strSQL & " order by 菜品编号 "

    Set rst.ActiveConnection = cnn

    rst.Open strSQL

   

    With lvw.ListItems

        .Clear

        While Not rst.EOF

            .Add , "a" & rst("菜品编号")

            With .Item("a" & rst("菜品编号"))

                    .Text = rst("菜品编号")

                    .ListSubItems.Add , , rst("菜品名称")

                    .ListSubItems.Add , , rst("计量单位")

                    .ListSubItems.Add , , IIf(IsNull(rst("菜品类别")), "", rst("菜品类别"))

            End With

            rst.MoveNext

        Wend

    End With

    Exit Sub

   

nErr:

    MsgBox Err.Description

    Err.Clear

End Sub
作者: 高处不胜寒    时间: 2004-12-10 02:44
谢谢yangzn 兄,我先下载研究研究。[em01]
作者: liaoliao    时间: 2008-8-24 09:44
[:45] [:45] [:45] 唉~~~~




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3