使用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'? –