Office中国论坛/Access中国论坛
标题:
如何让列表框得到值,并且能用“↑”,“↓”进行选择操作
[打印本页]
作者:
简
时间:
2010-2-23 22:09
标题:
如何让列表框得到值,并且能用“↑”,“↓”进行选择操作
本帖最后由 简 于 2010-2-23 22:15 编辑
如附件所示,我有两个问题想请教:
1)我采用了分页的方式,我希望当我输完每一页最后一个控件的数据后,回车键或者Tab键就直接跳到列表框上的下一个值上;
比如我在第一页输入数据时,此时列表框的值为1;当我输入完性别后,光标就跳在列表框上,并且列表框的值为2,显示第二页的内容;
当我输入完第二页的学历数据后,光标就又跳在列表框上,这时列表框的值为3,显示第三页的内容。
2)我也希望可以通过键盘上的
“↑”,“↓”上下键进行选择,在子窗体里自动显示相对应的页。
比如通过
“↑”,“↓”列表框值为1,显示第四页的内容,列表框值为2,则显示第三页的内容。
作者:
简
时间:
2010-2-24 22:53
这个问题没解决,不能沉了,自已顶哈~~~
作者:
王老五
时间:
2010-2-25 08:03
学习一下
作者:
简
时间:
2010-2-27 16:34
这个帖子,也麻烦高手帮我看看。
作者:
todaynew
时间:
2010-2-27 17:09
可参见
《图片幻灯》
一文中,列表框选定记录移动的处理方式。
作者:
todaynew
时间:
2010-2-27 17:37
本帖最后由 todaynew 于 2010-2-27 17:39 编辑
[attach]41580[/attach]
用回车键后跳入下一页。
不过对分页显示的问题不太熟悉,如何能跳完整的一页不太会,你自己琢磨一下。
Private Sub lb0_AfterUpdate()
Me.sub0.SetFocus
Me.sub0.Form.GoToPage Me.lb0.Value
End Sub
Private Sub txtbK1_AfterUpdate()
Me.Parent.lb0.Value = Me.Parent.lb0.Column(0, 3)
End Sub
Private Sub txtsH2_AfterUpdate()
Me.Parent.lb0.Value = Me.Parent.lb0.Column(0, 1)
End Sub
Private Sub txtsK_AfterUpdate()
Me.Parent.lb0.Value = Me.Parent.lb0.Column(0, 2)
End Sub
作者:
goto2008
时间:
2010-2-27 17:44
学习
作者:
简
时间:
2010-2-27 17:53
多谢todaynew ,在你的代码基础改动了一下,就符合了我想要的效果。
原来都在Parent上,今天第一次用它,收获不小。
改动后的代码如下:
Private Sub txtbK1_AfterUpdate()
Me.Parent.lb0.Value = 3
Me.Parent.sub0.SetFocus
Me.Parent.sub0.Form.GoToPage Me.Parent.lb0.Value
End Sub
Private Sub txtsH2_AfterUpdate()
Me.Parent.lb0.Value = 4
Me.Parent.sub0.SetFocus
Me.Parent.sub0.Form.GoToPage Me.Parent.lb0.Value
End Sub
Private Sub txtsK_AfterUpdate()
Me.Parent.lb0.Value = 2
Me.Parent.sub0.SetFocus
Me.Parent.sub0.Form.GoToPage Me.Parent.lb0.Value
End Sub
作者:
风啸啸
时间:
2010-2-27 18:13
学习。
作者:
todaynew
时间:
2010-2-27 18:44
本帖最后由 todaynew 于 2010-2-27 19:12 编辑
还是用Me.Parent.lb0.Value = Me.Parent.lb0.Column(
1
, 3),好一些。这样可以看到列表框内的移动效果。另外用了
Me.Parent.sub0.Form.GoToPage Me.Parent.lb0.Value这句,那么
Me.Parent.sub0.SetFocus这句是多余的。
关于上下移动键的问题,可以用滚轮方式解决,具体实现方法可参见
《滚轮妙用》
一文。
此外,今天也向你学习到了列表框类型为值列表情况下,数据分列的办法。谢谢!
作者:
简
时间:
2010-2-27 20:48
谢谢todaynew,跟你交流,我也学到了很多东西。
作者:
t小宝
时间:
2010-2-27 21:38
也在你的例子上改了一下:
作者:
简
时间:
2010-2-27 23:23
咦,这个方法也好。
谢谢t小宝,今天真是太有收获了,好高兴。
作者:
malee189
时间:
2010-3-7 10:01
学习。
作者:
简
时间:
2010-3-7 13:58
我想再请教一下:
在t小宝上传的例子中,是每个控件的得到焦点事件中都有MyGoToPage(i)这段代码,如果控件少还好说,如果控件很多,近50个,挨个挨个的在控件的得到焦点事件中写这段代码,似乎太麻烦了,我就想,能不能采用循环或者更好的方式,来执行控件得到焦点后的MyGoToPage(i)代码呢?
作者:
t小宝
时间:
2010-3-7 16:54
不需要 挨个挨个的在控件的得到焦点事件中写代码, 每页的控件的获得焦点事件的代码总是一样的,在设计视图中全选单独一页上需要设置的控件,然后在事件过程中输入“=MyGoToPage(i)”即可,每页只要输入一次而已。
其实并不须要使用每个控件的获得焦点事件,每页只要两个就够了,就是每页的TAB顺序的第一和最后一个控件!
作者:
简
时间:
2010-3-7 21:14
谢谢小宝,原来是这样。
欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/)
Powered by Discuz! X3.3