VB .NET - Programa Meu Diário acessando Microsoft Access 2007


Hoje temos um programa feito na linguagem VB .NET que registra eventos como um pequeno diário usando um banco de dados Microsoft Access 2007 chamado diario.accdb.

A string de conexão usada no projeto esta armazenada no arquivo App.Config e é vista a seguir:

...
<connectionStrings>
        <add name="MeuDiario.My.MySettings.diaryConnectionString" connectionString="Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\diario.accdb;Persist Security Info=True;Jet OLEDB:Database Password=******"
            providerName="System.Data.OleDb" />
</connectionStrings>
...

O programa usa os recursos do DatSet, TableAdapter, BindingSource, BindingNavigator para gerenciar as informações de um pequeno diário.

O formulário de Login solicita a senha do usuário para poder abrir o diário:

A senha fica armazenada no arquivo de configuração do usuário usando o recurso My.Settings (estamos usando o escopo User):

 Private Sub btnAbrirDiario_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAbrirDiario.Click
        If txtPassword.Text = My.Settings.Password Then
            Me.Hide()
            FormMain.Show()
        Else
            MsgBox("Senha Inválida!", MsgBoxStyle.Critical)
        End If
    End Sub

Se você esqueceu a senha poderá recuperá-la. Para isso basta responder a questão secreta:

O formulário principal permite incluir, alterar, excluir , localizar e navegar pelos registros do diário :

A seguir, como exemplo, temos o código para salvar uma nova entrada no diário onde vemos o método AddNew() do BindingSource sendo usado para esta tarefa:

 Private Sub btnNovo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnNovo.Click
        If MsgBox("Deseja criar Nova Entrada no diário ?", MsgBoxStyle.Information + MsgBoxStyle.YesNo) = MsgBoxResult.Yes Then
            DiaryBindingSource.AddNew()
            txtEntrada.ReadOnly = False
            txtTitulo.ReadOnly = False
            cboCategoria.DropDownStyle = ComboBoxStyle.DropDownList
            cboCategoria.Text = ""
            maskData.Text = Date.Now()
            txtTitulo.Focus()
        Else
            txtEntrada.ReadOnly = True
            txtTitulo.ReadOnly = True
        End If
    End Sub

Para configurar a senha e a questão secreta e sua resposta temos o formulário a seguir:

O código mostra que o valores são armazenados no arquivo de configuração do usuário usando o recurso My.Settings:

 Private Sub btnSalvar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSalvar.Click
        If txtSenhaAtual.Text = My.Settings.Password Then
            If txtNovaSenha.Text = "" Or txtVerificaSenha.Text = "" Or cboQuestaoSecreta.Text = "" Or txtRespostaSecreta.Text = "" Then
                MsgBox("Preencha todos os campos.", MsgBoxStyle.Exclamation)
            ElseIf txtNovaSenha.Text = txtVerificaSenha.Text Then
                My.Settings.Password = txtNovaSenha.Text
                My.Settings.SecAns = txtRespostaSecreta.Text
                My.Settings.SecQues = cboQuestaoSecreta.Text
                My.Settings.Save()
                MsgBox("Configurações Salvas!", MsgBoxStyle.Information)
                Me.Close()
            Else
                MsgBox("A nova senha não confere !", vbCritical)
            End If
        Else
            MsgBox("A senha atual não confere !", vbCritical)
        End If
    End Sub

Você não precisa de um canhão para matar uma mosca, não é mesmo ?

Dessa forma esta pequena aplicação pessoal pode ser feita rapidamente usando os recursos nativos do Visual Basic .NET.

Pegue o projeto completo aqui: DiarioVBNET.zip

Veja os Destaques e novidades do SUPER DVD Visual Basic  (sempre atualizado) : clique e confira !

Quer migrar para o VB .NET ?

Veja mais sistemas completos para a plataforma .NET no Super DVD .NET , confira...

Quer aprender C# ??

Chegou o Super DVD C#  com exclusivo material de suporte e vídeo aulas com curso básico sobre C#.

Veja também os Cursos com vídeo aulas e projetos exemplos:

    Gostou ?   Compartilhe no Facebook   Compartilhe no Twitter

Referências:


José Carlos Macoratti