none
Conectando VB.NET com Access RRS feed

  • Pergunta

  • Olá Amigos,

    Estou fazendo a conexão do VB.NET com Access com uma forma prática e simples, quando arrasto a Tabela, na opção DataSources, no VS, para alguma Form, lá aparece os Campos Criados no Access. Em cima, aparece uma BindingNavigator. Onde nele tem botões para "Salvar", "Adicionar", "Excluir", etc.

    Gostaria de pegar o código fonte destes botões! Vou postar a imagem, para ver se vocês tem alguma noção do que se trata.

    Como Por Exemplo, dando Click Duplo no Botão Salvar, aparece o Seguinte Código:

    Me.Validate()
    Me.Tabela1BindingSource.EndEdit()
    Me.TableAdapterManager.UpdateAll(Me.Conexão_VBDataSet)

    E em quanto aos outros? Adicionar, DeleteItem? 

    Aguardo, e Obrigado!

    sexta-feira, 25 de julho de 2014 00:42

Respostas

  • Tá aí o código para adicionar um novo registro

        Dim Cn As New OleDbConnection(StrConexaoLocal)
                    Dim SQL As New System.Text.StringBuilder()
                    With SQL
                        .Append("INSERT INTO CONEXOES ")
                        .Append("(CONEXAO, USUARIO, SENHA, IP, ")
                        .Append(" PORTA, PROTOCOLO, SID, PADRAO )")
                        .Append(" VALUES ('" & txtConexao.Text & "', '" & txtUsuario.Text & "', '" & txtSenha.Text & "', '" & txtIp.Text & "', '" & txtPorta.Text & "','" & txtProtocolo.Text & "', '" & txtSID.Text & "', 'NAO')")
                    End With
                    Cn.Open()
                    Dim Cmd As New OleDbCommand(SQL.ToString, Cn)
                    Cmd.ExecuteNonQuery()
                    Cn.Close()
                    SB.Text = "CONEXÃO INSERIDA COM SUCESSO"

    sexta-feira, 25 de julho de 2014 23:44
  • Para deletar um especifico

      If MessageBox.Show("Deseja deletar esta conexão?", "Atenção", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = Windows.Forms.DialogResult.Yes Then

                Dim Cn As New OleDbConnection(StrConexaoLocal)
                Dim SQL As String = "DELETE * FROM CONEXOES WHERE CONEXAO LIKE '" & cbSelecionaConexao.Text & "'"
                Dim Cmd As New OleDbCommand(SQL, Cn)
                Cn.Open()
                Cmd.ExecuteNonQuery()
                Cn.Close()
                SB.Text = "CONEXÃO DELETADA COM SUCESSO."
                CarregaConexoes()
                PreencheConexoes()
            Else
                SB.Text = "CANCELADO PELO USUÁRIO"
            End If

    é somente adaptar os códigos

    sexta-feira, 25 de julho de 2014 23:45
  • É issom sim, no clique do adicionar, você limpa o valor das caixas de texto, em seguida você entra com os valores nas caixas de texto que você quer adicionar como registro, adiciona no banco, atualiza o grid. o Código está todo aí.
    segunda-feira, 28 de julho de 2014 11:22

Todas as Respostas

  • Boa tarde,

    Você quer programar os botões, ou você ja programou e quer que exiba os codigos?

    Att,


    Ricardo Cortes Microsoft Contingent Staff

    Esse contedo e fornecido sem garantias de qualquer tipo, seja expressa ou implicita.

    MSDN Community Support

    sexta-feira, 25 de julho de 2014 18:38
  • É melhor você fazer os códigos no braço.

    Primeiro importe o namespace para o seu projeto

    'crie a string de conexão

    'utilize os métodos para abstrair o sql, conexao e abrir a conexão com o banco.

    a string de conexão dependendo da versão do seu access, você pode ver aqui

    http://www.connectionstrings.com/

    para o 2007 ++

    este é um exemplo pois o banco fica dinamico indo junto com o instalador sem necessidade de pasta especifica para o banco.      

                CaminhoArquivos = Application.StartupPath
                StrConexaoLocal = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & CaminhoArquivos & "\Dados.accdb" & ";Persist Security Info=False"

    um exemplo de não consulta (insert, delete, update... você chama o executenonquery)

    Dim SqlDeletar As String = "DELETE * FROM DADOS"
                    Dim ConexaoDeletar As New OleDbConnection(StrConexaoLocal)
                    Dim CommandDeletar As New OleDbCommand(SqlDeletar, ConexaoDeletar)
                    ConexaoDeletar.Open()
                    CommandDeletar.ExecuteNonQuery()
                    ConexaoDeletar.Close()

    um exemplo de consulta e passa para um dataset
       Dim SqlContatos As String = "SELECT NOME, IP, CHAVE FROM CONTATOS"
            Dim ConexaoContatos As New OleDbConnection(StrConexaoLocal)
            Dim CmdContatos As New OleDbCommand(SqlContatos, ConexaoContatos)
            Dim DaContatos As New OleDbDataAdapter(CmdContatos)
            DsContatos.Clear()
            ConexaoContatos.Open()
            DaContatos.Fill(DsContatos, "CONTATOS")
            ConexaoContatos.Close()
            Dim TabelaContatos As DataTable
            Dim LinhaContatos As DataRow
            frmPrincipal.CbContato.Items.Clear()
            frmPrincipal.CbContato.Items.Add("")
            For Each TabelaContatos In DsContatos.Tables
                For Each LinhaContatos In TabelaContatos.Rows
                    frmPrincipal.CbContato.Items.Add(LinhaContatos.Item(0).ToString)
                Next LinhaContatos
            Next TabelaContatos

    aqui eu postei a mesma solução tá mais completo

    http://social.msdn.microsoft.com/Forums/pt-BR/f708337d-e0b4-4628-adfb-068b84ba1e37/no-estou-conseguindo-realizar-gravao-eou-alterao-de-dados-no-bd-usando-o-vbnet?forum=vsvbasicpt


    • Sugerido como Resposta tzonda sexta-feira, 25 de julho de 2014 23:49
    sexta-feira, 25 de julho de 2014 19:18
  • o Dataset é o DSCONTATOS

    em que eu declarei em módulo

    DaContatos.Fill(DsContatos, "CONTATOS")

    sexta-feira, 25 de julho de 2014 19:20
  • Olá,

    Isto mesmo Amigo,

    Quero apenas saber o cod dos botões Add new Item e Delete Item, que estão no BindingNavigator

    sexta-feira, 25 de julho de 2014 22:14
  • Amigo, na verdade os botões já estão prontos, no BindingNavigator, como mostrado acima. Gostaria apenas do cod do add new item "+" 
    • Editado ddggem95 sexta-feira, 25 de julho de 2014 23:20
    sexta-feira, 25 de julho de 2014 22:51
  • Boa tarde,

    Você quer programar os botões, ou você ja programou e quer que exiba os codigos?

    Att,


    Ricardo Cortes Microsoft Contingent Staff

    Esse contedo e fornecido sem garantias de qualquer tipo, seja expressa ou implicita.

    MSDN Community Support

    Amigo, na verdade os botões já estão prontos, no BindingNavigator, como mostrado acima. Gostaria apenas do cod do add new item "+" 

    sexta-feira, 25 de julho de 2014 23:42
  • Tá aí o código para adicionar um novo registro

        Dim Cn As New OleDbConnection(StrConexaoLocal)
                    Dim SQL As New System.Text.StringBuilder()
                    With SQL
                        .Append("INSERT INTO CONEXOES ")
                        .Append("(CONEXAO, USUARIO, SENHA, IP, ")
                        .Append(" PORTA, PROTOCOLO, SID, PADRAO )")
                        .Append(" VALUES ('" & txtConexao.Text & "', '" & txtUsuario.Text & "', '" & txtSenha.Text & "', '" & txtIp.Text & "', '" & txtPorta.Text & "','" & txtProtocolo.Text & "', '" & txtSID.Text & "', 'NAO')")
                    End With
                    Cn.Open()
                    Dim Cmd As New OleDbCommand(SQL.ToString, Cn)
                    Cmd.ExecuteNonQuery()
                    Cn.Close()
                    SB.Text = "CONEXÃO INSERIDA COM SUCESSO"

    sexta-feira, 25 de julho de 2014 23:44
  • Para deletar um especifico

      If MessageBox.Show("Deseja deletar esta conexão?", "Atenção", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = Windows.Forms.DialogResult.Yes Then

                Dim Cn As New OleDbConnection(StrConexaoLocal)
                Dim SQL As String = "DELETE * FROM CONEXOES WHERE CONEXAO LIKE '" & cbSelecionaConexao.Text & "'"
                Dim Cmd As New OleDbCommand(SQL, Cn)
                Cn.Open()
                Cmd.ExecuteNonQuery()
                Cn.Close()
                SB.Text = "CONEXÃO DELETADA COM SUCESSO."
                CarregaConexoes()
                PreencheConexoes()
            Else
                SB.Text = "CANCELADO PELO USUÁRIO"
            End If

    é somente adaptar os códigos

    sexta-feira, 25 de julho de 2014 23:45
  • Olá Amigo,

    Sua Resposta não ajudou, pois a pergunta também não foi coerente. Quero código apenas do Botão Adicionar Novo Item, que tem como FUNÇÃO Limpar todas as Texts e Gera Novos Campos das Colunas do Banco de Dados.

    Muito Obrigado,

    Abraços'



    • Editado ddggem95 sábado, 26 de julho de 2014 22:33
    sábado, 26 de julho de 2014 22:33
  • É issom sim, no clique do adicionar, você limpa o valor das caixas de texto, em seguida você entra com os valores nas caixas de texto que você quer adicionar como registro, adiciona no banco, atualiza o grid. o Código está todo aí.
    segunda-feira, 28 de julho de 2014 11:22