Автоматически добавлять новую запись в связанную форму при создании новой записи в главной форме - PullRequest
0 голосов
/ 30 января 2020

Во-первых, этот форум был неоценим для начала работы с Access. Все здесь потрясающие. Я нашел ответы на все вопросы, которые у меня были, но этот вопрос ставит меня в тупик.

У меня есть форма со встроенной внутренней формой. Основная форма предназначена для новых технических случаев («Случаи»), а другая - для планов действий, которые необходимо заполнить в отношении этого случая («Планы действий»). Я хочу настроить форму так, чтобы при первом создании новой записи в Кейсах (или при заполнении какого-либо поля в деле) в планы действий добавлялась новая запись, в которой будет указано, что был открыт новый случай. , В основном просто отслеживание первого действия по делу, которое является установлением самого дела.

Я нашел несколько VB-способов сделать что-то подобное и посмотрел несколько видео, но, похоже, ничто не соответствует моему конкретному сценарию использования c. Я чувствую, что это должно быть просто, но я полностью застрял.

Я открыт для любого рабочего процесса, который проще всего, но я в основном ищу его, чтобы сделать эту первую запись в планах действий, как только новая запись будет создана в случаях. У меня могла бы быть специальная кнопка для создания этой первой записи, что бы ни работало. Есть идеи?

Как выглядит форма

1 Ответ

0 голосов
/ 31 января 2020

Есть несколько способов справиться с этим. Вероятно, самый простой и наиболее адаптируемый из всех, что я нашел, это определить класс с событием Publi c. В моем приложении запустите создание экземпляра этого объекта, затем в методе, который обновляет ваши данные, вызовите это событие и, наконец, во второй форме создайте обработчик событий, который прослушивает это событие, и запустите обновление данных

Public Class AppEvent
Public Event DataUpdate(ByVal eventMessage as String)
'EventMessage Could be used for reporting to end user or flow control.  Use it however or add additional params
End Class

Затем в ApplicationEvents.vb

Dim AppEvents as New AppEvent

Теперь в вашем методе DataUpdate вы можете получить доступ к этому объекту и вызвать событие

My.Application.AppEvents.DataUpdate("Update Message")

Во второй форме я бы объявил локальный член для AppEvents, используя WithEvents и установите его в методе Constructor и добавьте обработчик событий, чтобы обновить sh ваши данные

WithEvents eventlistner as AppEvent
Public Sub New()
   eventListner = My.Application.AppEvents
End Sub

Private Sub DataUpdated() Handles eventListner.DataUpdate
'Do you data refresh here
End sub

Я уверен, что это более простые способы сделать это, используя такие вещи, как INotifiable, но это работает для меня

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