請問:
on error goto err
cnt.CursorLocation = adUseServer
cnt.Open "provider=microsoft.jet.oledb.4.0;data source=" & App.Path & "\test.mdb"
cnt.BeginTrans '-----------第1層
  cnt.BeginTrans '--------第2層
    cnt.Execute "update tableA set f1=3000"
  cnt.CommitTrans
  
  cnt.Execute "update tableB set f2=500"

cnt.CommitTrans
err:
cnt.RollbackTrans
為何當我第 2 層 CommitTrans 後,tableA 資料還是沒有進去呢?必須要等到 CommitTrans 第 1 層後才會全部進去呢?我需要的功能是,當 tableB 更新成功後才可以更新 tableA , 若是更新到 tableA 失敗後必需連同 tableA , tableB 也一起 RollBackTrans 請問我到底該怎樣作才可以呢?
arrow
arrow
    全站熱搜

    vbqa 發表在 痞客邦 留言(3) 人氣()