由于对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
第二种方法:文本框取消绑定控件来源。