Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Меню в access XP / 25 сообщений из 44, страница 1 из 2
27.09.2003, 14:26
    #32277466
Creator
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Меню в access XP
Как в Access XP спрятать стандартное меню "отобразить окно базы данных"?
...
Рейтинг: 0 / 0
29.09.2003, 09:57
    #32277837
АлексейК
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Меню в access XP
открываешь любую форму
правая кнопка мыши на тулбаре - появляется режим настройки меню
правая кнопка на нужной иконке, удалить
...
Рейтинг: 0 / 0
29.09.2003, 11:21
    #32277972
Creator
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Меню в access XP
Это удалить иконку тулбара, а не стандартный пунк меню насколько я понимаю. Кроме того момент в том что надо прятать меню в зависимости от имени пользователя, то есть делать это программно.
...
Рейтинг: 0 / 0
29.09.2003, 11:45
    #32278023
АлексейК
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Меню в access XP
правильно поставленный вопрос - содержит половину ответа.

1 >Кроме того момент в том что надо прятать меню в зависимости от имени пользователя, то есть делать это программно.

это нужно было понять телепатически?

>Это удалить иконку тулбара, а не стандартный пунк меню

да, действительно. а где находится стандартный пункт меню отобразить окно базы данных?
...
Рейтинг: 0 / 0
29.09.2003, 13:56
    #32278277
Темный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Меню в access XP
"Параметры запуска". А дальше надо думать. Но думать лень.
...
Рейтинг: 0 / 0
29.09.2003, 15:51
    #32278465
АлексейК
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Меню в access XP
> "Параметры запуска". А дальше надо думать. Но думать лень.

причем здесь

> стандартный пункт меню ?

если речь идет о параметре базы данных отображать окно базы при запуске или нет то :

Код: plaintext
1.
2.
3.
4.
If .... Then
CurrentProject.Properties( "StartUpShowDBWindow" ).value =  0 
Else
CurrentProject.Properties( "StartUpShowDBWindow" ).value =  1 
End If
...
Рейтинг: 0 / 0
29.09.2003, 17:29
    #32278649
Creator
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Меню в access XP
Я к сожалению не могу скриншот вставить сюда но если быть точным в английской версии это звучит так:

Window->Unhide...-> (здесь имя базы)

Так вот этого пункта в меню Window для пользователя User1 (к примеру) быть не должно, а если зайдёт пользователь User2 то этот пункт меню должно быть видно. Аналогично я думаю сделать с File->Open...
...
Рейтинг: 0 / 0
29.09.2003, 22:58
    #32278955
Темный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Меню в access XP
А система разграничения прав доступа как организована?
Другими словами. как узнаешь имя пользователя?
...
Рейтинг: 0 / 0
30.09.2003, 14:04
    #32279503
Creator
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Меню в access XP
Вот так:

Dim Usr
Usr = CurrentUser

Разграничено стандартно с помощью файла рабочей группы.
...
Рейтинг: 0 / 0
30.09.2003, 14:13
    #32279521
incold
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Меню в access XP
А не проще ли будет для всех пользователей скрыть стандартное меню и создать свое собственное, в котором есть пункт со своей функцией, которая в зависимости от прав выполняет необходимые действия.
...
Рейтинг: 0 / 0
30.09.2003, 15:55
    #32279697
Creator
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Меню в access XP
Проще, но пользователи используют всякие другие пункты меню и они им нужны, а то прирежут :) а пару других очень хочется прикрыть. И я даже видел одну программу где всё это прикрыто.
...
Рейтинг: 0 / 0
30.09.2003, 16:11
    #32279727
incold
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Меню в access XP
Ну и сделай свое меню, полностью повторяющее стандартное, за исключением не нужных пунктов.
...
Рейтинг: 0 / 0
30.09.2003, 16:42
    #32279760
АлексейК
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Меню в access XP
удалить в стандартном меню...
правая кнопка мыши на меню - настройка- окно- отбразить - удалить ?
...
Рейтинг: 0 / 0
30.09.2003, 16:46
    #32279768
АлексейК
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Меню в access XP
записано макрорекордером эксела:

Код: plaintext
    Application.CommandBars( "Window" ).Controls( 3 ).Delete


только надо бы заменить
Controls(3) на Controls("Имя_пункта")
...
Рейтинг: 0 / 0
01.10.2003, 12:52
    #32280592
Creator
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Меню в access XP
TO: АлексейК
Большое спасибо я практически так сделал только с помощью свойства visible.

Появилась ещё одна проблема любой пользователь может вернуть этот пункт меню описаным вами способом без всяких проблем и без всяких прав. Как с этим бороться?
...
Рейтинг: 0 / 0
01.10.2003, 13:28
    #32280665
АлексейК
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Меню в access XP
Обычно защищают объекты базы данных от доступа а не окно базы данных.

если человек в состоянии программно отобразить или скрыть пунк меню то ему ничего не будет стоить из другого приложения открыть твой проект и просмотреть коллекции объектов tabledefs, ..

скрытие и отбражение меню может быть использовано только для удобства а для защиты не годится
...
Рейтинг: 0 / 0
01.10.2003, 17:06
    #32281071
Creator
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Меню в access XP
TO: АлексейК
Не всегда это эфективно "защищать только объекты базы данных".
Допустим у нас есть таблица и по некоторой логике пользователь должнен иметь возможность добавлять менять или удалять записи, но только те которые создал. То есть если пользователь user1 создал запись, он имеет право и удалить и изменить её, если же запись сделал другой юзер, то запретить ему это сделать. Мы естественно реализуем это с помощью формы.
Её конечно можно защитить так же как и таблицу, но этого мало если пользователь видит окно базы данных он заходит напрямую в таблицу и меняет всё что хочет. И поскольку в access нет тригеров выловить такие изменения нельзя. Я привёл пример с редактированием данных, но могут быть самые разные логики которые в других с-мах реализуют с помощью тригеров.

В моём же случае надо ещё найти как убрать контекстное меню "Cutsomize..."
из контекстного меню главного меню access и всё должно быть в полне безопасно. :P
...
Рейтинг: 0 / 0
02.10.2003, 12:11
    #32281755
assa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Меню в access XP
если вопрос в том, чтобы не дать именно определенному классу пользователей войти в окно объектов бд, не запрещая, по возможности, доступ ко всем меню, в т.ч. контекстным, то где то были решения, попросту проверяющие текущий активный объект (по таймеру), и свертывающие аксес при попытке активизировать окно объектов БД. По моему у Шермана.

А то что имеющий права на таблы юзер подключится к БД извне вас не пугает?

ЗЫ: вот, нашел
Код: plaintext
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.
34.
35.
Public Function rpProtect() As Boolean
Static S As String, n As Long, TypeWindow As Long

On Error Resume Next
Err.Clear

n = Screen.Application.CurrentObjectType
If Err >  0  Then Exit Function 'на всякий случай
S = Screen.Application.CurrentObjectName

'тип не определен или диалоговая форма
If n = - 1  Then Exit Function

'Тип определен
TypeWindow = n
n = SysCmd(acSysCmdGetObjectState, TypeWindow, S)
If n = 0 Then GoTo TruEnd 'объект не открыт - окно базы

Select Case TypeWindow
Case acTable, acQuery, acMacro, acModule
GoTo TruEnd 'доступ всегда запрещен
Case acForm
S = Screen.ActiveForm.Name
If Err > 0 Then GoTo TruEnd 'форма в окне базы данных
If Forms(S).CurrentView =  0  Then GoTo TruEnd 'форма в конструкторе
Case acReport
S = Screen.ActiveReport.Name
If Err > 0 Then GoTo TruEnd 'отчет в окне базы данных
n = Reports(S).HasData
If Err >  0  Then GoTo TruEnd 'отчет в конструкторе
End Select
Exit Function

TruEnd:
rpProtect = True
End Function

А в форме (открываемой по умолчанию) что-то типа
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
Option Compare Database
Option Explicit

Private Sub Form_GotFocus()
    If (Me.Visible = True) Then
        DoCmd.Quit acQuitSaveNone
    End If
End Sub

Private Sub Form_Open(Cancel As Integer)
    
    Me.Visible = False
    DoCmd.OpenForm  "Некая заставка" , acNormal

End Sub

Private Sub Form_Timer()
    If rpProtect() Then
        DoCmd.Quit acQuitSaveNone
    End If
End Sub
...
Рейтинг: 0 / 0
02.10.2003, 16:32
    #32282303
Creator
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Меню в access XP
Спасибо попробую. По поводу извне не очень меня беспокоит - я планирую чтобы пользователи работали через терминал (Citrix). И они будут иметь возможность запускать только эту базу.
...
Рейтинг: 0 / 0
02.10.2003, 16:47
    #32282319
Лох Позорный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Меню в access XP
Её конечно можно защитить так же как и таблицу, но этого мало если пользователь видит окно базы данных он заходит напрямую в таблицу и меняет всё что хочет. И поскольку в access нет тригеров выловить такие изменения нельзя.

Что за бред?
Запретить доступ к таблицам, дать доступ к запросам (которые уже и отсекут нужные записи). Это одно из возможных решений. И, уж извиняйте, но это основы аксесовской защиты (насколько она вообще возможна). Может, следует основы изучить прежде чем Record Level Permissions делать?

При чем тут отсутствие триггеров и окно базы данных? Как они вообще между собой могут быть связаны?

Что это за система защиты, основанная на предположении, что пользователь не догадается (или не сможет) запустить msaccess.exe и из любой (новой) базы прилинковать таблицы?
...
Рейтинг: 0 / 0
02.10.2003, 16:57
    #32282339
Shark
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Меню в access XP
По моему, есть две неабсурдные системы защиты
1) Для лохов(кроме ЛП), набором менюшек. Про что менюшки нет, того нельзя
2) Не для лохов. Использование access исключено.
...
Рейтинг: 0 / 0
02.10.2003, 17:01
    #32282351
Лох Позорный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Меню в access XP
Именно так.
Причем строя защиту от лохов можно и не пужаться того, что где-то в меню случайно что-то вылезет. Все равно не поймут что с этим делать.
А не от лохов (если уж судьба такая, на аксесе строить) - опять таки менюшками можно озабачиваться в самую последнюю очередь.
...
Рейтинг: 0 / 0
02.10.2003, 18:29
    #32282510
assa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Меню в access XP
2ЛП. триггера, как ясно из контекста, связаны с возможностью сохранить логичесую целостность, а то и зафиксировать сам факт и юзера, проведшего изменения. Не важно, из окна базы вы их проделали, или из любого другого окна. Но другие окна, оказывается, под присмотром. (сарказм тут не уместен).

>>Запретить доступ к таблицам, дать доступ к запросам (которые уже и отсекут нужные записи).

- И тут юзер качнет (с известного ему сайта) раскрывалку юзеров и их UID-ов и, не долго думая, создаст mdw с требуемыми параметрами - и, как ни в чем не бывало, подцепится как owner в лучшем виде :0) ко всем табличкам и понатворит там "неотслеживаемых триггерами" безобразий :0)
...
Рейтинг: 0 / 0
02.10.2003, 18:35
    #32282515
Creator
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Меню в access XP
Лучше плохая защита чем её отсутсвие давайте не рассуждать как её взломать это мы и так все знаем.

>>Запретить доступ к таблицам, дать доступ к запросам (которые уже и
отсекут нужные записи).

Это так опускает бедный комп работающий под access, что он зеленеть начинает я уже не говорю если талблицы прилинкованые.

Я же стаю перед фактом есть программа её надо прикрыть что бы не лазили вот я и решил это обсудить.
...
Рейтинг: 0 / 0
02.10.2003, 18:41
    #32282527
Юрий Р.
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Меню в access XP
Статья на эту тему
http://www.hiprog.com/access/article.asp?id=361
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Меню в access XP / 25 сообщений из 44, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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