|
вызов процедуры из любого места
|
|||
---|---|---|---|
#18+
Добрый день. У меня есть процедура, которая рассчитывает долг клиента. У неё громоздкий код. Она часто используется. Если её прописывать на каждую кнопку в формах, то она занимает много места. Я слышал, что её можно написать один раз, сохранить как паблик и обращаться к ней из любой формы. Как это сделать? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2018, 16:26 |
|
вызов процедуры из любого места
|
|||
---|---|---|---|
#18+
Создать новый модуль. В нём прописать процедуру/функцию. Обращаться к ней из модуля формы. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2018, 16:32 |
|
вызов процедуры из любого места
|
|||
---|---|---|---|
#18+
TauriЯ слышал, что её можно написать один раз, сохранить как паблик и обращаться к ней из любой формы. код с кнопки можно сохранить как общий, но придется исправлять некоторые имена например: me.summa известна в форме, но неизвестна в общем модуле аналогично и другие переменные ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2018, 16:33 |
|
вызов процедуры из любого места
|
|||
---|---|---|---|
#18+
Akina, Давайте на примере. Допустим есть процедура: Private Sub Кнопка7_Click() Dim dolg As String if .......... Then dolg = "переплата...." elseif.............Then dolg = "аванс......." elseif.............Then dolg = "долг..." и т.д. End if End Sub Как сделать эту процедуру общедоступной? И как к ней обращаться из любой формы (напр. из формы1)? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2018, 16:51 |
|
вызов процедуры из любого места
|
|||
---|---|---|---|
#18+
Tauri, видимо dolg -это имя поля на форме ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2018, 16:54 |
|
вызов процедуры из любого места
|
|||
---|---|---|---|
#18+
Tauri, просмотрела --у вас это просто переменная и не понятно куда она заносится в какое поле или контрол ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2018, 16:56 |
|
вызов процедуры из любого места
|
|||
---|---|---|---|
#18+
ПЕНСИОНЕРКА, значение переменной dolg будет присваиваться разным полям в разных формах или использоваться для выполнения других процедур в разных формах. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2018, 17:04 |
|
вызов процедуры из любого места
|
|||
---|---|---|---|
#18+
Tauri, общий модул Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
в форме для некого поля Код: vbnet 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2018, 17:09 |
|
вызов процедуры из любого места
|
|||
---|---|---|---|
#18+
ПЕНСИОНЕРКА, А какие параметры указывать в функции gf_dolg(параметры)? Если, например, переменная dolg считается так: If DLookup("[долг]", "тдолг", "[klient_id]=" & Me![ПолеСоСписком17]) > 0 Then dolg = "долг " & DLookup("[долг]", "тдолг", "[klient_id]=" & Me![ПолеСоСписком17]) & " руб." ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2018, 17:29 |
|
вызов процедуры из любого места
|
|||
---|---|---|---|
#18+
Если вопрос в том, чтобы на каждую кнопку не создавать по своему обработчику, а вызывать некую функцию, то просто на событии кнопки вместо автоматически генерируемого текста [Event Procedure] можно прописать вызов любой функции: Код: vbnet 1.
В самой функции можно определить, в какой именно форме нажали кнопку: Код: vbnet 1. 2.
И какую именно кнопку нажали: Код: vbnet 1. 2.
Через параметр можно передать что-то специфичное. Только процедура должна быть именно функцией, не Sub ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2018, 18:00 |
|
|
start [/forum/topic.php?fid=45&msg=39631006&tid=1611515]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
47ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
48ms |
get tp. blocked users: |
1ms |
others: | 272ms |
total: | 412ms |
0 / 0 |