powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Access 2007. Создать (из под VBA) панель с кнопкой
9 сообщений из 9, страница 1 из 1
Access 2007. Создать (из под VBA) панель с кнопкой
    #39897748
Дмитрий П.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В базе Access 2003 я организовал сжатие базы из кода VBA:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
            With CommandBars.Add(, 1, , True) ' добавляем панель
            .Controls.Add 1, 2071, , , True   ' добавляем кнопку на панель (без иконки и без надписи)
            .Visible = True
            .Controls(1).SetFocus
            End With
            DoEvents
            SendKeys "~" '<Enter>


Код добавляет временную панель и кнопку "Сжать и восстановить базу.." (см. "панель c кнопкой.JPG") и "нажимает" ее.

Но теперь приходится запускать базу в Access 2007 (на работе обновили компьютеры) и этот код уже не создает панель с кнопкой (я не смог их обнаружить) и не запускает сжатие.

Как в Access 2007 средствами VBA организовать временную панель с такой кнопкой и нажать ее?
...
Рейтинг: 0 / 0
Access 2007. Создать (из под VBA) панель с кнопкой
    #39897820
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а почему не установить флажок "сжимать при закрытии"
...
Рейтинг: 0 / 0
Access 2007. Создать (из под VBA) панель с кнопкой
    #39897832
Дмитрий П.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sdku,
Это сетевая база, пользователей много, открывают-закрывают часто, а сжимать имеет право только Админ, пару раз в неделю

К тому же в удаленном варианте (в отличие от локального) сжатие почему-то происходит не в этот-же файл а в db1.mdb, следующее в db2.mdb и т.д. что меня совершенно не устраивает.
...
Рейтинг: 0 / 0
Access 2007. Создать (из под VBA) панель с кнопкой
    #39897839
Игортан
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий П.,

самрое простое - сделать кнопочку
иначе будет нужно делать ленту меню (вверху)
как вариант - контекстное меню по равому клику мыши
на все три варианта тут на форуме куча топиков
...
Рейтинг: 0 / 0
Access 2007. Создать (из под VBA) панель с кнопкой
    #39897860
Фотография Сергей Лалов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий П.,

Пошаговая инструкция от создателей - компании Microsoft, которые перешли наконец с MS Office 2003 на более позднюю версию:
тыц
...
Рейтинг: 0 / 0
Access 2007. Создать (из под VBA) панель с кнопкой
    #39898030
Дмитрий П., предлагаю альтернативный вариант, не зависящий от версии.
Создаете и запускаете файл скрипта (расширение VBS) с двумя строчками:
Код: vbnet
1.
2.
Set Acc = GetObject("Путь к БД")
Acc.Application.CommandBars.FindControl(1, 2071).accDoDefaultAction
...
Рейтинг: 0 / 0
Access 2007. Создать (из под VBA) панель с кнопкой
    #39898860
Дмитрий П.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я не сразу заметил что при запуске кода, приведенного мной вначале, на Ленте появляется (но не открываетя) вкладка Надстройки. На ней я и обаружил добавленную кодом панель с нужной мне кнопкой (я как то не подумал что Лента тоже состоит из панелей). При этом я сразу увидел, что активировать кнопку можно нажатием Alt+н+ж.

Однако замена SendKeys "~" (<Enter>) на SendKeys "%нж" не запускает Сжатие базы.

Помогает перемещение SendKeys "%нж" в другую п\п обработчик (например в отдельную кнопку на главной Форме «Реестр плат-модулей…»)

Т.о. можно считать что вопрос в принципе решен.

Спасибо всем.
...
Рейтинг: 0 / 0
Access 2007. Создать (из под VBA) панель с кнопкой
    #39898889
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий П.
.... а сжимать имеет право только Админ, пару раз в неделю....
Для этого на компе admin крайне необходима кнопка-может лучше у юзеров все поубирать,оставив необходимое-ручонки будут менее шаловливые
(Admin наш в компах ничё не соображает-и кто его на эту должность трудоустроил?)
...
Рейтинг: 0 / 0
Access 2007. Создать (из под VBA) панель с кнопкой
    #39938012
Дмитрий П.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кривцов Анатолий
Дмитрий П., предлагаю альтернативный вариант, не зависящий от версии.
Создаете и запускаете файл скрипта (расширение VBS) с двумя строчками:
Код: vbnet
1.
2.
Set Acc = GetObject("Путь к БД")
Acc.Application.CommandBars.FindControl(1, 2071).accDoDefaultAction



Да, для простого случая это работает.

Но как этот способ применить к базе, если ярлык ее запуска c "Рабочего стола" содержит следущее:
Код: vbnet
1.
"C:\Program Files (x86)\Microsoft Office\Office12\MSACCESS.EXE" "d:\CL_base\CL_base7.accdb" /WRKGRP "d:\CL_base\Secured.mdw" /user dima /pwd ..."
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Access 2007. Создать (из под VBA) панель с кнопкой
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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