Свяжите всплывающую форму с мастер-формой - PullRequest
0 голосов
/ 10 ноября 2019

У меня есть непрерывная форма (MasterForm) для ввода данных на основе одной таблицы. Некоторые записи нуждаются в дополнительных данных, которые я хочу ввести в отдельной всплывающей форме (с другой таблицей позади). Эта всплывающая форма (SlaveForm) открывается с помощью события щелчка в MasterForm, которое запускает DoCmd.OpenForm (инструкция vba).

Как «заставить» всплывающую форму (SlaveForm) быть «в строке»”С последней текущей записью MasterForm, по коду VBA, точно так же, как я могу сделать в формате формы / подчиненной формы (но здесь доступ имеет явные инструменты для этого)?

Редактировать: см. Загруженный пример https://gofile.io/?c=VvMfiv (я использую внешнюю ссылку, так как я не смог найти, как я могу это сделать в stackOverflow)

В этом примере давайте предложим, что мы хотим добавить Parsifal Opera Вагнера. После ввода имени Парсифаль вы выбираете «Иметь персонажей». Откроется SlaveForm (символы), где вы хотите написать «Парсифаль» и «Амфортас». Однако я не могу настроить синхронизацию между MasterForm и SlaveForm.

Любое предложение?

Ответы [ 2 ]

0 голосов
/ 11 ноября 2019

После еще нескольких копаний мне удается решить проблему. Событие BeforeInsert в ведомой форме является ключом. Смотрите загруженный файл: https://gofile.io/?c=UxRdM8

В MasterForm есть текстовое поле (которое можно сделать невидимым) с первичным ключом (txtIDWork). После загрузки ведомой формы и до вставки нового регистра в SlaveForm / Table событие BeforeInsert (SlaveForm) гарантирует, что первичный ключ MasterForm (текущего регистра) установлен на внешний ключSlaveForm:

    Private Sub Form_BeforeInsert(Cancel As Integer)
        Me.txtWorkNumber = Forms.frmMaster.txtIDWork
    End Sub

, где txtWorkNumber - текстовое поле, в которое записывается внешний ключ (который может быть задан как невидимый).

0 голосов
/ 11 ноября 2019

пытались ли вы использовать невидимую подчиненную форму, пока она вам не понадобится, затем сделать ее видимой, когда вы хотите ввести данные, а затем снова скрыть ее, как только вы ее заполните?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...