VBA中如何写事务
用VBA将Excel中的数据同时导入到3张表中,要求是每条数据要么同时都导入,要么同时都不导入。必须保证3张表的更新步骤一致。想在代码中写个事务,但是不知道该如何写。请指教。
[最优解释]
将代码写到 ThisWorkbook 类模块 的有关事件中:
使用这个事件:
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
'判断一下 Target 是否是所需行列,是则写(复制粘贴,或者读出后写),不是跳过
End Sub
[其他解释]
'参考这个:
private sub command1_click()
on error goto ErrHandle
conn.begintrans '开始事务
conn.execute "insert into ..."
conn.execute "update ..."
conn.execute "delete from ..."
conn.committrans '提交事务
msgbox "操作成功!",vboklnly,"提示"
exit sub
'错误处理
ErrHandle:
conn.rollbacktrans '出错,回滚事务
msgbox "操作失败,错误原因为:" & Err.Description, vbExclamation, "提示"
exit sub
end sub