Я форма, которая содержит подчиненную форму, которая перечисляет несколько записей в виде таблицы данных.В подчиненной форме есть флажок типа столбца под названием «Выбрать».(имя элемента управления chk_select).
Этот столбец используется для выбора записей, которые они хотели бы открыть в отдельной форме.После проверки того, какие записи они хотели бы открыть, установив флажки, кнопка открывает отдельную форму сведений для записей, где столбец «Выбор» = Истина.
Моя проблема в том, что, если фокус не находится на строке в таблице данных, где установлен флажок, Access не может открыть форму сведений.
Например, я бы поставил флажок, чтобы выбрать запись, которую хотел открыть, затем щелкнул по другой строке, где флажок не установлен, и попытался открыть форму сведений, но Access, похоже, неувидеть, что есть выбранные записи.Но если я переместлю курсор на любую строку, где установлен флажок, то форма сведений откроется просто для всех записей, где установлен флажок.
Мой текущий обходной путь - это отобразить окно сообщения, чтобы попытаться заставить пользователя переместить курсор на строку, где установлен флажок.Но я бы хотел сделать это автоматически перед открытием другой формы, чтобы избежать путаницы для пользователя.
Поэтому мне нужен способ использовать SetFocus для элемента управления подчиненной формы, где флажок = True, прежде чем открывать форму сведений.
Есть ли способ сделать это или обходной путь?
Вот что у меня так далеко.
Спасибо.
Private Sub btn_open_estimate2_Click()
If Forms![View Estimates]![TblEstimates subform]![chk_select] = True Then
'Forms![View Estimates]![TblEstimates subform]![chk_select].SetFocus ***Need something similar to Where [chk_select]=True
DoCmd.OpenForm "Edit Estimate", , , "TblEstimates.select = True"
DoCmd.Close acForm, "View Estimates", acSaveYes
Else
MsgBox "Please select an Estimate to open, or " & _
"move the cursor to a selected Estimate to be able to open it", VbMsgBoxStyle.vbExclamation, "No Estimate Selected"
End If
End Sub