四时宝库

程序员的知识宝库

「ACCESS」窗体录入数据生成两条记录的原由

由于对ACCESS不太熟悉,因此从网上参考不少命令代码,然后活学活用,其中一段代码,每次录入数据都会生成两条同样的记录,让人百思不得其解,不过经反复测试,最终水落石出,具体如下:

一、起因代码

Private Sub C新增_Click()

Dim Db As DAO.Database

Dim Rs As DAO.Recordset

Set Db = CurrentDb()

Set Rs = Db.OpenRecordset("收入明细", dbOpenDynaset)

'新增记录

Rs.AddNew

Rs!日期 = Me!日期

Rs!年份 = Me!年份

Rs!收入项目 = Me!收入项目

Rs!收入账户 = Me!收入账户

Rs!收入金额 = Me!收入金额

Rs!摘要 = Me!摘要

If IsNull(ID) Then

MsgBox "没输入主键"

Else

'更新记录

Rs.Update

MsgBox "新增成功"

End If

End Sub

执行结果:

二、解决方法

第一种方法:文本框已绑定控件来源所致,遂删除以下代码:

Rs.AddNew

Rs!日期 = Me!日期

Rs!年份 = Me!年份

Rs!收入项目 = Me!收入项目

Rs!收入账户 = Me!收入账户

Rs!收入金额 = Me!收入金额

Rs!摘要 = Me!摘要

If IsNull(ID) Then

MsgBox "没输入主键"

Else

'更新记录

Rs.Update

End If

调试后的代码:

Private Sub C新增_Click()

Dim Db As DAO.Database

Dim Rs As DAO.Recordset

Set Db = CurrentDb()

Set Rs = Db.OpenRecordset("收入明细", dbOpenDynaset)

'新增记录

MsgBox "新增成功"

End Sub

第二种方法:文本框取消绑定控件来源。

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言
    友情链接