设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

[Access本身] 怎样使用SETFOCUS使光标进入下一条记录而不是进入下一字段?

[复制链接]
跳转到指定楼层
1#
发表于 2009-2-14 11:27:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
怎样使用SETFOCUS使光标进入下一条记录而不是进入下一字段?

例:
     字段1  字段2  字段3
       A       AA     AB
       B       BB     BC

当光标在"A"上时,按回车键后我希望光标直接跳到"B"上,而不是跳到"AA"上,请问怎样实现?多谢了.(我知道在"工具-选项"里设置可以,但我想用别的方法.)

    (呵呵,新手提的问题,请见笑.)
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅

点击这里给我发消息

2#
发表于 2009-2-14 14:11:02 | 只看该作者
一般只能设置tab是在单条记录 循环,还是在整个表循环.
如果要实现这个功能,必须要在 键盘事件中 写代码,关闭如果是tab ,就模拟 上下键
3#
 楼主| 发表于 2009-2-14 15:08:25 | 只看该作者
请问好心大哥能把这键盘事件的代码写出来吗?非常感谢啊!(如果非常复杂那就不麻烦了)
4#
发表于 2009-2-14 15:26:43 | 只看该作者
当光标在"A"上时,按回车键后我希望光标直接跳到"B"上,而不是跳到"AA"上,

试一下一在"A"所在的这个控件上的keydown或其它事件中对按键判断一下,如果KeyCode=13则DoCmd.GoToRecord acNext, 具体可以查看ACCESS的VBA帮助中的 KeyDown 事件,DoCmd.GoToRecord 方法, 注意把 KeyCode=0清除一下。





******************
*  一切皆有可能  *
******************

.

.
QQ群 48866293 / 12035577 / 7440532 / 13666209
http://forum.csdn.net/BList/OtherDatabase .
http://www.accessbbs.cn/bbs/index.php .
http://www.accessoft.com/bbs/index.asp .
http://www.access-programmers.co.uk/forums .
http://www.office-cn.net .
.
http://www.office-cn.net/home/space.php?uid=141646 .
5#
 楼主| 发表于 2009-2-14 17:24:24 | 只看该作者
弹出一个对话框说"这个操作需要object name 参数."

哎,我真菜呀,不知如何是好.
6#
发表于 2009-2-14 20:39:38 | 只看该作者
sendkeys语句
7#
发表于 2009-2-14 20:43:36 | 只看该作者
模拟上下键
8#
发表于 2009-2-14 23:40:12 | 只看该作者
弹出一个对话框说"这个操作需要object name 参数."

哎,我真菜呀,不知如何是好.
想做NO.1 发表于 2009-2-14 17:24


有在ACCESS的帮助手册中查过 GoToRecord 语法和用法说明吗?!

以下摘自 Microsoft Access 2003 Help
GoToRecord 方法


在 Visual Basic 中,GoToRecord 方法执行 GoToRecord 操作。

expression.GoToRecord(ObjectType, ObjectName, Record, Offset)

expression      必需。返回“应用于”列表中的一个对象的表达式。

ObjectType   可选 AcDataObjectType 型。

AcDataObjectType 可以是下列 AcDataObjectType 常量之一:
acActiveDataObject 默认
acDataForm
acDataFunction
acDataQuery
acDataServerView
acDataStoredProcedure
acDataTable


ObjectName     可选 Variant 型。字符串表达式,表示 objecttype    参数所选类型的对象的有效名称。

Record   可选 AcRecord
AcRecord 可以是下列 AcRecord 常量之一:
acFirst
acGoTo
acLast
acNewRec
acNext 默认
acPrevious 如果将该参数留空,将采用默认常量 (acNext)。


Offset     可选 Variant 型。数值表达式,如果将 record    参数指定为 acNextacPrevious,则该表达式表示向前或向后移动的记录数。如果将 record 参数指定为 acGoTo,则该表达式表示移动到的记录编号。该表达式的值必须在有效记录数范围之中。




Option Compare Database
Option Explicit
Private Sub fd01_KeyDown(KeyCode As Integer, Shift As Integer)
    If KeyCode = 13 Then
        DoCmd.GoToRecord , Me.Name, acNext
        KeyCode = 0
    End If
End Sub




******************
*  一切皆有可能  *
******************

.

.
QQ群 48866293 / 12035577 / 7440532 / 13666209
http://forum.csdn.net/BList/OtherDatabase .
http://www.accessbbs.cn/bbs/index.php .
http://www.accessoft.com/bbs/index.asp .
http://www.access-programmers.co.uk/forums .
http://www.office-cn.net .
.
http://www.office-cn.net/home/space.php?uid=141646 .

本帖子中包含更多资源

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

x
9#
发表于 2009-2-15 00:58:41 | 只看该作者
既然系统本身就有这样的功能,干嘛不用非要去想别的办法呢?如果你只是不想通过菜单来控制,可以在代码中使用SetOption方法来设置:
setOption "Move After Enter", 1    '按Enter键后光标移到下一字段
setOption "Move After Enter", 2    '按Enter键后光标移到下一记录
10#
 楼主| 发表于 2009-2-15 08:46:04 | 只看该作者
结贴!非常感谢大家的热心帮助.

其中特别感谢"ACMAIN_CHM"先生.谢谢先生的帮助!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-1-4 05:45 , Processed in 0.108934 second(s), 35 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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