Private Sub OccurrenceName_AfterUpdate()
If OccurrenceName.Value = "Other" Then
Dim strTechID As String
Dim strOccurrenceCt As String
Dim strOccurrenceDate As String
strTechID = Me.Parent.tbxTechID.Value
strOccurrenceCt = Forms![frmEmployeeOccurrenceInput]![tbxOccurrence].Value
strOccurrenceDate = Me.OccurrenceDate.Value
Dim strOpenArgs As String
strOpenArgs = strTechID & "|" & strOccurrenceCt & "|" & strOccurrenceDate
DoCmd.OpenForm "frmOtherOccurrence", , , , , , strOpenArgs
Else
Me.OccurrenceAmt = Me.OccurrenceName.Column(1)
Me.Type = Me.OccurrenceName.Column(2)
End If
End Sub每次运行时,我都会得到一个错误代码为2501的“打开表单操作被取消”。它捕捉到的线路是DoCmd.OpenForm调用。调试不会提供额外的信息。
下面是将OpenArgs传递到的位置:
Private Sub Form_Load()
Dim aryOA As Variant
aryOA = Split(Me.OpenArgs, "|")
Me.lblTechID.Caption = aryOA(0)
Me.lblOccurrenceCt.Caption = aryOA(1)
Me.lblOccurrenceDate.Caption = aryOA(2)
End Sub发布于 2012-09-20 14:30:24
我不知道这是不是你的问题,但是你不能将OpenArgs传递给一个打开的表单,我的意思是它甚至不能处于编辑模式,应该完全关闭。
否则,表单将打开(将其状态从编辑模式更改为normal),但不会传递任何OpenArgs,因此OpenArgs将为null并抛出异常。
https://stackoverflow.com/questions/12204147
复制相似问题