Гость
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как скрыть программно область навигации / 23 сообщений из 23, страница 1 из 1
23.09.2011, 19:41
    #37454267
KiViNs
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как скрыть программно область навигации
Как скрыть область навигации в Access 2007
или программно
или XML ribbon'а?
...
Рейтинг: 0 / 0
23.09.2011, 19:42
    #37454270
KiViNs
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как скрыть программно область навигации
поправлюсь или через XML ribbonэ'а
...
Рейтинг: 0 / 0
23.09.2011, 22:35
    #37454498
AlexSyr2009
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как скрыть программно область навигации
KiViNs,
Предлагаю такое решение:
- создать ленту (Ribbon) и сразу после элемента <customUI xmlns="..."> дописать:
Код: plaintext
1.
2.
3.
  <commands>
    <command idMso="ApplicationOptionsDialog" enabled="false"/>
  </commands>
- в параметрах базы снять флажки "Специальные клавиши Access" и "Область навигации";
- в параметрах базы указать ранее созданную ленту.

На всякий случай прилагаю пример (проверен в MSA2010)
...
Рейтинг: 0 / 0
24.09.2011, 00:01
    #37454541
KiViNs
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как скрыть программно область навигации
2AlexSyr2009
Код: plaintext
1.
2.
3.
4.
  
<commands>
    <command idMso="ApplicationOptionsDialog" enabled="false"/>
</commands>
это хорошо - не знал, спасибо, применю это.

Плохо спросил до этого.
У мну ADP-проект
хочу что бы
1. если открывает пользователь входящий в роль db_owner, то область навигации видна
2. если открывает пользователь входящий в другие роли, то область навигации не видна
XML ribbon'а формирую хранимкой в зависимости от того в какие роли входит пользователь.
...
Рейтинг: 0 / 0
24.09.2011, 01:27
    #37454569
AlexSyr2009
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как скрыть программно область навигации
KiViNs ,
В любом случае нужно будет блокировать F11, т.е. снять галку "Специальные клавиши Access".

Скрыть панель навигации:
Код: plaintext
1.
2.
  DoCmd.SelectObject acTable, "USysRibbons", True
  DoCmd.RunCommand acCmdWindowHide
...
Рейтинг: 0 / 0
24.09.2011, 19:55
    #37454813
KiViNs
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как скрыть программно область навигации
AlexSyr2009
Спасибо помогло.

Ну и паровозом вопрос - "Специальные клавиши Access" как отключить программно?
Думаю нет ответа на этот вопрос :(
...
Рейтинг: 0 / 0
24.09.2011, 22:46
    #37454898
runebrew
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как скрыть программно область навигации
Ну, да, возможно
...
Рейтинг: 0 / 0
24.09.2011, 23:04
    #37454902
AlexSyr2009
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как скрыть программно область навигации
KiViNs ,
Отключить можно так:
Код: plaintext
1.
  CurrentDb.Properties("AllowSpecialKeys") = False
Только надо помнить, что изменение вступит в силу ТОЛЬКО при перезагрузке базы или "Сжать и восстановить базу данных".
...
Рейтинг: 0 / 0
23.10.2011, 02:42
    #37494048
fynjy93
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как скрыть программно область навигации
AlexSyr2009 KiViNs ,
В любом случае нужно будет блокировать F11, т.е. снять галку "Специальные клавиши Access".

Скрыть панель навигации:
Код: plaintext
1.
2.
  DoCmd.SelectObject acTable, "USysRibbons", True
  DoCmd.RunCommand acCmdWindowHide

а не подскажите, как вернуть ее обратно? а то пишет, что объект USysRibbons не открыт, хотя до этого скрывает панель.
...
Рейтинг: 0 / 0
23.10.2011, 11:36
    #37494116
AlexSyr2009
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как скрыть программно область навигации
fynjy93,
Скрыть:
Код: plaintext
1.
2.
  DoCmd.SelectObject acForm, , True
  DoCmd.RunCommand acCmdWindowHide
Отобразить:
Код: plaintext
1.
  DoCmd.SelectObject acForm, , True
...
Рейтинг: 0 / 0
23.10.2011, 17:46
    #37494330
fynjy93
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как скрыть программно область навигации
AlexSyr2009 fynjy93,
Скрыть:
Код: plaintext
1.
2.
  DoCmd.SelectObject acForm, , True
  DoCmd.RunCommand acCmdWindowHide
Отобразить:
Код: plaintext
1.
  DoCmd.SelectObject acForm, , True

Спасибо
...
Рейтинг: 0 / 0
17.07.2012, 16:40
    #37882550
Гость195
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как скрыть программно область навигации
Если написать этот код в версии 2010 и через макрос autoexec запускать его при старте, то на версиях 2007 офиса пишет о не совместимости и не распознавании базы :( что делать? как лечить?
...
Рейтинг: 0 / 0
11.10.2012, 17:16
    #37994168
Vitalic_Hekto
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как скрыть программно область навигации
после создания модуля и написания этого кода в 2010 access, когда пытаюсь открыть его в 2007 - пишет "нераспознаваемы формат"!
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
01.03.2017, 15:02
    #39412495
kulib
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как скрыть программно область навигации
Интересуюсь, а разве ни у кого в 10-м Аксе при выполнении кода не открывается автоматом область навигации !независимо от всех вышеперечисленных манипуляций! которая остается потом активной и позволяет !любому! пользователю лазать по всем таблицам и объектам без стеснения? У меня так и происходит и решения этой .... найти не могу!
...
Рейтинг: 0 / 0
01.03.2017, 15:20
    #39412515
Панург
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как скрыть программно область навигации
kulib, замени у БД расширение с *.accdb на *.accdr
...
Рейтинг: 0 / 0
01.03.2017, 15:40
    #39412541
kulib
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как скрыть программно область навигации
Панургkulib, замени у БД расширение с *.accdb на *.accdr
Извиняюсь не предупредил, что у меня mdb 2000. Разве это может влиять на проявление области навигации?
...
Рейтинг: 0 / 0
01.03.2017, 15:59
    #39412574
Панург
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как скрыть программно область навигации
kulib, дык перевели
...
Рейтинг: 0 / 0
01.03.2017, 18:06
    #39412712
Игортан
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как скрыть программно область навигации
kulib,

таки и если вы линкуете таблицы при каждом старте бд, то нужно скрывать область после таких манипуляций.
Ибо она автоматом открывается при любом линке таблиц и пр.
...
Рейтинг: 0 / 0
02.03.2017, 16:10
    #39413222
kulib
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как скрыть программно область навигации
Игортанkulib,

таки и если вы линкуете таблицы ......., то нужно скрывать область после таких манипуляций.
Ибо она автоматом открывается при любом линке таблиц и пр.

Не знал про такое. База действительно перелинкуется с внешними данными не при старте, а при выполнении разных процессов связанных с внешними таблицами. Я конечно поколдую, спасибо! Но насколько мне известно "Область навигации" (бывшая "База данных" в 2003) не имеет четкого св-ва открыта-закрыта, она лишь подвержена методу переключения F11 или программно (как предложено здесь например). Поэтому как ж блин понять открылась она или нет? Конечно если принять во внимание, что открыться должна, то можно вставить метод, но получится кривовато. С исп. On Error только на закрытии

P.S. Базу пока не могу перевести из mdb т.к. на рабочем компе никак еще не слезу с XP с МС2003 - очень уж удобно блин когда всё настроено и работет годами. Лень матушка)))
...
Рейтинг: 0 / 0
02.03.2017, 16:44
    #39413264
kulib
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как скрыть программно область навигации
И еще один связанный вопросик:
В св-вах базы 2003 чекбоксом указано при старте не показывать базу данных. При старте в МСА 2010 так и происходит, но потом если "Область навигации" уже показалась, то спрятать ее вообще наглухо (чтобы ее опять даже видно сбоку не было) уже совсем не получается. Это нормально?
...
Рейтинг: 0 / 0
02.03.2017, 18:38
    #39413325
Игортан
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как скрыть программно область навигации
kulib,

гдето здесь на форуме когда то обсуждалось, сейчас не могу найти. Вроде через API.

у меня тот же геморой был в свое время.
Когда линковался екселевский файл то область открывалась. Я ее конечно закрывал))).Но
при каком либо сбое: при линке, при импорте, и при разных его вариантах я все равно иногда выпадал на область. Жизни мал попортила.
И вообще, у меня сложилось впечатленние, что программное скрытие работает как тригер.
Типа раз закроет, а при встрече этой же команды в коде еще раз - открывает.
Конечно, я возможно криворук, но задолбался бодаться с этой проблемой.
С БД работают через РДП и автоматом запускаемое приложение, потому решили тупо расширение поставить accdr.
Все - это "рунтайм" версия. Где надо было, свое меню есть. Все остальное обрубается уже не мной...
kulibПри старте в МСА 2010 так и происходит, но потом если "Область навигации" уже показалась, то спрятать ее вообще наглухо (чтобы ее опять даже видно сбоку не было) уже совсем не получается. Это нормально?
вроде не так.
при линке область навигации открывается(почему то помню, что сам построчно выполнение кода смотрел).
а потом скрывается нормально. С одним только затыком - как триггер. Да/нет
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
' проверка, если открывается база RunTime , то исключаем
If SysCmd(acSysCmdRuntime) = False And blCycleError >= 2 Then '--------- проверка условия открытия из Runtime или полная версия access
    If Not DbPath Then  '--------- проверка условия кто работает с базой: если да - админ, нет - пользователь
        '-----скрытие области переходов
        DoCmd.SelectObject acTable, , True
        DoCmd.RunCommand acCmdWindowHide
    End If
End If


вот кусок кода нашел

вообще я таких вещей стараюсь уйти сразу.
Ничего не линкую. Подключаюсь на прямую. в коде запрос и через IN '' подсовываю строку подключения.
Нет проблем по скрытию области.
...
Рейтинг: 0 / 0
06.03.2017, 11:10
    #39414582
kulib
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как скрыть программно область навигации
Спасибо всем откликнувшимся! Вот так все решилось. Правда в конце таймерик подвесил на прорисовку, а то без него не успевала прятаться)
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
Sub Test_HideОблНавигации()
On Error GoTo ErrHandler
        '-----скрытие области переходов
        DoCmd.SelectObject acTable, , True
        DoCmd.RunCommand acCmdWindowHide
Timer1(0.05)

NormalExit:
  Exit Sub
ErrHandler:
  Resume NormalExit
End Sub
...
Рейтинг: 0 / 0
06.03.2017, 12:08
    #39414631
Панург
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как скрыть программно область навигации
kulibПравда в конце таймерик подвесил на прорисовку, а то без него не успевала прятаться)

DoEvents
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как скрыть программно область навигации / 23 сообщений из 23, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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