domingo, 4 de maio de 2014

12.2. Salvando e alterando dados através do formulário


12.2. Salvando e alterando dados através do formulário

            No capítulo 8, vimos como inserir dados em uma planilha através do formulário de forma bem simples. Porém, naquela oportunidade, vimos apenas como inserir registros linha a linha, sem a possibilidade de alterá-los.

            Pensa direitinho my friend. E precisarmos alterar as informações que já cadastramos?

            Vamos aprender então, além de salvar, alterar os dados que já foram inseridos na planilha.

            Para facilitar a compreensão, daremos sequência ao formulário que estamos construindo, acrescentando um botão, que chamaremos Cb_Salvar.

 


            Criaremos as rotinas chamadas Salva_Reg e Limpa_Reg respectivamente. Esta segunda, será para limpar os controles e permitir uma nova digitação.

 

Function Salva_Reg()

    Dim ShtFunc                                     'declara a variável da planilha

      

    Set ShtFunc = Sheets("Plan4")                   'seta a planilha que será utilizada

    'captura a última linha usada da plna e incrementa mais uma para colar o registro na imediatamente vazia

    If ComboBox1.ListIndex = -1 Then                'se não houver item selecionado

        UltLin = ShtFunc.Cells(Rows.Count, 1).End(xlUp).Row + 1 'defina a linha da planilha onde o registro será inserido

    Else                                            'se já houver um item selecionado, precisamos apenas atualizar o registro

        UltLin = ComboBox1.ListIndex + 2

    End If

    With ShtFunc                                    'insere dos dados na planilhas

        ShtFunc.Cells(UltLin, 1) = Txt_Nome

        ShtFunc.Cells(UltLin, 2) = Txt_Sal

        ShtFunc.Cells(UltLin, 3) = Txt_Cargo

    End With
 
End Function

Após inserirmos os dados, vamos automatizar uma rotina para limpar os campos para que possamos inserir novos dados. Veja a rotina abaixo(Moleza!).

Function Limpa_Reg()

    With PreencheListBox                            'considerando os controles do nosso formulário

        Txt_Nome = ""                               'vamos limpa-los

        Txt_Sal = ""

        Txt_Cargo = ""

        Txt_Nome.SetFocus                           'e trazer o foco para o 1º campo a ser digitado

    End With

End Function

            Finalmente, vamos chamar as rotinas através do botão Salvar

Private Sub Cb_Salvar_Click()

    Salva_Reg

    Limpa_Reg

End Sub

 

            É só fazer os testes, perceba que se você selecionar algum nome na ListBox ou ComboBox, ele será alterado quando o botão Salvar for clicado, do contrário, será inserido um novo registro.


Para acessar o curso completo Clique aqui

Nenhum comentário: