设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 1220|回复: 4
打印 上一主题 下一主题

[窗体] 如何用代码灵活更改Tab健顺序?

[复制链接]
跳转到指定楼层
1#
发表于 2009-12-6 12:45:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 goto2008 于 2009-12-6 12:46 编辑

如何用代码灵活更改回车的顺序?因为我的库控件多。
有时想根据不同人的习惯。提高录入效率汗。
请大家指教。。

本帖子中包含更多资源

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

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2009-12-6 15:47:46 | 只看该作者
本帖最后由 todaynew 于 2009-12-6 16:37 编辑


1、写一个窗体的子程序
Private Sub MyTab(myField As String)
Dim ctls As Controls
Dim rs As New ADODB.Recordset
Dim ssql As String
Dim i As Long
ssql = "select * from 索引排序表"
rs.Open ssql, CurrentProject.Connection, adOpenKeyset, adLockOptimistic
Set ctls = Me.Form.Controls
For i = 1 To rs.RecordCount
    ctls(rs("字段")).TabIndex = rs(myField)
    rs.MoveNext
Next
End Sub

2、引用该子程序
Private Sub 更改索引_Click()
Dim a As Long
a = nz(InputBox("请选择顺序:1=原顺序;2=现顺序"),1)
Select Case a
    Case 1
        Call MyTab("原顺序")
    Case 2
        Call MyTab("现顺序")
    Case Else
        MsgBox "选择错误!"
End Select
End Sub

本帖子中包含更多资源

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

x
3#
 楼主| 发表于 2009-12-6 20:21:39 | 只看该作者
先下来学习下。。。呵
4#
发表于 2009-12-6 20:33:52 | 只看该作者
本帖最后由 todaynew 于 2009-12-6 20:39 编辑
先下来学习下。。。呵
goto2008 发表于 2009-12-6 20:21

想了一下,前面的方法十分不灵活。似乎可以搞一个更为通用的方法,于是重写了如下:




Option Compare Database
Const TabMax As Integer = 8

Private Sub 更改索引_Click()
Dim ctls As Controls
Set ctls = Me.Form.Controls
Select Case Me.选项
    Case 1
        If ctls(Me.控件.Value).TabIndex > 0 Then
            ctls(Me.控件.Value).TabIndex = ctls(Me.控件.Value).TabIndex - 1
            Me.Tab.Value = ctls(Me.控件.Value).TabIndex
        End If
    Case 2
        If ctls(Me.控件.Value).TabIndex < TabMax Then
            ctls(Me.控件.Value).TabIndex = ctls(Me.控件.Value).TabIndex + 1
            Me.Tab.Value = ctls(Me.控件.Value).TabIndex
        End If
End Select
End Sub


Private Sub 工号_GotFocus()
    Me.控件.Value = Me.ActiveControl.Name
    Me.Tab.Value = Me.ActiveControl.TabIndex
End Sub


Private Sub 工量ID_GotFocus()
    Me.控件.Value = Me.ActiveControl.Name
    Me.Tab.Value = Me.ActiveControl.TabIndex
End Sub

。。。。
。。。。
。。。。

本帖子中包含更多资源

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

x
5#
发表于 2009-12-6 21:31:26 | 只看该作者
学习
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-26 00:34 , Processed in 0.080029 second(s), 30 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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