Office中国论坛/Access中国论坛

标题: 新增记录触发什么事件 [打印本页]

作者: 浪上飞郑    时间: 2002-9-26 01:16
标题: 新增记录触发什么事件
在窗体中输入新记录,我希望新的记录能自动填入前一记录(或前一页面,我的意思:比如我正在浏览一些记录,发现需要增加一个相似的记录)的某些数据,这样能有效减少输入量,我用的是ACCESS自带的浏览按钮,不知新增记录时触发哪一个事件,当然,有其它方法就更好呢。
这个问题在论坛提出过,但没有满意的答复,希望各位高手出手帮忙,不胜感激。
作者: Youxiaoxue    时间: 2002-9-26 10:31
新增记录时会触发 Before_Insert和After_Insert 事件.
作者: ui    时间: 2002-9-26 14:42
那刪除触发什么事件
作者: 浪上飞郑    时间: 2002-9-26 21:15
谢谢版主,我想我明白你的意思,我试一下。
作者: ollice    时间: 2002-9-27 05:06
Form_BeforeDelConfirm删除前发生
Form_AfterDelConfirm删除后
          Form_Delete删除
作者: 浪上飞郑    时间: 2002-9-27 21:23
各位提出的事件我都试过,不行!无法捕获按新增记录前的数据,只有自己做按钮那。
另外有两个问题:
1)关于文档管理的问题,公司文档成山,OFFICE自己的管理让我头疼,各位高手接招。
2)文件的标识,这文件是谁写的,搞不清楚?!电子签名?陈理先生推荐电子章,用一种类似优盘的东西,你的意见哪?
作者: teddibear    时间: 2002-9-28 12:34
可以在form_current事件中保存bookmark到全局变量, 然后在beforeinsert中通过设置recordsetclone的bookmark来获取数据.
作者: WTM1    时间: 2002-9-28 16:48
建议先定义全局变量,在调用
recordsetclone的bookmark!
作者: 浪上飞郑    时间: 2002-9-28 21:16
我看过clone和bookmark的帮助,不能够完全理解其内容,楼上两位,给几行代码?!
作者: teddibear    时间: 2002-10-1 11:16
Beforeinsert 需要用户按下一个键后才触发,所以用在这里不好. 其实current事件在新增时也触发的,可以通过判断primary key是否为空来辨别新纪录. 例子如下: (假设username是主毽,所有控件与字段同名)
Private Sub Form_Current()
Static bm As Variant
Dim rs As Recordset
Dim fld As Field

If IsNull(Me![username]) Then
    Set rs = Me.RecordsetClone
    rs.Bookmark = bm
    For Each fld In rs.Fields
        If fld.name <> "username" Then
            Me.Controls(fld.name).Value = fld.Value
        End If
    Next fld
Else
    Me![username].SetFocus '这样bookmark才会反映当前纪录,否则是上一纪录
    bm = Me.Recordset.Bookmark
End If
End Sub
作者: 浪上飞郑    时间: 2002-10-11 19:32
我能明白楼上老兄的程序是绝对精彩,方向是绝对正确的,但我在运行时出现错误:
类型不匹配,错误“13”
即使我拷贝帮助里的示例也出现这种情况,why?
作者: WTM1    时间: 2002-10-11 19:35
我也出错了!!
作者: 浪上飞郑    时间: 2002-10-11 21:40
标题: 在northwind示例数据库中又没问题
哎access,哎哎哎哎哎哎哎
但我在northwind示例数据库中又没问题,why?
teddibear老兄的方法是对的,与recordsetclone帮助中的示例相似,代码应该没问题只是………[em04]
[此贴子已经被作者于2002-10-11 13:39:37编辑过]






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