powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Публичная функция из модуля формы как событие другой формы
6 сообщений из 6, страница 1 из 1
Публичная функция из модуля формы как событие другой формы
    #39932989
Alexei Gennadevich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день!

Есть главная форма (MainForm) и подчиненная (SubForm). При загрузке главной формы необходимо указать, что на событие OnCurrent подчиненной формы должна срабатывать функция MainFormPF, которая хранится в модуле главной формы. Сейчас это реализовано так:

Private Sub Form_Load() 'MainForm
Me.SubForm.Form.OnCurrent = "=PF()"
End Sub

Public Function MainFormPF()
MsgBox "!"
End Function


В основном модуле хранится хранится функция PF:
Public Function PF()
Call Forms("MainForm").MainFormPF
End Function


Получается, что из главной формы я ссылаюсь на основной модуль, из которого опять ссылаюсь на главную форму. Можно ли сделать так, чтобы еще при загрузке основной формы я сразу ссылался на публичную функцию в ней самой? Пробовал так:

Private Sub Form_Load() 'MainForm
Me.SubForm.Form.OnCurrent = "=Forms('MainForm').MainFormPF"
End Sub


Но возникает ошибка "The expression you entered has an invalid . (dot) or ! operator or invalid parentheses".

Что нужно попавить? Спасибо!
...
Рейтинг: 0 / 0
Публичная функция из модуля формы как событие другой формы
    #39933164
Predeclared
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пользуйте подписку на события:
...
Рейтинг: 0 / 0
Публичная функция из модуля формы как событие другой формы
    #39933176
Alexei Gennadevich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Predeclared,

Супер! Огромное спасибо!
...
Рейтинг: 0 / 0
Публичная функция из модуля формы как событие другой формы
    #39933218
alecko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexei Gennadevich, проще создать Вам в основном модуле объект этой подчиненной формы и работать с ней не выходя из модуля главной.

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
Private Withevents sfrm1 As Form ' в шапке модуля формы

Private Sub formsub()
With Me.Child20
   .BorderStyle = 1
    .SourceObject = "sform"' это форма так называется которая щас подчиненной работает
    Set sfrm1 = .Form
End With


Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
' здесь уже идет форматирование формы, его может и не быть ,если форматируете в конструкторе
Dim strsql$
strsql = "select * from tblActoins Where([idURL]=" & Me!ID & ");"
With sfrm1
.NavigationButtons = False
   .RecordSource = strsql
   .OnCurrent = "[Event Procedure]"
' здесь присвоение - примеры - форма, которая работает подчиненной может быть одна ,а применений куча, причем прям на той же главной форме.
   With .Controls("Combo0")
      .RowSource = "SELECT tblN.ID, tblN.Naim FROM tblN WHERE (((tblN.IDP) IN (1,2))) ORDER BY tblN.IDP, tblN.Vid;"
      .ControlSource = "IDctrl"
       .BoundColumn = 1
       .ColumnCount = 2
       .ListRows = 10
       .ColumnWidths = "0; " & .Width
       .ColumnHeads = False
   End With
.Text2.ControlSource = "qValue"
.Text6.ControlSource = "IDURL": .Text6.DefaultValue = Me!ID 
.Check4.ControlSource = "towork": .Check4.DefaultValue = False
End With
With Me.Child20 ' здесь нужно делать - форма лепит свои связи
    .LinkMasterFields = "[Text35]"
    .LinkChildFields = "IDProcess"
End With
Me.Text40.ControlSource = "=[Child20].[Form]![Text10]"' это про синхронизированные формы
End Sub

...
Рейтинг: 0 / 0
Публичная функция из модуля формы как событие другой формы
    #39936512
raf24
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Alexei Gennadevich,

+
...
Рейтинг: 0 / 0
Публичная функция из модуля формы как событие другой формы
    #39936610
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А что мешает обработать Current самой подчиненной формы?
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Публичная функция из модуля формы как событие другой формы
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]