ВЫПУСК
У меня есть две формы:
У меня есть два элемента управления, связанных с этой проблемой:
lstOwners
на frmForms
( несвязанный ) cboOwner
на frmDockRental
( unbound )
Вторая форма (frmDockRental
) открывается с использованием различных списков, расположенных в frmForms
(см. Рисунок).У меня есть один такой список, который приносит мне горе.Это отфильтрованный список контактов, который при двойном щелчке должен открывать frmDockRental
для NEW записи и устанавливать cboOwner
, который не связан, с конкретным элементом в списке.Тот же самый предмет, перечисленный в lstOwners
из frmForms
.
CODE
После долгих раздумий я придумал это - за исключением того, что ничего не происходит вообще.
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 будет лучшим способом для достижения этой цели, но он просто не работает.Ничего не происходит.Без ошибок, просто ничего.
РЕДАКТИРОВАТЬ:
Вот изображение пошаговой отладки.