关于数据库中添加重复值的错误捕捉

joeking 2001-05-28 04:52:00
在一个ACCESS的表中,如果限制字段的索引为“有,无重复”可以限制字段输入重复的值,如果用户输入了重复的值,会在绑定的ADODC控件上产生一个错误:Err.Number = -2147467259
现在想在程序中将此错误的显示信息更改,请问诸位:
错误捕捉应该设在什么地方???
...全文
122 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
joeking 2001-06-23
  • 打赏
  • 举报
回复
不是你对,我散分,哈哈,开心行吧?
joeking 2001-06-04
  • 打赏
  • 举报
回复
我想删除这个贴子,怎么做?
funing 2001-06-01
  • 打赏
  • 举报
回复
关注
joeking 2001-06-01
  • 打赏
  • 举报
回复
这个问题我自己解决了,在
If .EditMode = adEditAdd Then
的下面添加一段程序来搜索数据库中相对的字段是否有这个值,如果有就EXIT SUB
BrentIvan 2001-05-28
  • 打赏
  • 举报
回复
Dim bMoveLast As Boolean

On Error Goto ErrHandle
With Me.Adodc1.Recordset
If .EditMode <> adEditNone Then
If .EditMode = adEditAdd Then
bMoveLast = True
Else
bMoveLast = False
End If
End If
.Update***************运行到此句时错误产生
If bMoveLast Then
.MoveLast
Me.Toolbar1.Buttons("新增").Visible = True
Me.Toolbar1.Buttons("编辑").Enabled = True
Else
.Move 0
Me.Toolbar1.Buttons("编辑").Visible = True
Me.Toolbar1.Buttons("新增").Enabled = True
End If
End With

ErrHandle:
Msgbox(Err.Descrption)
joeking 2001-05-28
  • 打赏
  • 举报
回复
代码如下:
Dim bMoveLast As Boolean
With Me.Adodc1.Recordset
If .EditMode <> adEditNone Then
If .EditMode = adEditAdd Then
bMoveLast = True
Else
bMoveLast = False
End If
End If
.Update***************运行到此句时错误产生
If bMoveLast Then
.MoveLast
Me.Toolbar1.Buttons("新增").Visible = True
Me.Toolbar1.Buttons("编辑").Enabled = True
Else
.Move 0
Me.Toolbar1.Buttons("编辑").Visible = True
Me.Toolbar1.Buttons("新增").Enabled = True
End If
End With
问题是不管在此段程序中设置错误捕捉,还是在ADODC的willchangrecord中设置都无法更改错误显示信息。
joeking 2001-05-28
  • 打赏
  • 举报
回复
我试过了,不行,所以才在这里问大家,不好意思是这段代码很长,所以只用了中间一段,程序开始就有
on error goto Err_Toolbar:
问题是首先显示的是程序自己的错误信息,然后才是我的,所以我想怎么改过来。

1,216

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧