Tenho um splitform no MS Access, onde inseri vários botões de comando.
Da esquerda para a direita nomeados:
- (A) cmdClearAllFilter
- (B) cmdFilterBySelection
- (C) cmdFiltroPorFormulário
- (D) cmdToggleFilter
Quero que os botões executem exatamente as mesmas operações que os botões na faixa de opções.
Consegui que (A) e (C) funcionassem com o seguinte VB:
Private Sub cmdClearAllFilter_Click()
DoCmd.RunCommand acCmdRemoveFilterSort
End Sub
Private Sub cmdFilterByForm_Click()
DoCmd.RunCommand acCmdFilterByForm
End Sub
No entanto, ainda tenho problemas com (B) e (D). Quero que eles se comportem como um clique nos botões da faixa de opções marcados abaixo (de preferência, DoCmd.RunCommand
caso contrário, com VB personalizado):
Para (B) eu tentei:
Private Sub cmdFilterBySelection_Click()
DoCmd.RunCommand acCmdFilterBySelection
End Sub
Não consigo descrever o comportamento, pois não entendo completamente o que ele faz. Só posso concluir que ele não se comporta como o botão da faixa de opções (menu suspenso que oferece 4 opções de filtro na célula/campo/propriedade/valor marcado).
Para (D) eu tentei:
Private Sub cmdToggleFilter_Click()
DoCmd.RunCommand acCmdToggleFilter
End Sub
Há dois problemas com isso:
- O botão não pode ser clicado antes que o botão Filtro de alternância real da faixa de opções seja clicado uma vez.
- Se o botão da faixa de opções não estiver disponível (esmaecido), um clique no botão de comando causará um erro, que presumo que possa ser resolvido por:
On Error Resume Next
.
Qualquer ajuda ou orientação é bem-vinda.