новый для доступа.
Вот макет формы: https://i.imgur.com/LVZrs9U.png
Вы можете видеть, что на каждой вкладке есть 1 главная страница проекта с 6 различными подчиненными формами (подчиненная форма 2-7), каждая со своей таблицей.
Они связаны по номеру проекта (первичный ключ) и номеру запроса.
Основная цель этой формы - записать информацию для конкретного проекта (номер проекта: уникальный) в течение многих совещаний (номер запроса: начинается с 1).
Например, я хочу записать важную информацию о проекте 101, и это четвертое заседание, которое мы проводим по этому поводу.
Некоторые из подчиненных форм могут иметь много разных записей. Например, клиент может говорить об 11 различных новых источниках данных, и поэтому для проекта 101, запрос: 4, будет 11 записей для табуляции / подчиненной формы 5.
Я хочу, чтобы, когда пользователь вводит номер проекта и номер запроса, он извлекает существующие записи для них.
Я использовал этот трюк со списком для главной страницы управления проектом (https://www.youtube.com/watch?v=rSPS24EfijI),, но он не будет работать с вкладками / подчиненными формами 2-7.
Поэтому я подумал об использовании следующего руководства от Microsoft:
https://support.office.com/en-us/article/locate-specific-records-in-a-database-e186238d-e4d7-4918-92a0-1236661c6f58
https://docs.microsoft.com/en-us/office/vba/api/access.form.filter(property)
Лучше ли это делать на уровне главной страницы:
Private Sub RequestNumber_AfterUpdate()
Page2.Filter = "ProjectNumber = 'Me.ProjectNumber.Value'"
Page2.Filter = "RequestNumber = 'Me.RequestNumber.Value'"
Page3.Filter = "ProjectNumber = 'Me.ProjectNumber.Value'"
Page3.Filter = "RequestNumber = 'Me.RequestNumber.Value'"
Page4.Filter = "ProjectNumber = 'Me.ProjectNumber.Value'"
Page4.Filter = "RequestNumber = 'Me.RequestNumber.Value'"
Page5.Filter = "ProjectNumber = 'Me.ProjectNumber.Value'"
Page5.Filter = "RequestNumber = 'Me.RequestNumber.Value'"
Page6.Filter = "ProjectNumber = 'Me.ProjectNumber.Value'"
Page6.Filter = "RequestNumber = 'Me.RequestNumber.Value'"
Page7.Filter = "ProjectNumber = 'Me.ProjectNumber.Value'"
Page7.Filter = "RequestNumber = 'Me.RequestNumber.Value'"
Page2.FilterOn = True
Page3.FilterOn = True
Page4.FilterOn = True
Page5.FilterOn = True
Page6.FilterOn = True
Page7.FilterOn = True
End Sub
Или на уровне подчиненной формы?
Private Sub ProjectNumber_BeforeUpdate(Cancel As Integer)
Me.Filter = "ProjectNumber = 'Me.ProjectNumber.Value'"
Me.Filter = "RequestNumber = 'Me.RequestNumber.Value'"
Me.FilterOn = True
End Sub
Оба варианта не работали, ничего не менялось. Должен ли я назвать имя формы? Контроль вкладок? Страница вкладки?
Кроме того, не имеет значения, звоню ли я по номеру проекта / запроса в основной форме или подчиненных формах, потому что они все связаны друг с другом, верно? Ака, все, что я положил в основную форму, каскадно переходит к подчиненным.
Спасибо.