2012-04-18 65 views
1

當我嘗試執行程序時,出現如「當對象打開時不允許操作」的錯誤。我正在使用vb 6.0和Microsoft Access數據庫。這裏是源代碼「當對象打開時不允許操作」

Private Sub cmdDelete_Click() 
     dtaOverhead.Recordset.Open "Delete from variable where SWACTFM= " & txtEntry(0).Text & " And SWBUDACT = " & txtEntry(1).Text & " And SWREMFM = '" & txtEntry(12).Text & "' And SWACTRAW = " & txtEntry(2).Text & " And SWBUDRAW = " & txtEntry(3).Text & " And SWREMRAW = '" & txtEntry(13).Text & "' And SWACTWHS = " & txtEntry(4).Text & " And SWBUDWHS = " & txtEntry(5).Text & " And SWREMWHS = '" & txtEntry(14).Text & "' And SWACTLAB = " & txtEntry(6).Text & " And SWBUDLAB = " & txtEntry(7).Text & " And SWREMLAB = '" & txtEntry(15).Text & "' And SWACTWORK = " & txtEntry(8).Text & " And SWBUDWORK = " & txtEntry(9).Text & " And SWREMWORK = '" & txtEntry(16).Text & "' And SWACTTOTAL = " & txtEntry(10).Text & " And SWBUDTOTAL = " & txtEntry(11).Text & " And SWREMTOTAL = '" & txtEntry(17).Text & "'" 
     MsgBox "Record deleted successfully !", vbInformation, "Deletion Successful" 
     Call Filllist 
     Call clearall 
     cmdSave.Caption = "&Save" 

End Sub 
+2

請始終使用'{}'按鈕格式化您的代碼。哪一行失敗?您正在調用兩個過程,如果其中一個過程中的代碼失敗,請發佈該過程的代碼。您可以使用F9設置斷點。使用F8遍歷代碼並找到失敗的行。 – Fionnuala 2012-04-18 09:32:45

+0

對不起,你能解釋一下我認爲我有的那個 – user692495 2012-04-18 09:41:49

+1

的細節。你不明白哪部分? – Fionnuala 2012-04-18 09:58:07

回答

4

你不能打開一個記錄兩次(呃,不,無論如何之間關閉它)。

A DELETE通常使用Connection.ExecuteCommand.Execute而不是Recordset.Open來完成。

+0

我認爲dtaOverhead是一個DAO控件。你指的是ADO。但是在執行下一個查詢之前關閉記錄集是正確的。 – Martin 2012-04-18 12:58:26

+0

可怕的想法,但那麼通過使用數據控件的記錄集(無論是ADO還是DAO)來做類似DELETE的事情。 – Bob77 2012-04-19 11:28:07

相關問題