Notifications
Clear all

HAbilitar/Desabilitar Botões do menu em VBA

7 Posts
3 Usuários
0 Reactions
2,182 Visualizações
(@jean-sammy)
Posts: 30
Eminent Member
Topic starter
 

Olá pessoal andei fuçando na net mais o unico que achei nao consegui resolver meu problema é o seguinte estou querendo colocar em um menu do sistema que criei a funcção de habilitar/desabilitar o botão..exempo...eu vou fazer a busca de um cliente e nesse momento fica habilitado apenas o botão editar e quando eu clicar e editar será habilitado o botão Gravar, Excluir e Limpar..e quando eu clicar em Gravar novamente ele volte como estava antes habilitando somente o editar..eu iniciei uma Ação criando um Módulo que peguei na net mais nao consegui finaliza-la..Abaixo vou explicar como esta

Criei um Evento chamado Botoes no Módulo Painel que possui :

Public Sub Botoes(Painel As Object, strAcao As String, count As Integer)

With Painel
If (strAcao = "I" Or strAcao = "A") Then 'modo de pesquisa
.Buttons(1).Enabled = False 'Gravar
.Buttons(2).Enabled = True 'Editar
.Buttons(3).Enabled = False 'Excluir
.Buttons(4).Enabled = True 'Limpar
.Buttons(5).Enabled = True 'sair

Else ' ha registro na tabela
If count = 0 Then
.Buttons(1).Enabled = True 'Gravar
.Buttons(2).Enabled = False 'Editar
.Buttons(3).Enabled = True 'Excluir
.Buttons(4).Enabled = True 'Limpar
.Buttons(5).Enabled = True 'sair

End If
End If
End With

End Sub
********************************************************************************
No evento Initialize do meu formulário coloquei

Call Botoes(Toolbar1, "A", 0)

*******************************************************************************
E dentro do Botão Toolbar1 coloquei:

Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button)
Select Case Button.Index
Case Is = 1 'Gravar
Acao = "I"
Case Is = 2 'Editar
Acao = "A"
Case Is = 3 'excluir
Acao = ""
Case Is = 4 'Limpar
Acao = ""
Case Is = 5 'incluir

End Select

End Sub
.....

O problema é que ele nao ta fazendo a Ação de habilitar e desabilitar pq ainda falta coisas ai, eu so consigo fazer isso mudando manualmente no evento initialize Call Botoes(Toolbar1, "A", 0) tirando o A ..ai sim ele habilita o gravar,excluir e sair e colocando o A novamente ele habilita somente o Editar...

 
Postado : 01/02/2014 4:30 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa noite!!

Use a pessquisa do fórum!
viewtopic.php?f=10&t=4708
viewtopic.php?f=23&t=10181

Att

 
Postado : 01/02/2014 4:39 pm
(@jean-sammy)
Posts: 30
Eminent Member
Topic starter
 

Vlw AlexandreVba, vou da uma verificada na pesquisa

 
Postado : 01/02/2014 5:28 pm
(@jean-sammy)
Posts: 30
Eminent Member
Topic starter
 

Alexandre,

Não é bem isso que estou procurando veja no anexo q mandei os Botões, apenas o Editar, Limpar e Sair estão habilitado e quando o usuário clicasse em Editar Seria habilitado o Botão Gravar e desabilitado o Editar, e depois que ele gravasse aí o Botão Gravar fosse desabilitado ficando habilitado novamente Editar,Limpar e Sair.

 
Postado : 03/02/2014 12:48 pm
(@bilokas)
Posts: 168
Reputable Member
 

Bom, se é apenas isso que você quer, adicione o que está em verde nos respectivos locais:

Private Sub UserForm_Initialize()
botao_Editar.Enabled = True
botao_Gravar.Enabled = False
botao_Excluir.Enabled = False
botao_Limpar.Enabled = False

End Sub

Private Sub botao_Editar_Click()
botao_Editar.Enabled = True
botao_Gravar.Enabled = True
botao_Excluir.Enabled = True
botao_Limpar.Enabled = True

End Sub

Private Sub botao_Gravar_Click()
botao_Editar.Enabled = True
botao_Gravar.Enabled = False
botao_Excluir.Enabled = False
botao_Limpar.Enabled = False

End Sub

 
Postado : 03/02/2014 1:55 pm
(@jean-sammy)
Posts: 30
Eminent Member
Topic starter
 

showwwwww bilokas,, nem tinha pensado nesse comando amigo..consegui fazer o q queria c a sua dica ...muito ogridado.

 
Postado : 03/02/2014 4:48 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Caso seja necessário reabrir o tópico, o autor poderá enviar uma MP para um dos moderadores solicitando o desbloqueio.

 
Postado : 03/02/2014 5:21 pm