我有一代號的table,當user輸入進貨存檔時, 會自動根據此代號+1, 產生一個進貨代號, 並update此table的data, 但當多人一起使用時, 若恰巧同時抓取此代號(進貨代號為unique), 稍慢者會出現 "無正在作用的異動", 而該recordset我已設為AdOpenPessimistic(悲觀鎖定), 請問當一user已抓取該table時, 要如何鎖控recordset, 不讓其他人再使用or稍後再抓取?程式如下:
Private Sub Form_Load()
Set cn = New Connection
  cn.ConnectionString = "data source=council;user id=council;password=council"
  cn.CursorLocation = adUseClient     
  cn.Open
  End With
end sub
.....
Private Sub save_click()
....
Set rs_maincod = New Recordset
mainsql = "select main_no from main_cod"
rs_maincod.Open mainsql, cn,adOpenDynamic,adLockPessimistic
mainno = rs_maincod.Fields(0).Value
....
arrow
arrow
    全站熱搜

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