Форум программистов, компьютерный форум, киберфорум
Microsoft Access
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.90/20: Рейтинг темы: голосов - 20, средняя оценка - 4.90
1 / 1 / 0
Регистрация: 03.03.2010
Сообщений: 53

Макросы

26.05.2010, 16:50. Показов 4164. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Подскажите как лучше размещать макросы? в 2007 аксесе
Либо создавать макрос отдельно, а потом задавать имя макроса на кнопку (свойства страницы - события - нажатие кнопки).
Либо же сразу в строке "нажатия кнопки" прописывать макрос.
В первом варианте получится большое количество макросов отображаемых в панели переходов. Во втором случае на каждый элемент будет задан макрос, и в случае многократного использования (допустим кнопка закрытия) будет расти объем программы. По моему мнению это и повлияет на быстродействие.
Надеюсь смог понятно изложить. Как лучше поступать?

Пы.Сы.
Изучаю Аксес недавно, читаю книги и поэтому некоторые моменты нужны для обсуждения, а знакомых с кем можно это обсудить нет. Надеюсь на Вашу поддержку.

С ув. Юрий
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
26.05.2010, 16:50
Ответы с готовыми решениями:

макросы
Скажите пожалуйста как убрать вопросы (несколько штук) которые появляются для подтверждения запуска макроса? ну очень нужно знать как это...

Макросы
Открытие макроса с помощью комбинации клавиш(autoKeys) в Аксес 2010. В интернете только для 2003 и 2007 демонстрируется.

Макросы
Как изменить значение поля на форме с помощью макроса. Например, Умножить его значение на 2 или на значение другого поля. Я пробую, но...

12
 Аватар для ironegg
1905 / 782 / 31
Регистрация: 11.02.2010
Сообщений: 1,567
26.05.2010, 17:32
я так думаю, макросы в Access нужны, в основном, для обратной совместимости. начиная с версии 2000 Access имеет полную поддержку VBA, который позволяет все то, что позволяют макросы и еще много-много другого. так что осваивай VBA. это гораздо легче чем освоить макросы и возможностей, в первую очередь по отладке, несравненно больше. (между прочим, макросы Access можно сконвертировать в код VBA)
по существу вопроса: повторное использование кода это всегда хорошо. дело даже не в размере и быстродействии. чем меньше макросов, тем проще вносить изменения, проще ориентироваться в структуре приложения БД
1
1 / 1 / 0
Регистрация: 03.03.2010
Сообщений: 53
27.05.2010, 08:33  [ТС]
Спасибо, про то что можно макросы конвертировать в код VBA знаю, еще просто не дошел до того раздела в книге . При небольшой дискуссии принял вывод что лучше от макросов вообще избавляться, либо использовать их как можно меньше.
0
 Аватар для diam
846 / 84 / 7
Регистрация: 06.12.2009
Сообщений: 345
27.05.2010, 09:41
Цитата Сообщение от Uretz Посмотреть сообщение
Спасибо, про то что можно макросы конвертировать в код VBA знаю, еще просто не дошел до того раздела в книге . При небольшой дискуссии принял вывод что лучше от макросов вообще избавляться, либо использовать их как можно меньше.
Вставлю свои пять копеек. Макросы лучше не пользовать вообще. Код VBA проще в отладке. На событие ты можешь повесить выполнение глобальной функции так же как и макрос, т.е. указать =имяфункции(). А можешь и через код VBA.
1
1 / 1 / 0
Регистрация: 03.03.2010
Сообщений: 53
27.05.2010, 10:17  [ТС]
Понял, буду пересматривать все внедренные макросы, и переводить их в ВБА. Спасибо всем.
0
1 / 1 / 0
Регистрация: 03.03.2010
Сообщений: 53
28.05.2010, 10:00  [ТС]
Еще один вопрос по поводу макроса и кода ВБА.
На кнопках для открытия формы, отчета и др. Что лучше использовать? Внедренный макрос либо код ВБА. И как это может повлиять на создаваемое приложение? (быстродействие, либо меньший размер приложения).
0
 Аватар для diam
846 / 84 / 7
Регистрация: 06.12.2009
Сообщений: 345
28.05.2010, 10:08
Цитата Сообщение от diam Посмотреть сообщение
Макросы лучше не пользовать вообще
ВСЕ что могут макросы (кроме AutoKeys) может и VBA.
У тебя может быть удачный опыт их использования, но все же работать с ними - оч. неудобно, хотябы визуально (в ВБА ты видишь сразу большой кусок кода и тебе понятно что зачем делается, а в макросе - тыкаешь на строчки и поди пойми какие аргументы у следующей команды). Крайне редко приходится пользоваться макросом AutoKeys - назначение клавишам действий, распротраняющееся на все приложение.
Обычно макросами ЗАСТАВЛЯЮТ пользоваться студентов (наверное преподы, которые сами не знают VBA, а изучать/объяснять лень, ИМХО)
1
1 / 1 / 0
Регистрация: 03.03.2010
Сообщений: 53
28.05.2010, 10:18  [ТС]
Понял, спасибо.
Пошел преобразовывать все макросы в ВБА
0
 Аватар для Cancer
1 / 1 / 0
Регистрация: 16.03.2010
Сообщений: 17
27.07.2010, 12:29
Доброго всем времени суток.
Ежели не там размещаю свой вопрос, то не судите строго. Ежели не достаточно грамотно пользуюсь поиском, тоже звиняйте.
Вопрос у меня такой. Существует отчет в налоговую "Книга доходов и расходов". Ранее я забивал туда данные о "провОдках" и печатал все либо поквартально, либо весь год. С возможностью выбора любого периода. Сейчас необходимо сдавать этот отчет с разбивкой данных поквартально. Вот тут и возникла проблема. Я создал 5 листов (отчетов): титульный и 4 квартала. Причем во втором квартале должна быть информация о сумме расходов/доходов за квартал и тут же присутствовать сумма за полугодие. В третьем, соответственно: сумма за квартал и сумма за 9 месяцев. В последнем квартал-год.
Мучился, мучился, получилось. Криво, косо, но получилось. Однако. При отсутствии данных, например за второй квартал, в запросе для отчета ничего нет и в отчете данные о квартале отсутствуют (ну это ладно, там и так нуль), но нет и данных за полугодие! Которые посчитаны прекрасненько в результирующем запросе.
Вообщем, если хоть одна строчка есть в каждом квартале, все хорошо, ежели хоть один пустой, то косяк получается. Надеюсь объяснил понятно.
Полез разбираться с макросами. Списки с результатами отчета у меня в форме присутствуют. И если на них на все покликать, то легко их можно использовать в полях отчета, то есть в отчете делать прямые ссылки на поля в форме. Но там 18 значений и это не то чтобы не удобно, но явно топорная работа.
В макросе добился перехода на один из списков, попросил выбрать первое значение (ибо оно там и так одно). А как кликнуть на нем, я не знаю. При дальнейших исследованиях выяснилось, что можно кликнуть клавишей вниз и пункт выберется и соответственно запишется в нужную ячейку. Пытался разобраться в КомандыКлавиатуры, но я не знаю, что там прописать!). Интернет и Гугль пока результатов не дал. Помогите, плиз, может кто сталкивался с этим. Или может знает другой выход из ситуации.
Спасибо.
0
210 / 96 / 6
Регистрация: 23.07.2010
Сообщений: 235
27.07.2010, 12:48
попробуй заменить пустые строки значениями "0". может тогда посчитает
0
 Аватар для Cancer
1 / 1 / 0
Регистрация: 16.03.2010
Сообщений: 17
27.07.2010, 13:14
В этом случае, если по-умолчанию, в каждый период добавлять "пустую строку", то нарушится нумерация позиций! То есть в отчете второго квартала нумерация строк должна продолжать нумерацию из первого. А так "пустой" строке будет присвоен номер подпункта, а это запрещено.

Добавлено через 12 минут
Так, ну вроде метод научного тыка помог. Клавиши надо описывать через {klavisha}. Что только не пробовал. ^Click, {KeyDown}, {KeyClick}, {KeyPress}. Оказалось, что {Down}. Теперь пункт из списка выбирается! Совсем немного осталось. Спасибо за помощь.
Если есть иные варианты решения, подскажите, плиз.
0
 Аватар для Елена
2454 / 797 / 24
Регистрация: 18.08.2009
Сообщений: 1,697
27.07.2010, 13:33
с макросами не работаю, как-то с ВБА сподручнее.. а Вы не можете сохранить макросы как модуль (в этом случае будет виден код ВБА), тогда можно проанализировать, или дайте кусок базы
0
 Аватар для Cancer
1 / 1 / 0
Регистрация: 16.03.2010
Сообщений: 17
27.07.2010, 14:28
Правильно я вставил сюда код макроса?
Только я не понимаю зачем.
он бегает по 6 спискам и выбирает первые позиции, которые уже впоследствии используются в отчетах.
Может есть по первому посту другие мысли?
А так все заработало.

Visual Basic
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
28
29
30
31
32
Function пересчет()
On Error GoTo пересчет_Err
 
    DoCmd.GoToControl "Доход_полугодие"
    DoCmd.GoToRecord , "", acFirst
    SendKeys "{down}", True
    DoCmd.GoToControl "Доход_9месяцев"
    DoCmd.GoToRecord , "", acFirst
    SendKeys "{down}", True
    DoCmd.GoToControl "Доход_год"
    DoCmd.GoToRecord , "", acFirst
    SendKeys "{down}", True
    DoCmd.GoToControl "Расход_полугодие"
    DoCmd.GoToRecord , "", acFirst
    SendKeys "{down}", True
    DoCmd.GoToControl "Расход_9месяцев"
    DoCmd.GoToRecord , "", acFirst
    SendKeys "{down}", True
    DoCmd.GoToControl "Расход_год"
    DoCmd.GoToRecord , "", acFirst
    SendKeys "{down}", True
    DoCmd.GoToControl "Кнопка_промотра отчета"
 
 
пересчет_Exit:
    Exit Function
 
пересчет_Err:
    MsgBox Error$
    Resume пересчет_Exit
 
End Function
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
27.07.2010, 14:28
Помогаю со студенческими работами здесь

Макросы
Здравствуйте!) Пожалуйста, помогите создать макросы, очень прошу.

Макросы
Создала базу данных на тему Расписание занятий кафедры. Посоветуйте где и что исправить?? и еще остались эти макросы и отчеты( Как их...

Макросы в аксесс
Можно ли создать 1 макрос, который будет закрывать все формы (а именно 3) или надо для закрытия каждой создавать свой отдельный макрос? ...

Макросы в аксесс
Как создать макрос для закрытия формы?

Макросы и формы
Здравствуйте. Есть макрос, который выполняет действия при следующих условиях: Если значение поля меньше 0, то умножает другое поле на 15%...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru