|
|
|
Имеет ли смысл пользоваться макросами?
|
|||
|---|---|---|---|
|
#18+
Лично у меня макрос в понимании акцесса ( "макрокоманда: замкнутая инструкция <...> определяющая выполняемые в макросе действия" ) ассоциируется с некием SendKeys'ом. С вытекающим отсюда ворохом ненужных фрикций со стороны акцесса. И с замедлением работы программы... С другой стороны, я часто пользуюсь командой DoCmd: "Методы, определенные для объекта DoCmd (команда), позволяют запускать макрокоманды Microsoft Access из программ Visual Basic. С помощью макрокоманд выполняют такие действия как закрытие окон, открытие форм и задание значений элементов управления. Например, метод OpenForm объекта DoCmd позволяет открыть форму, а метод Hourglass изменить вид указателя на значок Windows «Занято» (песочные часы)." Вопрос: стоит ли овчинка выделки. М.б. имеет смысл используемые команды потихоньку заменять своими аналогами или АПИшными вызовами? Поделитесь, пожалуйста, соображениями. ----------- ЗЫ. Какой-то из антивирус Касперского называет код на VBA "макросами" :) ЗЫЫ. С пятницей всех. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2003, 15:21 |
|
||
|
Имеет ли смысл пользоваться макросами?
|
|||
|---|---|---|---|
|
#18+
> ЗЫ. Какой-то из антивирус Касперского называет код на VBA "макросами" :) Ага, а в ворде - экселе кроме вба ничего и нет тока код вба и называют макросами ;))) может, в А. наоборот ошиблись? ;))) у них макросы макросами называются с пеленок - с младших версий... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2003, 15:36 |
|
||
|
Имеет ли смысл пользоваться макросами?
|
|||
|---|---|---|---|
|
#18+
Если под "макросами" понимать то, что создается во вкладке "макросы" MS Access, то этим, наверное, пользоваться для серьезных целей не надо. Это совсем уж для тех, кто кода VBA как огня боится. А вот Docmd и т.п., по моему, в коде никому не мешают... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2003, 16:02 |
|
||
|
Имеет ли смысл пользоваться макросами?
|
|||
|---|---|---|---|
|
#18+
Полностью поддерживаю Ящериц-Варан (с) Лох ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2003, 16:04 |
|
||
|
Имеет ли смысл пользоваться макросами?
|
|||
|---|---|---|---|
|
#18+
Если я правильно помню, то в макросе можно (кроме таких непременных вещей, как меню 2-го акса и прочая) смоделировать работу оператора. При этом все события форм будут отрабатывать (если в результате работы макроса произойдут соответсвующие изменения в формах) - в отличие например от VBA, который меняет данные в форме, не вызывая "сопутствующих" действий(событий). Это иногда может быть удобно. (Например вы плохо врубились в логику/да и саму предметную область/, но оператор объяснил, что он делает - тогда срочненько пишете макрос, повторяя действия оператора. Ну а там, со временем, разберетесь, "что к чему") Опять же если надо прогнать набор запросов на изменение данных - не обязательно писать эту баланду в код. А в ёкселе были макросы формата ёксель-4! Как счас помню. Еще реализовывал на них "сумму происью" в черт-те каком году. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2003, 16:12 |
|
||
|
Имеет ли смысл пользоваться макросами?
|
|||
|---|---|---|---|
|
#18+
DoCmd - это ведь еще и аналог команд меню. Очень мне тоскливо было по началу метода Copy. Периодически возникает желание вместо DoCmd.Close использовать Unload Me. А потом как в анекдоте - До 35 лет Вы будете страдать от безденежья. - А потом? - А потом привыкнете. А насчет замены своими функциями, не уверен, что будут пахать быстрее и надежнее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2003, 16:25 |
|
||
|
Имеет ли смысл пользоваться макросами?
|
|||
|---|---|---|---|
|
#18+
Если говорить о макросах, как об объектах БД, содержащих одну или несколько макрокоманд, то их применение логично (ИМХО) в случаях: 1. "Autoexec" - хоть и можно заменить стартовой формой, но в некоторых случаях - удобнее; 2. "AutoKeys" - полноценной альтернативы в VBA нет; 3. При настойке импорта/экспорта удобнее сначала создать макрос (например, можно выбрать спецификацию из списка), а затем преобразовать в процедуру. Что касается DoCmd, то: Некоторым макрокомандам нет (или я не знаю) альтернативы. Например, как еще можно открыть форму/отчет в режиме конструктора? Некоторые команды слишком куцые, и их есть смысл заменить процедурами на основе API функций. Например, DoCmd.MoveSize работает с активным окном, или окном, из модуля которого она вызывается. API функция, хоть и посложнее, но может работать с любым окном. DoCmd.RunSQL аж просится, чтоб ее заменили на CurrentDB.Exequte. Проблемы со ссылками на элементы форм, возникающие при этом, тоже решаемы. Ну а сочинять замену для "Hourglass" или "Beep", это уже "архитектурные излишества", хотя если есть время и желание... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2003, 16:30 |
|
||
|
Имеет ли смысл пользоваться макросами?
|
|||
|---|---|---|---|
|
#18+
Кстати, а при чем тут Beep? Она ж сама по себе есть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2003, 16:32 |
|
||
|
Имеет ли смысл пользоваться макросами?
|
|||
|---|---|---|---|
|
#18+
Например API "MessageBeep" может при удалении записи исполнить известное соло на водобачковом инструменте, а "PlaySound" - исполнить "Полонез Огинского" из указанного файла. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2003, 17:02 |
|
||
|
Имеет ли смысл пользоваться макросами?
|
|||
|---|---|---|---|
|
#18+
А саму менюшку вы как делаете? Я лично делаю ее при помощи макросов. Да и макрос Autoxec очень полезная Штучка. На мой взгляд макросы упрощяют жизнь программиста, но при этом усложняют жизнь процессору. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2003, 17:08 |
|
||
|
Имеет ли смысл пользоваться макросами?
|
|||
|---|---|---|---|
|
#18+
Начиная с А97 для операций с менюшками и панелями инструментов рекомендуется использовать объект Application.CommandBars. А для выполнения команды меню - Command "Константа". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2003, 17:14 |
|
||
|
Имеет ли смысл пользоваться макросами?
|
|||
|---|---|---|---|
|
#18+
Макросы, макросы.... DoCmd это еще фигня (хоть в VBA вставляешь как код и работаешь с ним как с функцией высокого уровня), а вот у меня сестра вчера добила, пристала со своей базой Access, на базе которой им в институте (бывший институ связи, ща называется университет чего там...) читают курс по базам данных. Так вот им препод парит (и даже методички написаны) про использования в Access МАКРОСОВ - настоящих макросов, которые из пред. версий оставили для удобства пользователей, боявшихся VBA. Вот это я вам скажу полный капец. Вся база работает на макросах, которые открывают формы, фильтруют, проверяют - полчаса с ней искали ошибку в одном из макросов, который не работал из-за переименования поля в таблице... в результате нашли кучу ошибок, макрос себе работает в тихую и молчком: должен выделить объект в соотв. форме, имя формы забыли написать - макрос даже и не пикнул а спокойно передал фокус той форме, которая была, т.к. нужная форма обычно и оставалась всегда открытой, то к ней фокус и возращался, так бы этот макрос и работал дальше с ошибками.... вообщем полный капец, ни остановку не сделать, ни переменные толком не проверить, че-то там намутит и готово, взятки гладки - я конечно чуть не офонорел, когда узнал что в институте по Access'у вместо DAO или ADO, препод их макросами грузит, вот это кадр... P.S. кстати на счет касперского. Хотел запустить мастер создания формы, так Касперский его сразу глушит, закрывает в момент, я сначала даже не понял: нажал на кнопку, а ничего нет, еще раз нажал, опять ничего нет, смотрю только в углу иконка касперского красным цветом налилась.... приколист однако, неаа правильно люди говорят, что касперский в виндах, это еще куча непонятных глюков в придачу к глюкам самой винды ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2003, 17:25 |
|
||
|
Имеет ли смысл пользоваться макросами?
|
|||
|---|---|---|---|
|
#18+
правильно люди говорят, что касперский в виндах, это еще куча непонятных глюков в придачу к глюкам самой винды хорошо сказано!!!!!!!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2003, 18:18 |
|
||
|
Имеет ли смысл пользоваться макросами?
|
|||
|---|---|---|---|
|
#18+
Точно помню, что или в хелпе 2000 или ХР асеса вычитал, что макросы были необходимостью в ранних версиях, а теперь типа "плохо" их применять при таких возможностях VBA. Мол, вы программисты или кто... раз лазаете в хелп. И еще там было сказано, что все что могут макросы можно сделать в модуле: это позволит вам ... и т.п. и т.д. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2003, 19:15 |
|
||
|
Имеет ли смысл пользоваться макросами?
|
|||
|---|---|---|---|
|
#18+
все что могут макросы можно сделать в модуле Это вряд-ли. Я, например, действительно не знаю, как, не используя DoCmd (те же макросы, вид в профиль) открыть форму в конструкторе... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.09.2003, 01:31 |
|
||
|
Имеет ли смысл пользоваться макросами?
|
|||
|---|---|---|---|
|
#18+
Не надо "не используя DoCmd". Эти "макросы в профиль" отличаются от "макросов в лицо" тем, что позволяют поставить On Error, пройти по коду при помощи F8 и т.д. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.09.2003, 03:00 |
|
||
|
Имеет ли смысл пользоваться макросами?
|
|||
|---|---|---|---|
|
#18+
Лично я всегда расценивал DoCmd как БИБЛИОТЕКУ управления Аксесом (и не только) от Аксеса, а не как МАКРОСЫ, поэтому отношусь к ней спокойно... Да и к макросам я тоже отношусь спокойно, ибо даже не знаю как ими и пользоваться то :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.09.2003, 10:41 |
|
||
|
Имеет ли смысл пользоваться макросами?
|
|||
|---|---|---|---|
|
#18+
>> не используя DoCmd (те же макросы, вид в профиль) открыть форму в конструкторе... Саныч! Ну просто не заметил навена ... Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.09.2003, 23:04 |
|
||
|
Имеет ли смысл пользоваться макросами?
|
|||
|---|---|---|---|
|
#18+
Чего я не заметил? Эта команда делает требуемое с использованием DoCmd. Geo спросил, как сделать не используя. Я ответил, что это не нужно. И чего я не заметил? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2003, 00:06 |
|
||
|
Имеет ли смысл пользоваться макросами?
|
|||
|---|---|---|---|
|
#18+
>правильно люди говорят, что касперский в виндах, это еще куча непонятных глюков в придачу к глюкам самой винды А кто скажет как DrWeb? Тоже пакостит или лучше? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2003, 11:17 |
|
||
|
Имеет ли смысл пользоваться макросами?
|
|||
|---|---|---|---|
|
#18+
За дрВебом лично я такого не замечал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2003, 14:59 |
|
||
|
Имеет ли смысл пользоваться макросами?
|
|||
|---|---|---|---|
|
#18+
У DrWeb есть примочка Spider, с ней тоже (иногда) глючит Access. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2003, 15:11 |
|
||
|
Имеет ли смысл пользоваться макросами?
|
|||
|---|---|---|---|
|
#18+
У меня как друг запустил для хохмы на своем компе одновременно DrWeb со спайдером и полный пакет Касперского - через 30 мин. загрузка процессора достигла 100%(других запущенных прог не было), а еще через полчаса комп намертво завис... :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2003, 15:28 |
|
||
|
Имеет ли смысл пользоваться макросами?
|
|||
|---|---|---|---|
|
#18+
За самим Web'ом не замечалось, Spider не сильно, SpiderMail - тот чаще выеживается. А уж если в ящике пара мегабайт лежит - по модему совсем скушно становится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2003, 15:35 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32270510&tid=1679234]: |
0ms |
get settings: |
6ms |
get forum list: |
9ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
165ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
| others: | 204ms |
| total: | 443ms |

| 0 / 0 |
