问题
我有两种形式:
frmForms
frmDockRental
我有两个与此问题相关的控件:
lstOwners
开frmForms
(未绑定)cboOwner
开frmDockRental
(未绑定)
第二种形式 ( frmDockRental
) 使用位于frmForms
(参见图片) 上的不同列表框打开。我有一个这样的列表框让我很伤心。这是一个过滤的联系人列表,双击它应该打开frmDockRental
一个新记录,并将cboOwner
未绑定的设置为列表中的特定项目。lstOwners
从中列出的相同项目frmForms
。
代码
经过大量的摆弄,我想出了这个 - 除了什么都没有发生。
Private Sub lstOwners_DblClick(Cancel As Integer)
On Error GoTo lstOwners_DblClick_Err
On Error Resume Next
If (Form.Dirty) Then
DoCmd.RunCommand acCmdSaveRecord
End If
If (MacroError.Number <> 0) Then
Beep
MsgBox MacroError.Description, vbOKOnly, ""
Exit Sub
End If
On Error GoTo 0
Exit Sub
DoCmd.OpenForm "frmDockRental", acNormal, "", "", acFormAdd, acDialog, Me.lstOwners
DoCmd.Close acForm, Me.Name
lstOwners_DblClick_Exit:
Exit Sub
lstOwners_DblClick_Err:
MsgBox Error$
Resume lstOwners_DblClick_Exit
End Sub
然后frmDockRental
,这个:
Private Sub Form_Load()
On Error GoTo Form_Load_Err
DoCmd.MoveSize , , 5.3 * 1440, 5.2 * 1440
' If (IsNull(OpenArgs)) Then
' Exit Sub
' End If
If Me.OpenArgs <> vbNullString Then
Me.cboOwner = Me.OpenArgs
End If
If (Not IsNull(OpenArgs)) Then
DoCmd.GoToRecord , "", acNewRec
End If
Form_Load_Exit:
Exit Sub
Form_Load_Err:
MsgBox Error$
Resume Form_Load_Exit
End Sub
我认为 OpenArgs 将是完成此任务的最佳方法,但它不起作用。什么都没有发生。没有错误,什么都没有。
编辑:
这是一步调试的图像。