Office中国论坛/Access中国论坛

标题: 如何写代码? [打印本页]

作者: BRCC    时间: 2007-5-12 17:09
标题: 如何写代码?
问题如图片!

1.我的想法是每次打开该窗体时,执行 DoCmd.GoToRecord acDataForm, "XX表", acGoTo, acLast

意为键接到XX表的最后一条记录,为何不行?语法错?

2.保存记录时,执行   

DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70
DoCmd.GoToRecord , , acNext

如何让记录跳到下一条时有选择地进行?

3.有没有好些的网站可以学习ACCESS?

谢谢你的回复!
[attach]24364[/attach]


[此贴子已经被作者于2007-5-12 9:09:59编辑过]


作者: Grant    时间: 2007-5-12 19:10
如是绑定窗体最后一条记录

DoCmd.GoToRecord , , acLast

新记录

DoCmd.GoToRecord , , acNewRec





如何让新记录某字段的默认值为上一记录的同一值。



Dlast函数

只需要字段中的任意一个值时,可以使用 DFirst 和 DLast 函数,从表或查询的特定字段中返回一个随机记录。可以在 Visual Basic、宏、模块、查询表达式或窗体或报表上的计算控件中使用 DFirst 和 DLast 函数。

DFirst(expr, domain, [criteria])
DLast(expr, domain, [criteria])
DFirst 和 DLast 函数具有下列参数:

参数 说明
expr 一个表达式,用于标识从中查找第一个或最后一个值的字段。可以是一个用来标识表或查询中字段的字符串表达式,也可以是以该字段中的数据进行计算的表达式。在 expr 中,可以包括表中字段的名称、窗体上的控件、常量或函数。如果 expr 包括函数,它既可以是内置的,也可以是用户定义的,但不能是另一个域聚合函数或 SQL 聚合函数。
domain 字符串表达式,代表组成域的记录集。
criteria 可选的字符串表达式,用于限制 DFirst 或 DLast 函数执行的数据范围。例如,criteria 通常等价于 SQL 表达式中的 WHERE 子句,只是不含 WHERE 关键字。如果忽略 criteria,DFirst 和 DLast 函数将在整个域范围内计算 expr。任何包含在 criteria 中的字段必须同时也是 domain 中的字段,否则 DFirst 和 Dlast 函数将返回 Null。


说明

注释   如果要返回记录集(一个域)中的第一条或最后一条记录,应该创建一个按升序或降序排序的查询,并将 TopValues 属性设为 1。有关详细信息,请参阅 TopValues 属性主题。也可以从 Visual Basic 中创建 ADO Recordset 对象,并使用 MoveFirst 或 MoveLast 方法来返回记录集内的第一条或最后一条记录。
作者: BRCC    时间: 2007-5-12 20:48
惭愧,ACCESS是个外行,能否给个DLast例子?

对这个没有太多基础.谢谢了!



作者: 谢健    时间: 2007-5-12 21:19
你要的效果是不是这样![attach]24370[/attach]

作者: BRCC    时间: 2007-5-12 21:39
有点类似,你是通过加载的

用的Docmd.gotorecorder,,aclast

这样找开窗体后就自动显示表中的最后一项数据!

我的问题是:

1. 打开窗体时,要求显示键接另一表中的某些内容,如图

2.如果保存时(或跳转下一条记录),窗体里的前两项不变,其它需要输入!


[attach]24376[/attach]

参考附件
[attach]24377[/attach]


[此贴子已经被作者于2007-5-12 13:42:43编辑过]


作者: 谢健    时间: 2007-5-12 21:52
实在看不懂你的意思!最好截取一个其他软件上的功能,有类似的图片,大家都可以帮你!
作者: BRCC    时间: 2007-5-12 22:30
[attach]24381[/attach]

如附件,我的问题附件里有!

谢谢高手!







欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3