Access开发培训
网站公告
·Access专家课堂QQ群号:151711184    ·Access快速开发平台下载地址及教程    ·欢迎加入Access专家课堂微信群!    ·如何快速搜索本站文章|示例|资料    
您的位置: 首页 > 技术文章 > Access开发平台

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

时 间:2020-04-06 10:00:01
作 者:田田   ID:42231  城市:连云港
摘 要: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群 (群号:321554481)       Access源码网店

常见问答:

技术分类:

相关资源:

专栏作家

关于我们 | 服务条款 | 在线投稿 | 友情链接 | 网站统计 | 网站帮助