设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

请教求助!如何实现窗体中输入关键字查询后将查询到的数据显示在liseview控件中?

[复制链接]
跳转到指定楼层
1#
发表于 2017-6-12 19:39:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
新手!一直在坛子里潜水学习!跟着前辈们学了不少东西!
尝试着做了一个人员查询窗体,已经实现了大部分功能。但是现在有两个问题需要高手前辈们帮帮忙!
一是如何在此窗体内输入关键字后查询已指定的工作表数据,并将查询到的符合条件的数据行逐行显示在liseview控件中?(使用like吗?)
二是查询后显示的数据如何实现修改,删除功能?并将修改、删除后的结果覆盖数据源?
我想了好几天也想不出好的解决办法,尤其是第二个。请诸位帮忙给个思路!不过无论如何都先谢谢了!!
文件如下:
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
 楼主| 发表于 2017-6-12 19:40:14 | 只看该作者
本帖最后由 zwe45 于 2017-6-19 16:15 编辑

这是文件附件!

本帖子中包含更多资源

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

x
3#
 楼主| 发表于 2017-6-12 19:41:13 | 只看该作者
先谢谢大家!
4#
 楼主| 发表于 2017-6-12 19:47:31 | 只看该作者
是listview控件,不好意思打错了
5#
 楼主| 发表于 2017-6-13 08:31:39 | 只看该作者
哪位能帮下忙呢?
6#
发表于 2017-6-13 10:36:38 | 只看该作者
1、关键字……怎么说呢?不仅仅是like,还要考虑到多字段问题。你需要判断实际输入的到底是姓名还是身份证号码等等……因此需要进行一个先期处理。具体请参考:
http://www.office-cn.net/thread-61570-1-1.html
2、增删改查,一般用ADO处理居多。当然,你也可以按单元格写循环。不过个人不太建议这样做。
7#
 楼主| 发表于 2017-6-13 11:31:24 | 只看该作者
roych 发表于 2017-6-13 10:36
1、关键字……怎么说呢?不仅仅是like,还要考虑到多字段问题。你需要判断实际输入的到底是姓名还是身份证 ...

谢谢管理员大人回复!
1、您给的这个是个ACCESS啊,但我这窗体用的是EXCEL加VBA啊,而且下载的压缩包还有密码。
2、我还是新手,ADO方面完全不了解啊!一般情况下的增加删除功能已经实现,代码在附件里。最难搞得是查询后的结果如何确定数据源位置并操作?
不过如何谢谢您的回复!
8#
 楼主| 发表于 2017-6-13 15:30:11 | 只看该作者
roych 发表于 2017-6-13 10:36
1、关键字……怎么说呢?不仅仅是like,还要考虑到多字段问题。你需要判断实际输入的到底是姓名还是身份证 ...

方便的话能说下您给的例子压缩包密码是多少吗?
9#
 楼主| 发表于 2017-6-13 17:07:19 | 只看该作者
无人理,唉
只好一个人折腾了半天,用本方法做的,哪位高手能修改下?
Private Sub CommandButton6_Click()
Dim i, j As Integer
If Trim(TextBox1.Text) = "" Then
Exit Sub
ElseIf ComboBox1.Text = "" Then
MsgBox "请选择类别!", 0, "提示"
Exit Sub
End If

ListView1.ListItems.Clear '清除listview1中的内容
    For i = 2 To Sheets(ComboBox1.Text).[A1048576].End(xlUp).Row
        For j = 1 To 10
            If Sheets(ComboBox1.Text).Cells(i, j) Like "*" & TextBox1.Text & "*" Then
            Set ITM = ListView1.ListItems.Add() '为listview1控件里面的行添加内容
            ITM.Text = Sheets(ComboBox1.Text).Cells(i, 1) '为行标赋值
            ITM.SubItems(1) = Sheets(ComboBox1.Text).Cells(i, 2)
            ITM.SubItems(2) = Sheets(ComboBox1.Text).Cells(i, 3)
            ITM.SubItems(3) = Sheets(ComboBox1.Text).Cells(i, 4)
            ITM.SubItems(4) = Sheets(ComboBox1.Text).Cells(i, 5)
            ITM.SubItems(5) = Sheets(ComboBox1.Text).Cells(i, 6)
            ITM.SubItems(6) = Sheets(ComboBox1.Text).Cells(i, 7)
            ITM.SubItems(7) = Sheets(ComboBox1.Text).Cells(i, 8)
            ITM.SubItems(8) = Sheets(ComboBox1.Text).Cells(i, 9)
            ITM.SubItems(9) = Sheets(ComboBox1.Text).Cells(i, 10)
            End If
        Next j
    Next i
End Sub

以上代码到时可以检索到并显示出来,问题是有些时候会出现很多重复的数据行,而且也无法进行删除修改操作。
哪位高手好心帮忙改改吧
10#
发表于 2017-6-13 23:15:34 | 只看该作者
zwe45 发表于 2017-6-13 15:30
方便的话能说下您给的例子压缩包密码是多少吗?

解压密码:www.office-cn.net
写法是类似的。不过这段时间没空,只能草草评估下,说明下问题。估计要到七月中旬左右才有空去改代码。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-4-23 16:41 , Processed in 0.092535 second(s), 34 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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