你好,蓝老师!如果多人操作,在执行以下chick代码对另一个表添加数据时,其他人操作有时会导致其它事件代码出错,比如提示超时或者同窗口其它表新增时自动编号失效出现空白,如何避免多人操作时这种情况出现?或者还要没有其它什么办法可以高速的对另一个表添加数据?如果注释暂停SystemReady代码,添加的速度实在让人无法接受!请指教,谢谢!
Dim st As Date = Date.Now
SystemReady = False
Try
'追加数据代码
With Tables(eForm.Name & "_Table3")
If .TopPosition > -1 Then '如果选定区域包括数据行
Tables(eForm.Name & "_Table3").StopRedraw()
Tables(eForm.Name & "_Table4").StopRedraw()
Dim r As Row = .rows(.TopPosition)
For i As Integer = .BottomPosition To .TopPosition Step -1
Dim dr As Row = .rows(i)
Dim r2 As Row = Tables(eForm.Name & "_Table4").AddNew()
For Each c As Col In r2.Table.Cols
If dr.Table.Cols.contains(c.name) Then
r2(c.name)=dr(c.name)
r2("差数")=dr("未派数量")
r2("派工数量")=dr("未派数量")
r2("金额")=dr("金额")
r2("单号")=dr("单号")
End If
Next
dr.delete
Next
Tables(eForm.Name & "_Table3").ResumeRedraw()
Tables(eForm.Name & "_Table4").ResumeRedraw()
End If
End With
Catch ex As Exception
MessageBox.Show("追加数据失败")
End Try
SystemReady = True
MessageBox.Show("耗时: " & (Date.Now - st).TotalSeconds & "秒") '计算并显示执行代码所花费的秒数
[此贴子已经被作者于2020/12/14 9:38:35编辑过]