设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

12下一页
返回列表 发新帖
查看: 4832|回复: 11
打印 上一主题 下一主题

[ADO/DAO] 求助:用ADO显示模糊查询数据问题

[复制链接]
跳转到指定楼层
1#
发表于 2004-12-7 21:31:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
请问ADO能否进行模糊查询。如在收货人地址文本框中输入“浙”,点查询按钮后LISTVIEW显示全部包含“浙”的字段。

麻烦帮忙修改一下,谢谢。



[em04]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
 楼主| 发表于 2004-12-7 23:15:00 | 只看该作者
请高手帮忙,谢谢。
3#
 楼主| 发表于 2004-12-8 00:45:00 | 只看该作者
站长、郑版主、王版主能指点迷津吗?[em06]
4#
发表于 2004-12-8 01:13:00 | 只看该作者
用SQL语句里用LIKE关键字 匹配符用 %  (DAO是用*和?,ADO我用得少,记不清了,你查查书吧)

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

5#
 楼主| 发表于 2004-12-8 16:10:00 | 只看该作者
YANGZN兄,能详细说说吗?或帮忙找找资料。我在VB书籍中看到过,也套用了,但不对。再次感谢了。

点击这里给我发消息

6#
发表于 2004-12-8 16:25:00 | 只看该作者
方法思路:1.按查询按钮时把所有的LISTVIEW记录清空,相关方法可以参考MSDN,2.把SQL语句加上条件,如:SELECT * FROM TBANAME WHERE 字段名 like '*" & me.文本1 & "*';"3.然扣根据这个语句的记录集再重新加载整个LISTVIEW另:不能用于对整个表所有字段的搜索,除非用ACCESS内置的查找命令不建议用LISTVIEW,因为加载速度太慢.
7#
 楼主| 发表于 2004-12-8 21:33:00 | 只看该作者
谢谢郑版主。

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

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
8#
发表于 2004-12-8 22:46:00 | 只看该作者

不用sql的我倒会



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
9#
 楼主| 发表于 2004-12-8 23:17:00 | 只看该作者
哈,方法确实不错,MM不单漂亮而且聪明哦。再次谢过了。[em17]
10#
发表于 2004-12-9 04:59:00 | 只看该作者
这是我曾经写过的代码(把用户输入的*和?号换成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
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-5-7 06:46 , Processed in 0.114146 second(s), 34 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表