Access 2007 Настройка поля для выбора в диалоге - PullRequest
2 голосов
/ 01 октября 2009

Я хотел бы установить в поле значение, выбранное из сетки в диалоговом окне. Я использую Access 2007.

В WinForms я бы:

  • Создать дочернюю форму
    • создать сетку для данных
    • добавить свойство для выбранного элемента
  • в родительской форме
    • добавить кнопку для открытия формы
    • при успешном результате диалога получить выбранный элемент из свойства
    • обновить объект
    • сохраняется на событии
  • При родительском редактировании
    • установить выбранное значение в дочерней сетке

Возможно ли что-то подобное в формах Access 2007? У меня есть форма Multiple Item с дочерними записями. Могу ли я выбрать один и вернуть его родителю? А с другой стороны, могу ли я выбрать по умолчанию выбранный элемент при редактировании?

Как люди подходят к этому в Access?

1 Ответ

1 голос
/ 01 октября 2009

Вот шаблон, который работает при условии, что дочерняя форма является модальной.

В родительской форме

Private Sub cmdOpenChild_Click()
    DoCmd.OpenForm "ChildDialog", acNormal, , , , acDialog, "Info for child"

    'This line will block further code execution until child form is hidden or closed.  
    MsgBox Forms.Item("ChildDialog").Controls.Item("SomePropertyOrControl").Value

    DoCmd.Close acForm, "ChildDialog"
end sub

В дочерней форме есть кнопка закрытия, которая фактически скрывает форму.

Private Sub cmdClose_Click()
    'hide the form instead of closing it to return control to caller.
    Me.Visible = False
End sub
...