É possível desativar o Ctrl + A no Access 2007?

3

Eu quero desabilitar o comando Ctrl + A (selecione todos) no Access 2007. Isso é possível?

    
por Johan 22.11.2009 / 15:16

5 respostas

5

Você pode usar este código no Access para capturar CTRL e A e ignorá-lo. A desvantagem é que você terá que adicionar isso a cada formulário que você deseja bloquear. (o lado positivo: você não tem para bloquear todos os formulários)

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
    If KeyCode = vbKeyA And Shift = acCtrlMask Then 'Catch Ctrl+A
        KeyCode = 0 'Suppress keypress 
    End If
End Sub

Adicione isso ao evento Form > On Key Down

IMPORTANTE: Role até o final da lista de eventos e altere Key Preview para Sim .

    
por 23.11.2009 / 00:51
2

Crie uma macro chamada AutoKeys. Na primeira coluna, digite ^ A e, no segundo, escolha Beep no menu suspenso. Isso fará com que um sinal sonoro a qualquer momento ^ A seja pressionado em qualquer lugar do aplicativo.

Se você não quiser fazer absolutamente nada (ou seja, nenhum BEEP), você terá que escrever uma função para chamar que não faz nada e chamar isso com a ação RunCode.

Se você quiser permitir isso em alguns contextos e não em outros, você teria que escrever um código mais complicado para isso. Eu não tenho certeza de como esse código ficaria, já que isso levanta vários problemas interessantes.

E, claro, essa é uma pergunta do StackOverflow ...

(francamente, eu acho que toda essa questão pertencia a esse ponto o tempo todo, já que as respostas exigem escrever código ou criar algo parecido com código, ou seja, uma macro)

    
por 25.11.2009 / 04:01
1
#IfWinActive, ahk_class OMain
^a::Return
#IfWinActive

Na linguagem de automação Autohotkey .

Alternativamente:

#IfWinActive, ahk_class OMain
^a::MsgBox, Oh god oh god we're all going to die
#IfWinActive
    
por 22.11.2009 / 15:52
0

Eu não penso assim. Essa combinação de teclas é a mesma na maioria dos pacotes (não apenas nos MS) e é definida em um nível bastante básico.

É claro que é aqui que alguém entra e provou que estou errado

    
por 22.11.2009 / 15:35
0

O código a seguir seleciona todo o TEXTO em uma caixa de texto ou caixa de combinação (em vez de selecionar a tabela inteira).

Use esse código no evento KeyDown de formulário e não se esqueça de definir também a propriedade "Key Preview" nas propriedades do evento de formulário como Yes (caso contrário, ele não acionará o evento keydown para CTRL + A).

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
    If KeyCode = vbKeyA And Shift = acCtrlMask Then
        If TypeOf Me.ActiveControl Is TextBox Then
            Dim txt As TextBox
            Set txt = Me.ActiveControl
            txt.SelStart = 0
            txt.SelLength = Len(txt.text)
        ElseIf TypeOf Me.ActiveControl Is ComboBox Then
            Dim cmb As ComboBox
            Set cmb = Me.ActiveControl
            cmb.SelStart = 0
            cmb.SelLength = Len(cmb.text)
        End If
        KeyCode = 0 ' Cancel the default action (of selecting the entire table)
    End If
End Sub
    
por 23.09.2014 / 16:34