设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

[其它] [分享]组合框输入,以往有相似记录的自动下拉提示

[复制链接]
跳转到指定楼层
1#
发表于 2013-12-7 13:41:56 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
如题,实例中,在“地点”组合框中输入,如果之前的记录有相似的“地点名”,则会自动下拉提示,并且可以通过键盘上下键选择!
这个功能鄙人研究了几天,终于有了头绪,解决了操作过程的一些bug,总算差强人意的实现了相关的功能,希望对于新手可以有所启发,对于各位高人,如有方便之门指教,小弟愿闻其详,还请多加指点,谢谢!


本帖子中包含更多资源

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

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏2 分享分享 分享淘帖 订阅订阅
16#
发表于 2015-6-29 15:55:29 | 只看该作者
实用,感谢分享

点击这里给我发消息

15#
发表于 2015-6-26 18:29:07 | 只看该作者
谢谢分享,很实用的一个功能。
14#
发表于 2015-6-26 17:12:03 | 只看该作者
很实用
回复

使用道具 举报

13#
发表于 2015-6-26 16:17:28 | 只看该作者
感谢分享,学习一下

点击这里给我发消息

12#
发表于 2015-6-26 16:16:39 | 只看该作者
楼主辛苦了,谢谢分享
11#
 楼主| 发表于 2013-12-10 11:17:48 | 只看该作者
huanghyd 发表于 2013-12-10 11:07
, 粗心了。改过来了,测试没有问题。非常感谢smilingkiss 。

不客气,有空多交流!
10#
发表于 2013-12-10 11:07:03 | 只看该作者
{:soso_e106:}, 粗心了。改过来了,测试没有问题。非常感谢smilingkiss 。
9#
 楼主| 发表于 2013-12-10 10:36:15 | 只看该作者
huanghyd 发表于 2013-12-10 09:46
增加一句后问题解决了,很好用,能快速显示需要的东西,提高输入效率。现在我的当前窗体有2个组合框控件需 ...

      Me.Dye2 = Left(Me.Dye1, tt)

你自己看看这一句^_^

建议你复制代码到记事本,然后通过“替换”把控件名字全改过来先,然后在粘贴回去
8#
发表于 2013-12-10 09:46:56 | 只看该作者
增加一句后问题解决了,很好用,能快速显示需要的东西,提高输入效率。现在我的当前窗体有2个组合框控件需要运用这个功能,添加代码后测试发现第一个控件Me.Dye1可以快速显示需要的东西。第二个控件Me.Dye2却默认第一个控件显示的文字。哪里出问题?请看下图:
下面是第一个控件的代码:
Private Sub Dye1_Change()
Dim tt As Integer
   tt = Me.Dye1.SelStart
   If tt = 0 And Dye1.SelLength <> 0 Then
      Exit Sub
   End If
   Me.ParentNo.SetFocus
   Me.Dye1.SetFocus
   If Dye1 <> "" And tt > 0 Then
      Me.Dye1 = Left(Me.Dye1, tt)
      Me.Dye1.SelStart = tt
   End If
   Me.Dye1.RowSource = "SELECT distinct [PraDyeChem].DyeName FROM [PraDyeChem] WHERE ((([PraDyeChem].DyeName) Like '*' & '" & Me.Dye1 & "' & '*'))"
   If Me.Dye1.ListCount <> 0 Then
      Me.Dye1.Dropdown
   End If
End Sub

下面是第二个控件的代码:
Private Sub Dye2_Change()
Dim tt As Integer
   tt = Me.Dye2.SelStart
   If tt = 0 And Dye2.SelLength <> 0 Then
      Exit Sub
   End If
   Me.ParentNo.SetFocus
   Me.Dye2.SetFocus
   If Dye2 <> "" And tt > 0 Then
      Me.Dye2 = Left(Me.Dye1, tt)
      Me.Dye2.SelStart = tt
   End If
   Me.Dye2.RowSource = "SELECT distinct [PraDyeChem].DyeName FROM [PraDyeChem] WHERE ((([PraDyeChem].DyeName) Like '*' & '" & Me.Dye2 & "' & '*'))"
   If Me.Dye2.ListCount <> 0 Then
      Me.Dye2.Dropdown
   End If
End Sub

第一个控件Me.Dye1可以快速显示需要的东西,第二个控件Me.Dye2却默认第一个控件显示的文字。输入Nylosan B 时却显示Nylosan Y 的信息。

本帖子中包含更多资源

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

x
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-26 02:32 , Processed in 0.095872 second(s), 36 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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