Как отключить кнопку шифт при открытии базы??

Manofwar

В принципе в теме всё сказано, кто знает помогите.
3 ответа

Manofwar

Хм. Мысль интересная надо попробывать. Спасибо всем кто откликнулся


Manofwar

Это не мои мысли, но всё же вот 3 варианта:
Public Function ChangeProperty(db As Database, strPropName As String,
varPropType As Variant, varPropValue As Variant) As Boolean
    Dim prp As Property

    On Error GoTo CHANGE_ERROR
    db.Properties(strPropName) = varPropValue
    ChangeProperty = True
    Exit Function
CHANGE_ERROR:
    If Err = 3270 Then ' property not found
        Set prp = db.CreateProperty(strPropName, varPropType, varPropValue)
        db.Properties.Append prp
        Resume Next
    Else
        ChangeProperty = False
        MsgBox Err.Description
    End If
End Function

Public Sub Lock()
  Dim db As Database

  Set db = OpenDatabase('c:PathName.mdb') ' весь этот код желательно
выполнять не в той базе, которую закрываешь.
  ChangeProperty db, 'AppTitle', dbText, 'Заголовок главного окна аксесса'
  ChangeProperty db, 'StartupForm', dbText, 'Форма, которая откроется при
открытии базы'
  ChangeProperty db, 'StartupShowDBWindow', dbBoolean, False ' не показывать
окно базы данных
  ChangeProperty db, 'StartupShowStatusBar', dbBoolean, True
  ChangeProperty db, 'StartUpMenuBar', dbText, 'MainMenu'  ' название твоего
меню, которое будет вместо стандартного аксессовского
  ChangeProperty db, 'AllowBuiltinToolbars', dbBoolean, False
  ChangeProperty db, 'AllowToolbarChanges', dbBoolean, False
  ChangeProperty db, 'AllowFullMenus', dbBoolean, False
  ChangeProperty db, 'AllowShortcutMenus', dbBoolean, False
  ChangeProperty db, 'AllowBreakIntoCode', dbBoolean, False ' в MDE это не
нужно, так как кода в текстовом виде там нету.
  ChangeProperty db, 'AllowSpecialKeys', dbBoolean, False ' не будет
работать F11 и т. п.

  ChangeProperty db, 'AllowBypassKey', dbBoolean, False ' если при открытии
базы держать Shift, то база откроется, игнорируя все запреты и стартовые
настройки. Этот ключ запрещает и это, то есть в базу совсем нельзя будет
залезть в обход стартовых настроек. Если ты хочешь опять открыть базу, то
ставишь этот ключ в True. Все остальные настройки доступны через меню
ToolsStartup

  db.Close
End Sub
Юрий Швецов.----------------------------------------------------------------------Уважаемые знатоки, ниже я привел код функции, которая активизирует клавишу Shift при запускe Access файла даже если она была отключена разработчиком. Мой вопрос: неужели нет никакого способа, чтобы скрыть потроха моего файла. Я имею в виду название форм, модулей и т.п. Неужели разработчики в Microsoft не могли допереть, что есть ряд свойств, которые нельмя менят из вне хотя бы для откомпеллированных файлов Access?Анатолий Курилин [code] Public Function UnlockDatabase(strDatabasePath As String) Dim wsp As DAO.Workspace Dim dbs As DAO.Database Dim prp As DAO.Property Dim fFound As Boolean On Error GoTo Proc_ErrSet wsp = DBEngine(0) Set dbs = wsp.OpenDatabase(strDatabasePath) For Each prp In dbs.Properties If prp.Name = 'AllowBypassKey' Then fFound = True Exit For End If Next prp If Not fFound Then Set prp = dbs.CreateProperty('AllowBypassKey', dbBoolean, True) dbs.Properties.Append prp Else dbs.Properties('AllowBypassKey').Value = True End If UnlockDatabase = *************: On Error Resume Next Set prp = Nothing dbs.Close Set dbs = Nothing Set wsp = Nothing Exit FunctionProc_Err: MsgBox Err.Nu


Manofwar

AccessXP - трюк не проходит, выдает type mismatch, или может я референс забыл?