我嘗試運行這段代碼VBA的訪問錯誤91
Public Sub Production_UpdateStatus(ByVal lngProductionId As Long, _
ByVal NewProductionStatus As eProductionStatus)
Dim oDb As DAO.Database
Dim oRst As DAO.Recordset
Dim StrSql As String
Dim strProductionStatus As String
On Error GoTo Err_Infos
GetCurrentProductionStatusString NewProductionStatus, strProductionStatus
Set oDb = CurrentDb
'Mise a jour du staut de production
StrSql = "UPDATE tProduction SET tProduction.Statut= '" & strProductionStatus & "'" _
& " WHERE (tProduction.IdProduction=" & lngProductionId & ");"
oDb.Execute StrSql
'Fermeture des connexions
oRst.Close
oDb.Close
Set oDb = Nothing
Set oRst = Nothing
Exit_currentSub:
Exit Sub
Err_Infos:
MsgBox "Erreur #" & Err.Number & " : " & Err.Description
Resume Exit_currentSub
End Sub
此代碼的工作,但給我的錯誤91.
對象變量或帶塊變量未設置
它生成以下SQL查詢:
UPDATE tProduction SET tProduction.Statut= 'Nouvelle' WHERE (tProduction.IdProduction=2);
當我測試直接查詢時,我沒有任何錯誤。你能幫我消除這個錯誤嗎?
謝謝
什麼錯誤? –
刪除oRst.Close並設置oRst =沒有行。 oRst未初始化並導致錯誤,但您不需要此代碼的oRst。 – RADO
這個錯誤是否發生在'oDb.Execute StrSql'上? VBA中不需要分號,儘管我不認爲這是因爲這裏的原因。 –