使用Access 2010,我有一個表格Purchase_Orders
其中status
取決於子表單中的Items
是否已發送,並且它也受日期的影響。保存記錄時,爲什麼會出現運行時錯誤「2759」?訪問2010
Private Sub Form_AfterUpdate()
Dim rs As Recordset
Dim db As Database
Dim var_Delivered As String
var_Delivered = "SELECT Count(*) AS d_Count" & _
" FROM Items" & _
" WHERE PO_ID =" & Me.PO_ID.Value & _
" AND Supplier_Dnote_ID IS Null" & _
" AND Delivered_Without_Dnote =0;"
Set db = CurrentDb
Set rs = db.OpenRecordset(var_Delivered, dbOpenDynaset)
'MsgBox rs!d_Count
If rs!d_Count > 0 Then
If Me.Supply_date < Date Then
Me.Status = "Overdue"
Else
Me.Status = "Submitted"
End If
Else
Me.Status = "Delivered"
End If
db.Close
Set db = Nothing
Set rs = Nothing
End Sub
這將運行Purchase_Orders
的after_update。我有一個save_close
按鈕,使用下面的代碼,並且不返回一個錯誤:
If Me.Dirty = True Then
DoCmd.Close acForm, "Purchase_Orders", acSaveYes
Else
DoCmd.Close acForm, "Purchase_Orders", acSaveNo
End If
不過,我也有一個Save
按鈕不關閉窗體。這是我得到運行時錯誤2759:您試圖調用對象的方法失敗。調試突出顯示saverecord行。
Private Sub SaveOnlyBtn_Click()
If Me.Dirty = True Then
docmd.RunCommand acCmdSaveRecord
End If
End Sub
如果我對狀態碼發表評論並使用保存按鈕,該記錄可以很好地保存而不會出現任何錯誤。爲什麼我會得到這個錯誤?我完全難住,搜索網上的錯誤也沒有幫助我。
嘗試'Me.Dirty = False'而不是'docmd.RunCommand acCmdSaveRecord'。這有幫助嗎? –
我試過這個,我得到了一個不同的錯誤。我認爲這是運行時錯誤57097. – LiamH
您的表單是否將'Purchase_Orders'綁定到一個表,如果是,那麼綁定到該表中某個字段的字段'status'? –