|
Развернуть макрос в код
|
|||
---|---|---|---|
#18+
Досталась мне база, где всё сделано на макросах. Потихоньку отдельные места, где необходимо, перевожу на код. И вот столкнулся с такой ситуацией. Вызов макроса Код: vbnet 1.
ну сам макрос я в код развернул легко. Там был последовательный вызов 3-х запросов. А вот как заменить вызов макроса на вызов процедуры? Первый параметр - имя макроса, всё понятно второй параметр (необязательный, variant) - RepeatCount, числовое выражение, которое оценивается как целое число, которое является числом выполнений макроса. Ну тут можно организовать цикл вызова процедуры третий параметр (необязательный, variant) - числовое выражение, которое оценивается при каждом запуске макроса. Когда он оценивается как False (0), макрос останавливается. И как это обрабатывать? У меня ("") ------------------------------------------------------------- А ты вложил уже свой кровный рубль в 50-ти миллиардное состояние Билла Гейтса? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2019, 16:35 |
|
Развернуть макрос в код
|
|||
---|---|---|---|
#18+
Joss, Может мастер преобразований макросов в процедуру знает. Правда макрос должен быть сохранен отдельно, а не прям прописан у элемента в форме. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2019, 19:53 |
|
Развернуть макрос в код
|
|||
---|---|---|---|
#18+
JossА вот как заменить вызов макроса на вызов процедуры? переведите процедуру в функцию вместо вызова макроса напишите =myFunction или используйте событие,тогда вызывайте или процедурой call myProcedure(параметры) или все же функцию codeReturn=myFunction(параметры) codeReturn=myFunction(без параметров) ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2019, 20:21 |
|
Развернуть макрос в код
|
|||
---|---|---|---|
#18+
ПЕНСИОНЕРКА, А если дочитать вопрос Joss до конца? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2019, 20:38 |
|
Развернуть макрос в код
|
|||
---|---|---|---|
#18+
ЛапухJoss, Может мастер преобразований макросов в процедуру знает. Правда макрос должен быть сохранен отдельно, а не прям прописан у элемента в форме.Так именно мастер преобразования так и перевёл. Код: vbnet 1.
В исходнике был запуск макроса из макроса. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2019, 21:11 |
|
Развернуть макрос в код
|
|||
---|---|---|---|
#18+
Joss, А почему прям в обработке события не добавить код выполняющий те же действия,что и запрос ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2019, 21:27 |
|
Развернуть макрос в код
|
|||
---|---|---|---|
#18+
sdku, вернее макрос ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2019, 21:28 |
|
Развернуть макрос в код
|
|||
---|---|---|---|
#18+
Jossмакрос я в код развернул легкоТо есть у тебя теперь вместо макроса "ЗаменитьНеактивныхСпонсоров" имеется нечто вроде Public Sub ЗаменитьНеактивныхСпонсоров(param1 As Integer, Param2 As String) ? ну тогда в чём сложности? заменяешь DoCmd.RunMacro на Call ЗаменитьНеактивныхСпонсоров(20, "") , и всё... Или я что-то неверно понимаю? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2019, 07:56 |
|
Развернуть макрос в код
|
|||
---|---|---|---|
#18+
sdkuJoss, А почему прям в обработке события не добавить код выполняющий те же действия,что и запросВ лоб не получается. Облом. Второй параметр запуска макроса - количество запусков. По идее его можно заменить на цикл For ... Next Третий параметр - условие досрочного выхода из цикла. И оно по описанию должно быть числом. А тут пустая строка. Надо дальше рыть доки. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2019, 09:08 |
|
Развернуть макрос в код
|
|||
---|---|---|---|
#18+
AkinaJossмакрос я в код развернул легкоТо есть у тебя теперь вместо макроса "ЗаменитьНеактивныхСпонсоров" имеется нечто вроде Public Sub ЗаменитьНеактивныхСпонсоров(param1 As Integer, Param2 As String) ? ну тогда в чём сложности? заменяешь DoCmd.RunMacro на Call ЗаменитьНеактивныхСпонсоров(20, "") , и всё... Или я что-то неверно понимаю? Неверно. Нет у подпрограммы параметров. 20 - это число запусков макроса. т.е. сколько раз подряд нужно запустить макрос. Ближайший аналог из VBA - цикл For ... Next. А "" - условие досрочного выхода из цикла (я так понял описание). Вот сейчас с этим и разбираюсь. Точнее, пытаюсь разобраться. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2019, 09:14 |
|
Развернуть макрос в код
|
|||
---|---|---|---|
#18+
Joss 20 - это число запусков макроса. т.е. сколько раз подряд нужно запустить макросНу так в процедуре Код: vbnet 1. 2. 3. 4. 5.
JossА "" - условие досрочного выхода из цикла (я так понял описание).Да, это выражение с целым типом результата, которое вычисляется после каждого цикла. Если оно станет нулём, цикл обрывается. Если у тебя оно пустое - можно игнорировать. Иначе придётся извращаться с EVALUATE(). ... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2019, 10:20 |
|
Развернуть макрос в код
|
|||
---|---|---|---|
#18+
Joss, выкинуть всю эту логику и сделать свое. - есть цель - её достигаем нормальными средствами- хоть модуль класса сделать. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2019, 11:53 |
|
Развернуть макрос в код
|
|||
---|---|---|---|
#18+
aleckoJoss, выкинуть всю эту логику и сделать свое. - есть цель - её достигаем нормальными средствами- хоть модуль класса сделать. Так досталась мне эта программа без описания логики. И получить я её никак не могу. Остаётся только самому по кусочкам разбираться. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2019, 12:27 |
|
Развернуть макрос в код
|
|||
---|---|---|---|
#18+
Joss, ''-это думаю параметр, который работает в каком-то другом вызове этого макроса а в этом вызове он не используется давай уж тогда текст макроса, текст процедуры в которой этот макрос сидит- а лучше весь модуль :). я вот щас не очень понимаю почему нельзя сделать что-то даже типа такого Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2019, 12:54 |
|
|
start [/forum/topic.php?fid=45&msg=39796002&tid=1610769]: |
0ms |
get settings: |
7ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
35ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
others: | 11ms |
total: | 138ms |
0 / 0 |