???? ID: 300688 - ????? ???????: 17 ??????? 2011 - ??????: 3.0

????????? ????? ?? ??? ???? ??? ?? ' ???? ' ???? ?? ' ???? ?????? ' ???? ?? ????? ???? ?? ??? ???? ????

?????? ??????This article applies to a different operating system than the one you are using. Article content that may not be relevant to you is disabled.
?????: ?????? ???????? ??????, ?????????????? ?? multiuser ???? ???

?? ???? Microsoft Access ??????? (.mdb) ?? ???? Microsoft Access ????????? (.adp) ???? ???? ???

???? Microsoft Access 2000 ??????? ?? ??? ?? ???? ??, ?????245746  (http://support.microsoft.com/kb/245746/EN-US/ ) .
???? Microsoft Access 97 ?? ??????? ?? ??? ?? ????, ?????258049  (http://support.microsoft.com/kb/258049/ ) .

?? ????? ??

??? ?? ??????? ???? | ??? ?? ??????? ????

??????

Microsoft Access ??? ??? ?????????? ?????? ?? ????? ???? ?? ?????? ????????????? ????? ?? ??? (X)??? ?????? command??????????????? ????? ?? ???? ??exit?? command???????? ??.. ?? ???? ????? ???? ?? ?? ???? ????????? ?? ?? ??? ?? ????? ?????

???? ???????

???????: ??? ?? ?? ?????? ??? ??? ????? ?? ???? ????, ?? ????? ??????? Northwind.mdb ??????? ????? ?? ????? Northwind.mdb ???? ?? ??????? ?? ?? ????????? ?? ????? ????? ?? ???? ???? ?? ??? ?? ?????

????????? ?? ????? ???? ?? ?????? ??????? ????? ?????? command?????????? ??, ???? ?????? ???GetSystemMenu, ??EnableMenuItemWin32 API ?? ????????

????? ???? ?? ???exit?? command???????? ??, ???? ?? ????? ????CommandBars??????, ?? ??? ???? ?????, ????? ???????? ?? ??????????? ?? ??? Visual Basic ?? ??? ???? ??????????? ??? ??????? ???? exposes ???? ???? ????????? ???? ??????? ?? ???? ????

Microsoft ???????????? ?????? ???? ???????? ?? ??? ??? ???? ??, ???? ??? ??? ?? ?????? ?? ?????????? ??? ??? ?????? ???? ?? ????.. ?????? ???????? ?????? ?? ???? ????? ???????? ?? ??? ???????? ????? ??? ?? ???? ?? ????? ???? ???.. ?? ??? ????? ?? ?? ?? ????? ?? ?? ??? ???????????? ???? ?? ?? ??????? ?? ?????? ??? ????? ????? ???????????? ?? ????? ?? ???? ???? ?? ??? ???? ?? ??? ??.. Microsoft ?????? ???????? ?? ????? ????????? ?? ???????????? ?? ?????? ??? ?????? ?? ???? ???, ??, ?? ?? ???????? ?? ???? ??????? ?????????? ?? ?????? ???? ?? ??? ???????? ??????????????? ?? ?????? ?? ???????????? ????? ?? ??? ??????? ???? ??????..

Step-by-Step ??????

  1. Microsoft Access ??????? ?????
  2. ????? ??????? Northwind.mdb ??????
  3. ????? ???????????? ???????? ??,???????????, ?? ??????? ??????
  4. Declarations ?????? ??? ????? ??? ???? ????:
    Option Compare Database
    Option Explicit
    
    Private Declare Function GetSystemMenu Lib "user32" (ByVal hWnd As Long, _
        ByVal bRevert As Long) As Long
    
    Private Declare Function EnableMenuItem Lib "user32" (ByVal hMenu As _
        Long, ByVal wIDEnableItem As Long, ByVal wEnable As Long) As Long
    
    Const MF_GRAYED = &H1&
    Const MF_BYCOMMAND = &H0&
    Const SC_CLOSE = &HF060&
    
    Public Function SetEnabledState(blnState As Boolean)
        Call CloseButtonState(blnState)
        Call ExitMenuState(blnState)
    End Function
    
    'Disable the Menu Option
    Sub ExitMenuState(blnExitState As Boolean)
        Application.CommandBars("File").Controls("Exit").Enabled = blnExitState
    End Sub
    
    'Disable the Close Button Option
    Sub CloseButtonState(boolClose As Boolean)
        Dim hWnd As Long
        Dim wFlags As Long
        Dim hMenu As Long
        Dim result As Long
           
        hWnd = Application.hWndAccessApp
        hMenu = GetSystemMenu(hWnd, 0)
        If Not boolClose Then
            wFlags = MF_BYCOMMAND Or MF_GRAYED
        Else
            wFlags = MF_BYCOMMAND And Not MF_GRAYED
        End If
        
        result = EnableMenuItem(hMenu, SC_CLOSE, wFlags)
    End Sub
    					
  5. ????? ???????????? ??,????????? ??????, ?? ?? ???????? ??? ?? ????? ??????????? ?? ??????? ?????OK.
  6. ????? ????????? ?? ??? ?? ??? ??????? ????? ????:
       Form: frmSetCloseState
       -------------------------
       Caption: Set Close State
    
       Command button
       ------------------------
       Name: cmdEnable
       Caption: Enable
       OnClick: Event Procedure
    
       Command button
       ------------------------
       Name: cmdDisable
       Caption: Disable
       OnClick: Event Procedure
    					
  7. ?????? ????? ??? ???? ??????????? ???????? ??? ?? ????? ????????? ????????? ???? ?? ????? ???? ???
  8. ????? ????,??? ??????????? ????,OK, ?? ???? ??? ??? ???? ??????? ??? ????? ??? ???? ????:
    Private Sub cmdEnable_Click()
        Call SetEnabledState(True)
    End Sub
    					
  9. ?? ??? ????? ??? ??????????????? ???????? ???
    Private Sub cmdDisable_Click()
        Call SetEnabledState(False)
    End Sub
    					
  10. ??????? ?????? ?? ??? ???????????? ?????
?? ???????????? ???????? ???,??? ???????,??? ????????????? ????? ?? command ??exit?? command???????? ????? ???? ??? ?? ????? ????? ?? ???? ??? ?????????? ???????? ???, ?? ????????? ???? re-enabled.

?????

?? ???? ??? ????? ???? ??? ??? ????? ?? ????? ?? ????? ???? ?? ??? ???? ???? ????? ???????,??? ????????????? ????? ?? command ??exit?? command?????? ??????? ?? ????? ???? ????????? ???? ?????? ?? ???????????? ?? ????? ?? ??? ?????

????? ????? ??? ?? ?? ????? ???????? ???????? ???????? ??? ?? Microsoft Access ?? ??? ????????? ???????? ??????????? ????? ?? ??? ??? ?? ???????? ?? ????? ???? ?? ??? ?? ?? ?? ???????? ??? ?? re-enabled ?? ???? ??????? ?? ??? ???? ??? ??? ?????????? ??????? ?? ??? ???? ?? ?? ???? ?????? ?? ?? Microsoft Access ???? ??, ?? ?????????? ???? ?????? Microsoft Access ?? ????? ???? ?? ???? ????????? ??????? ??exit?? command???????? ??.. ???: ?? ?????? ???, ???? ????????? ????? ????? ????? ???????? ???? ?? ???? ??? ??????? ??????, ?????????? ???? ?? ???? ?????? ?? Microsoft Access ?? ???? ??? ???????? ??????? ??????? ??exit?? command???????? ????? ???? ?? ??? ???

???? ???? ???? ??:
  • Microsoft Office Access 2003
  • Microsoft Access 2002 Standard Edition
??????: 
kbvba kbprogramming kbhowto kbmt KB300688 KbMthi
???? ?????? ???????????? ?????? ????????
??????????: ?? ???? ?? ???? ??????? ?? ????? ?? Microsoft ????-?????? ?????????? ?????? ?????? ???? ??? ??. Microsoft ???? ??? ????-???????? ?? ????-???????? ????? ?????? ?? ???? ???????? ???? ?? ???? ????? ????? ??? ?? ??? ?????? ?? ???? ???? ???? ??? ????? ??. ???????, ????-???????? ???? ????? ???? ???? ???? ???. ?????, ????????, ?????-???? ?? ??????? ?? ???????? ?? ???? ???, ???? ?? ??? ?????? ???? ???? ??? ????? ??? ?? ???? ??. Microsoft ??????? ??? ???? ?? ?????? ?? ??????????, ????????? ?? ??? ?????? ?? ???? ????? ?? ???? ???????? ?? ??? ???? ????? ?? ??? ????????? ???? ??. Microsoft ????-?????? ?????????? ?? ????? ?????? ?? ?? ??? ??.
?????????? ?? ??????? ????????? ??????? ??:300688  (http://support.microsoft.com/kb/300688/en-us/ )