设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

[窗体] 查询按钮的编码编写

[复制链接]
跳转到指定楼层
1#
发表于 2014-11-20 11:14:32 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
新人学习access,对vb没有基础,学习中,麻烦大神帮修改下按钮代码。
需求,company窗体里在文本框里输入两个表中的任意值(或部分)按查询后可以显示有此段记录。这个利用系统的ctrl+f功能也能实现
谢谢了

本帖子中包含更多资源

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

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2014-11-20 11:39:08 | 只看该作者
本帖最后由 todaynew 于 2014-11-20 11:55 编辑

Private Sub Command28_Click()
    Dim wh As String
    Dim ctrl As Control
    Dim str_fields As String
    str_fields = ""
    For Each ctrl In Me.Form.Controls
        If ctrl.ControlType = acTextBox Then
            If ctrl.Name <> "Text31" Then               
                str_fields = str_fields & "[" & ctrl.Name & "] & "   '拼接字段字符串
            End If
        End If
    Next
    wh = Left(str_fields, Len(str_fields) - 3) & " Like '*" & Me.Text31.Value & "*'"
    Me.Form.Filter = wh
    Me.Form.FilterOn = True
End Sub







本帖子中包含更多资源

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

x
3#
发表于 2014-11-20 12:01:55 | 只看该作者
todaynew 发表于 2014-11-20 11:39
Private Sub Command28_Click()
    Dim wh As String
    Dim ctrl As Control

这么复杂,新手能懂吗?
对于新手,我还是比较推荐刘小军常用窗体查询。
4#
 楼主| 发表于 2014-11-20 15:33:22 | 只看该作者
确实看不懂,谁能给翻译一下?

另问:能查询action表里的内容吗?

烦请大神指导
5#
发表于 2014-11-21 10:28:10 | 只看该作者
影子5555 发表于 2014-11-20 15:33
确实看不懂,谁能给翻译一下?

另问:能查询action表里的内容吗?

Private Sub Command28_Click()
    Dim wh As String '定义一个字符串变量,用于存放筛选字符串
    Dim ctrl As Control '定义一个控件类型的变量,一般在循环中使用它
    Dim str_fields As String '定义一个字符串变量,用于存放拼接起来的字段
    str_fields = ""
    For Each ctrl In Me.Form.Controls   '遍历窗体上的所有控件,其目的是为了得到字段名称。当然也可以采用其他方法得到所需字段的名称。
        If ctrl.ControlType = acTextBox Then '只对文本框感兴趣,因为文本框才有字段名称
            If ctrl.Name <> "Text31" Then    '排除 Text31这个文本框控件,因为它与字段名称没球关系           
                str_fields = str_fields & "[" & ctrl.Name & "] & "   '循环拼接字段字符串,将形成诸如:[字段1] & [字段2]...的字符串
            End If
        End If
    Next
    wh = Left(str_fields, Len(str_fields) - 3) & " Like '*" & Me.Text31.Value & "*'" 'Left(str_fields, Len(str_fields) - 3)的目的是去掉循环语句加上的最后一个&字符。最后wh形如:[字段1] & [字段2]... & [字符串N] Like '*娜*',其含义是所有字段中只要包含一个娜,就把它们筛选出来
    Me.Form.Filter = wh '将wh作为主窗体的筛选字符串
    Me.Form.FilterOn = True '打开主窗体的筛选
End Sub
6#
发表于 2014-11-21 11:14:27 | 只看该作者
影子5555 发表于 2014-11-20 15:33
确实看不懂,谁能给翻译一下?

另问:能查询action表里的内容吗?

子窗体筛选是类似处理:


本帖子中包含更多资源

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

x
7#
 楼主| 发表于 2014-11-21 16:37:07 | 只看该作者
十分感谢todaynew大师,干脆我拜你为师吧
8#
发表于 2014-11-21 17:07:04 | 只看该作者
影子5555 发表于 2014-11-21 16:37
十分感谢todaynew大师,干脆我拜你为师吧

那需要三扣九拜才行
9#
 楼主| 发表于 2014-11-25 10:50:14 | 只看该作者
师傅在上受徒儿一拜一拜一拜一扣一扣一扣一扣一扣一扣一扣一扣一扣
10#
发表于 2014-11-25 11:39:46 | 只看该作者
影子5555 发表于 2014-11-25 10:50
师傅在上受徒儿一拜一拜一拜一扣一扣一扣一扣一扣一扣一扣一扣一扣

嗯,还行,可以加我的QQ:3070146830
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-29 04:42 , Processed in 0.126686 second(s), 34 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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