Хорошо, когда вы создаете экземпляр формы, вы не можете использовать общий подход предложения where, подобный этому:
Docmd.OpenForm "frmContactSummary",,,"id = " & me!id
Вышеприведенное, конечно, будет работать для открытия одной формы.
Однако в вашем случае вам необходимо:
Создать новый экземпляр формы. Переместить / установить для источника данных формы значение ID. Показать форму
Поэтому нам нужны средства дляпереместите или установите форму для идентификатора строки, по которой мы только что щелкнули.
Итак, сразу после создания формы добавьте следующую строку кода:
Set frm = New Form_frmContactSummary
Frm.RecordSource = "select * from Contacts where id = " & me!id
И остальные вашиследует код.
Непонятно, является ли PK (ключ) таблицы «Контакты» «id» или «ContactID»
Таким образом, ваш код будет:
Frm.RecordSource = "select * from Contacts where id = " & me!id
Or
Frm.RecordSource = "select * from Contacts where Contactid = " & me!ContactID
Просто замените «ContactID» выше на фактический идентификатор PK, используемый в контактах таблицы.«Идентификатор» не имеет ничего общего с коллекцией.Мы просто создаем инструкцию SQL, которая будет тянуть / устанавливать форму в одну строку.Таким образом, единственная информация, требуемая здесь, это то, каково имя PK в вашей форме продолжения, и каково имя PK в вашей frmContactsSummary.(они будут иметь одинаковые имена в обеих формах и поэтому должны быть одинаковыми в выражении sql.