powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Скрыть режим конструктора и области навигации в Access с помощью VBA
11 сообщений из 11, страница 1 из 1
Скрыть режим конструктора и области навигации в Access с помощью VBA
    #39072279
msleg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день! Подскажите пожалуйста, как мне с помощью VBA сделать недоступным режим конструктора для формы? Ситуация следующая есть форма авторизации, которая запускается при открытии БД. Меню скрыто. Если нажать правую кнопку мыши по форме, выскакивает всплывающее окно, где есть возможно войти в режим конструктора формы(( Какие есть варианты решения?
...
Рейтинг: 0 / 0
Скрыть режим конструктора и области навигации в Access с помощью VBA
    #39072291
msleg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нашел, как скрыть контекстное меню, которое открывается при нажатии правой кнопки мышки на форме.

Код: vbnet
1.
Forms(НАЗВАНИЕ_ФОРМЫ).shortcutmenu=false 
...
Рейтинг: 0 / 0
Скрыть режим конструктора и области навигации в Access с помощью VBA
    #39072296
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
msleg...сделать недоступным режим конструктора для формы?...Какие есть варианты решения?Пользователю работать с mde/ade/accde.
...
Рейтинг: 0 / 0
Скрыть режим конструктора и области навигации в Access с помощью VBA
    #39072376
msleg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
еще нашел интересную инфу http://hiprog.com/index.php?option=com_content&task=view&id=60&Itemid=35
...
Рейтинг: 0 / 0
Скрыть режим конструктора и области навигации в Access с помощью VBA
    #39072378
guest_rusimport
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
msleg... как мне с помощью VBA сделать недоступным режим конструктора для формы?...

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Private Sub Form_Load()
    Dim i As Integer
    For Each cbar In CommandBars
        For i = 1 To cbar.Controls.Count
            If InStr(1, UCase(cbar.Controls.Item(i).Caption), "КОНСТРУКТОР") > 0 Then
                cbar.Controls.Item(i).Enabled = True
            End If
        Next i
    Next cbar
End Sub
...
Рейтинг: 0 / 0
Скрыть режим конструктора и области навигации в Access с помощью VBA
    #39072380
msleg,

Для скрытия панели навигации
Код: vbnet
1.
2.
3.
4.
5.
Public Function hideNavePan()
'Скрываем боковую панель навигации
 DoCmd.SelectObject acTable, , True
 DoCmd.RunCommand acCmdWindowHide
End Function



А вообще лучше запустить базу в рантайме.
Для этого создайте ярлык для своей базы
в поле объект после пути к файлу добавте /runtime
...
Рейтинг: 0 / 0
Скрыть режим конструктора и области навигации в Access с помощью VBA
    #39072383
guest_rusimport
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
guest_rusimportmsleg... как мне с помощью VBA сделать недоступным режим конструктора для формы?...

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Private Sub Form_Load()
    Dim i As Integer
    For Each cbar In CommandBars
        For i = 1 To cbar.Controls.Count
            If InStr(1, UCase(cbar.Controls.Item(i).Caption), "КОНСТРУКТОР") > 0 Then
                cbar.Controls.Item(i).Enabled = True
            End If
        Next i
    Next cbar
End Sub



fix

cbar.Controls.Item(i).Enabled = False
...
Рейтинг: 0 / 0
Скрыть режим конструктора и области навигации в Access с помощью VBA
    #39072397
msleg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нашел как обойти SHIFT при открытии базы данных, может кому-нибудь понадобиться

https://support.office.com/ru-ru/article/Обход-параметров-запуска-при-открытии-базы-данных-f19b5792-5a85-4516-89b2-43a10f60f1c1


есть свойство AllowBypassKey - https://support.office.com/en-us/article/AllowBypassKey-Property-30ab5c36-51df-41a0-a955-b0f1deac517b

а еще можно, чтобы наверняка следующими функциями

Код: vbnet
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 ap_DisableShift()
'This function disable the shift at startup. This action causes
'the Autoexec macro and Startup properties to always be executed.

On Error GoTo errDisableShift

Dim db As DAO.Database
Dim prop as DAO.Property
Const conPropNotFound = 3270

Set db = CurrentDb()

'This next line disables the shift key on startup.
db.Properties("AllowByPassKey") = False

'The function is successful.
Exit Function

errDisableShift:
'The first part of this error routine creates the "AllowByPassKey
'property if it does not exist.
If Err = conPropNotFound Then
Set prop = db.CreateProperty("AllowByPassKey", _
dbBoolean, False)
db.Properties.Append prop
Resume Next
Else
MsgBox "Function 'ap_DisableShift' did not complete successfully."
Exit Function
End If

End Function



Код: vbnet
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.
33.
Function ap_EnableShift()
'This function enables the SHIFT key at startup. This action causes
'the Autoexec macro and the Startup properties to be bypassed
'if the user holds down the SHIFT key when the user opens the database.

On Error GoTo errEnableShift

Dim db as DAO.Database
Dim prop as DAO.Property
Const conPropNotFound = 3270

Set db = CurrentDb()

'This next line of code disables the SHIFT key on startup.
db.Properties("AllowByPassKey") = True

'function successful
Exit Function

errEnableShift:
'The first part of this error routine creates the "AllowByPassKey
'property if it does not exist.
If Err = conPropNotFound Then
Set prop = db.CreateProperty("AllowByPassKey", _
dbBoolean, True)
db.Properties.Append prop
Resume Next
Else
MsgBox "Function 'ap_DisableShift' did not complete successfully."
Exit Function
End If

End Function



оригинал по ссылке https://support.microsoft.com/en-us/kb/826765
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Скрыть режим конструктора и области навигации в Access с помощью VBA
    #39709084
Фотография Rikozenit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest_rusimport
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Private Sub Form_Load()
    Dim i As Integer
    For Each cbar In CommandBars
        For i = 1 To cbar.Controls.Count
            If InStr(1, UCase(cbar.Controls.Item(i).Caption), "КОНСТРУКТОР") > 0 Then
                cbar.Controls.Item(i).Enabled = False
            End If
        Next i
    Next cbar
End Sub



Доброго дня! У меня в режиме отладчика при пошаговом выполнении строка
Код: vbnet
1.
cbar.Controls.Item(i).Enabled = False

просто проскакивает (так и должно быть?), а цикл крутится до бесконечности. Что может быть не так?
Спасибо!
...
Рейтинг: 0 / 0
Скрыть режим конструктора и области навигации в Access с помощью VBA
    #39709106
zimkon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Rikozenit,
Это писалось для 2003 акса, в другой версии может быть по-другому. У меня 2003-й. Может кто другой поможет.
...
Рейтинг: 0 / 0
Скрыть режим конструктора и области навигации в Access с помощью VBA
    #39709139
Фотография Rikozenit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zimkon, выяснил, что на деле всё работает идеально! Почему циклится в отладчике - я не понял)
+ добавил отключение режима Макет:
Код: vbnet
1.
2.
3.
 If InStr(1, UCase(cbar.Controls.Item(i).Caption), "МАКЕТ") > 0 Then
      cbar.Controls.Item(i).Enabled = False
End If
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Скрыть режим конструктора и области навигации в Access с помощью VBA
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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