E ai vai um excelente exercÃcio e complemento pro módulo de Access 2010. Que tal colocar uma calculadora rápida para treinar seu VBA em Access?
Crie um formulário e quando for criar os módulos use a codificação abaixo. Boa sorte e se puder comente o resultado.
- Clique com o botão direito do mouse em cima do botão que vai receber o código e lembre que cada sub levou o nome do botão como padrão para facilitar a programação.
- Depois de clicar no Construtor de eventos, selecione a terceira opção para construirmos um código.
- Feito isso vá até inserir Módulo e só depois comece a programação.
Bóra programar... coloque os códigos e note que fiz algumas anotações para ajudar a identificar o que foi feito. Sempre que possÃvel comente seu código para facilitar ações futuras de suporte.
Option Compare Database
Option Explicit
______________________________________________________________________
Private Sub cmdArredondar_Click()
If IsNumeric(txtResultado) Then
Me.txtResultado = Int(Me.txtResultado) 'int arredonda para um número inteiro sempre para menos
Else
MsgBox "Resultado deve conter números Refaça os cálculos.", vbCritical, "Atenção"
End If
'No VBA o resultado armazenado na memória pode ser usado agora, o que não é possivel no excel por gerar uma referência circular
End Sub
______________________________________________________________________
Private Sub cmdDividir_Click()
Call testar
Me.txtResultado = Me.txtNum1 / Me.txtNum2
End Sub
Private Sub cmdLimpar_Click()
Me.txtNum1 = "" 'Pode-se usar null, "" ou empty para informar vazio
Me.txtNum2 = Null
Me.txtResultado = Empty
End Sub
______________________________________________________________________
Private Sub cmdMultiplicar_Click()
Call testar
Me.txtResultado = Me.txtNum1 * Me.txtNum2
End Sub
______________________________________________________________________
Private Sub cmdpotencia_click()
Dim resposta As String
Dim potencia As String
Call testar
resposta = MsgBox("Deseja calcular a Potência com o Número1 ou com o Número2?" _
& vbLf & "Sim=Número1 e Não=Número2", vbYesNo + vbQuestion, "Cálculo de Raiz")
If resposta = vbYes Then
potencia = InputBox("Qual é a potência desejada?" & vbLf & "Digite números inteiros.")
If IsNumeric(potencia) Then
Me.txtResultado = Me.txtNum1 ^ potencia
MsgBox "Potência com o número 1!"
Else
MsgBox "Favor digitar uma potência númerica."
End
End If
Else
potencia = InputBox("Qual é a potência desejada?" & vbLf & "Digite números inteiros.")
If IsNumeric(potencia) Then
Me.txtResultado = Me.txtNum2 ^ potencia
MsgBox "Potência com o número 2!"
Else
MsgBox "Favor digitar uma potência númerica."
End If
End If
End Sub
______________________________________________________________________
Private Sub cmdRaiz_Click()
Dim resposta As String
Call testar
resposta = MsgBox("Deseja fazer rais quadrada do Número1?", vbYesNo + vbQuestion, "Calculo de Raiz")
If resposta = vbYes Then
Me.txtResultado = Sqr(Me.txtNum1) 'Sqr é usado para calcular a raiz quadrada
MsgBox "Raiz quadrada do número1"
Else
Me.txtResultado = Sqr(Me.txtNum2)
MsgBox "Raiz quadrada do número2"
End If
End Sub
______________________________________________________________________
'Este botão deve somar duas caixas de texto e mostrar na caixa de resultado
Private Sub cmdSomar_Click() 'Quando o usuário clicar no cmdSomar, será chamado o procedimento testar
Call testar
Me.txtResultado = CSng(Me.txtNum1) + CSng(Me.txtNum2)
End Sub
Sub testar()
If Not IsNumeric(Me.txtNum1) Or Not IsNumeric(Me.txtNum2) Then 'Aparece a caixa de mensagem se o Me.txtNum1 e Me.txtNum2 não forem numéricos
'Use o me para puxar os itens que existem no formulário
'Quando iniciado com c estamos informando que o dado ali esta sendo convertido para um determinado formato
MsgBox "Fanfarrão digite apenas números", vbCritical, "Atenção" 'vbCritical vai adicionar um icone a msgbox
End
End If
End Sub
______________________________________________________________________
Private Sub cmdSubtrair_Click()
Call testar
Me.txtResultado = Me.txtNum1 - Me.txtNum2
End Sub