Скажем, у вас есть форма с именем frmMain.Эта форма включает два поля в своем источнике записей: FigureID;и Figure_name.Форма также включает элемент управления текстового поля с именем txtFigureID, который связан с полем источника записи FigureID.
frmMain также содержит элемент управления подчиненной формы, основанный на форме с именем frmSub.Источник записи для frmSub также включает поля FigureID и Figure_name.Свойство master / child поля ссылки подчиненного элемента имеет имя Figure_name.Поэтому frmSub будет отображать все строки, где Figure_name совпадает с соответствующим значением в текущей записи frmMain.
Теперь, если вы хотите, чтобы frmSub исключил конкретную запись (определяемую уникальным значением FigureID), которая является текущей записью в frmMain, добавьте предложение WHERE в запрос источника записи frmSub:
WHERE FigureID <> Forms!frmMain!txtFigureID
Я только догадываюсь здесь, но надеюсь, что описание достаточно близко к вашей реальной ситуации, чтобы быть полезным.Если нет, покажите нам SQL, который вы используете в качестве источника записи для вашей подчиненной формы.
Редактировать : Запрос параметров вы получаете только при первом открытии frmMain.После этого вы можете перемещаться между записями в frmMain, и frmSub показывает вам только те записи, которые вы хотите видеть ... без повторного запроса значения параметра.
Причина, по которой это происходит, заключается в том, что подчиненная форма загружает до своей родительской формы ... поэтому элемент управления в родительской форме недоступен при загрузке подчиненной формы.
Iдумаю, что лекарством может быть сохранение подчиненной формы без условия WHERE в ее источнике записей.Затем, когда загружается основная форма, она может переписать источник записи подчиненной формы, включив условие WHERE.
Итак, в событии загрузки frmMain:
Private Sub Form_Load()
Dim strSql As String
strSql = "SELECT FigureID, Figure_name FROM YourTable" & vbCrLf & _
"WHERE FigureID <> Forms!frmMain!txtFigureID"
Debug.Print strSql
Me.subformControlName.Form.RecordSource = strSql
End Sub
Следите за subformControlName .Это контроль, а не форма.Элемент управления подчиненной формы может иметь то же имя, что и форма, которую он содержит.Но это может быть другое имя.