问题描述
当我通过 VBA 向表中添加新记录时,我收到运行时错误“3022”,我检查了记录表并且没有冲突的索引值。代码循环一定次数并在每次循环中添加新记录。它适用于第一个循环,但在第二个循环中失败。奇怪的是,在循环中使用一个断点进行调试时,如果我在循环中缓慢地按 F5,代码运行得很好。如果我走得很快(大约每 0.5 秒一次),它会说我有重复的索引。
Private Sub AddSamples_Click()
Dim DB as DAO.Database
set DB = CurrentDb
Dim ICounter as Integer
Dim rstbl as DAO.Recordset
set rstbl = DB.OpenRecordset("Samples")
ID = MID(Me.WareID,7,3)
IDNumber = CInt(ID) -1 + Me.Samples_Start
For Icounter = Me.Samples_Start to Me.SamplesTotal
NewID=Left(Me.WareID,6) & CStr(IDnumber)
With rstbl
.AddNew
![IEAN] = me.IEAN
![SampleNr] = ICounter
![SampleID] = NewID
.Update
End With
IDnumber = IDnumber + 1
Next
End Sub
SampleID 是索引字段,不幸的是它是一个字符串
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)