Access开发平台--新增保存时出错误'-2147217887',索引为“有(无重复)”-田田
Access软件网QQ交流学习群(群号码198465573),欢迎您的加入!
首页 >技术文章> Access开发平台


Access开发平台--新增保存时出错误'-2147217887',索引为“有(无重复)”

发表时间:2020/4/6 10:00:01 评论(0) 浏览(3373)  评论 | 加入收藏 | 复制
   
摘 要:Access开发平台--新增保存时出错误'-2147217887',索引为“有(无重复)”
正 文:

问   题:因为合同编号的不重复性,所以在编辑表时设置索引为“有(无重复)”,但是当在编辑窗体中输入重复值进行保存时,会弹出一个错误提示框,

 

并进入代码调试界面。这种情况对于编程人员来说很正常,但对于使用人员来说就会手忙脚乱,不知所措。


解决办法:

在不改变原有设置的情况下,为避免操作中断,通过在保存按钮代码中加入对合同编号字段的校验来纠正以上问题。

即在如下代码中加入红色代码部分:

Private Sub btnSave_Click()

    On Error GoTo ErrorHandler

    If Not CheckRequired(Me) Then Exit Sub

    If Not CheckTextLength(Me) Then Exit Sub

  If  DCount("*", "tbl_采购合同(订单)", "[tbl_采购合同(订单)]![cghtid]<>'" & Me![cghtid] & "' And [tbl_采购合同(订单)]![htbh]='" & Me![htbh] & "'") > 0 Then

       MsgBox "该合同(订单)编号已存在,请重新编辑", vbInformation

       Exit Sub

    End If


    Dim cnn: Set cnn = CurrentProject.Connection  'ADO.Connection()

   'cnn.BeginTrans

   'Dim blnTransBegin As Boolean: blnTransBegin = True

    上述代码[tbl_采购合同(订单)]![cghtid]<>'" & Me![cghtid] & "'因为可以对已有记录和新纪录进行甄别,所以可以避免在对已有记录进行编辑时,出现提醒对话框。不过此处不必非要用主键字段,也可用其他必填内容的字段作为甄别依据。


效   果:

当输入编号重复时,点击保存按钮,则会弹出如下对话框

 

且原来输入的内容仍然存在,只需对编号进行修正即可。


Access软件网交流QQ群(群号:198465573)
 
 相关文章
【access源码示例】高效无重复自动编码解决方案  【红尘如烟  2011/1/30】
【Access入门】查询无重复,查询唯一值的示例  【麥田  2013/3/8】
利用红尘如烟老师《高效无重复自动编码解决方案》如何实现按日期重新开...  【cspa  2013/7/11】
最简单的《高效无重复自动编码解决方案 》  【litao  2014/10/18】
如何添加、删除表的“索引:有(无重复)”属性?  【杨雪  2015/10/27】
索引和主键的区别  【刘瑜斌  2017/4/6】
由于将在索引、主关键字、或关系中创建重复的值,请求对表的改变没有成...  【李春宝  2019/3/26】
常见问答
技术分类
相关资源
文章搜索
关于作者

田田

文章分类

文章存档

友情链接